SlideShare uma empresa Scribd logo
1 de 46
Baixar para ler offline
REST, Gateways e
 Compiladores
      Rodrigo Dias Arruda Senra
      PyConBrasil 2008 - RJ
REST, Gateways e
 Compiladores
      Rodrigo Dias Arruda Senra
      PyConBrasil 2008 - RJ
Apenas um rapaz latino americano...


  • Entusiasta de Python
  • Desenvolvedor e Projetista
    GPr Sistemas desde 1996
    HI Tecnologia desde 2007

  • Engenheiro de Computação
    Graduação-MSc-PhD IC/Unicamp
Quem está aí ?
Quem está aí ?
✓Profissionais de
  Informática
Quem está aí ?
✓Profissionais de
  Informática

✓Desenvolvedores
Quem está aí ?
✓Profissionais de
  Informática

✓Desenvolvedores
✓Estudantes
Quem está aí ?
✓Profissionais de
  Informática

✓Desenvolvedores
✓Estudantes
✓Professores
Quem está aí ?
✓Profissionais de
  Informática

✓Desenvolvedores
✓Estudantes
✓Professores
✓1ª vez na PyConBrasil
Quem está aí ?
✓Profissionais de
  Informática

✓Desenvolvedores
✓Estudantes
✓Professores
✓1ª vez na PyConBrasil
✓Membros APyBr
Quem está aí ?
✓Profissionais de
    Informática

✓Desenvolvedores
✓Estudantes
✓Professores
✓1ª vez na PyConBrasil
✓Membros APyBr
•   Nenhuma resposta acima!
O Contexto   ferramentas ISIS
O Projeto    ISIS-NBP
O Problema   *Idade
A Solução    dá lhe Python!
O Convite    http://reddes.bvsaude.org
Anatomia do Blá
O Contexto   ferramentas ISIS
O Projeto    ISIS-NBP
O Problema   *Idade
A Solução    dá lhe Python!
O Convite    http://reddes.bvsaude.org
Anatomia do Blá
O Contexto   ferramentas ISIS
O Projeto    ISIS-NBP
O Problema   *Idade
             Flexibilidade, Interoperabilidade, Compatibilidade,
             Escalabilidade, Facilidade, Portabilidade,...


A Solução    dá lhe Python!
O Convite    http://reddes.bvsaude.org
Anatomia do Blá
O Contexto   ferramentas ISIS
O Projeto    ISIS-NBP
O Problema   *Idade
             Flexibilidade, Interoperabilidade, Compatibilidade,
             Escalabilidade, Facilidade, Portabilidade,...


A Solução    dá lhe Python!
             IPython, Twisted, Django, PyOpenSSL, PyCrypto,
             PLY,... e grande elenco!


O Convite    http://reddes.bvsaude.org
O Mundo ISIS
O Mundo ISIS
1975 - CDS/ISIS (VAX)
1985 - Micro-ISIS (DOS),CISIS (Unix/DOS), Isis-Pascal
1995 - ISIS_DLL, WinISIS, JavaISIS, WWWISIS
2005 - WXIS, GenISIS, WebLIS, OpenISIS (PHP)
2008 - J-ISIS (Java), ABCD(PHP+CISIS)
2009 - ISIS-NBP 1.0 (Python)
O Mundo ISIS
O Mundo ISIS
O Mundo ISIS
O Mundo ISIS
O Mundo ISIS
O Mundo ISIS
Modelo de Dados ISIS
    •   chaves inteiras (registro e campo)
    •   chave letra (subcampo)
    •   hierarquia limitada (4 níveis)
    •   repetibilidade e linguagem de formatação

MFN: 1
69: Paper on: <plant physiology><plant transpiration><measurement and instruments>
70: Magalhaes, A.C.
70: Franco, C.M.
44: Methodology of plant eco-physiology: proceedings of the Montpellier Symposium
50: Incl. bibl.
24: Techniques for the measurement of transpiration of individual plants
26: ^aParis^bUnesco^c-1965
30: ^ap. 211-224^billus.
Layout das Bases ISIS
   Master File (.mst)

        Control Record

          Data Record


          Data Record


          Data Record

                ...
Layout das Bases ISIS
   Master File (.mst)

        Control Record

          Leader Section
          Data Record
         Directory Section
          Data Record

         Raw Data Section
          Data Record

                ...
Layout das Bases ISIS
   Master File (.mst)

        Control Record

          Data Record


          Data Record


          Data Record

                ...
Layout das Bases ISIS
            Master File (.mst)
(.xrf)
  1              Control Record
  2
  3
  4
                   Data Record
  5
  6
  ...              Data Record


                   Data Record

                         ...
Layout das Bases ISIS
            Master File (.mst)
(.xrf)
  1              Control Record
  2
  3
  4
                   Data Record
  5
  6
  ...              Data Record


                   Data Record

                         ...
Arquitetura de Aplicações
Projeto ISIS-NBP

          Database




Console   Engine     Gateway
Projeto ISIS-NBP

          Database




Console
IPython   Engine     Gateway
Projeto ISIS-NBP

          Database


                     PyOpenSSL, PyCrypto


Console
IPython   Engine            Gateway
                            Twisted
                                           SSH
                                      HTTP
Projeto ISIS-NBP

             Database
          ISIS native DB

              OIM
                      PyOpenSSL, PyCrypto


Console
IPython      Engine          Gateway
                             Twisted
                                            SSH
                                       HTTP
Projeto ISIS-NBP

             Database
          ISIS native DB

              OIM
                      PyOpenSSL, PyCrypto


Console
IPython      Engine          Gateway
                             Twisted
                                            SSH
                Django
                           XML-RPC HTTP
Projeto ISIS-NBP

              Database
           ISIS native DB

                OIM
                         PyOpenSSL, PyCrypto


Console
IPython         Engine          Gateway
                                Twisted
                                               SSH
          PLY      Django
                            XML-RPC HTTP
Projeto ISIS-NBP

               Database
            ISIS native DB

                OIM
                         PyOpenSSL, PyCrypto
          nosetest
Console
IPython         Engine          Gateway
                                Twisted
                                               SSH
          PLY        Django
                              XML-RPC HTTP
Projeto ISIS-NBP
ZODB, Durus,...
                                             WebDAV
  BDB, XML,...       Database
                  ISIS native DB       RSS, OAI-PMH
                                              JSON
                      OIM
                              PyOpenSSL, PyCrypto
             nosetest
  Console
  IPython            Engine          Gateway
                                     Twisted
                                                    SSH
              PLY       Django
                                   XML-RPC HTTP
Twisted + Django
from django.conf import settings
settings.configure(DEBUG=True,
                     DEFAULT_CHARSET=config.OUTPUT_ENCODING,
                     ROOT_URLCONF = 'pyisis.web.urls',
                     INSTALLED_APPS = ('django.contrib.contenttypes', ...),
                    MIDDLEWARE_CLASSES = ('CommonMiddleware',...),
                    ...)
wsgires = wsgi.WSGIResource(AdminMediaHandler(WSGIHandler()))
res = log.LogWrapperResource(wsgires)
log.FileAccessLoggingObserver(config.WEB_LOG).start()
site = server.Site(res)
reactor.listenTCP(config.HTTP_PORT, channel.HTTPFactory(site))
Demo !
Demo !
 Dá tempo de ver
o Python em ação ?
    É possível ?
Seria pedir muito ?
Arquitetura ISIS-NBP
Arquitetura ISIS-NBP
Arquitetura ISIS-NBP
Convite


http://reddes.bvsaude.org/projects/isisnbp/
  isisnbp-devel@listas.bireme.br
Obrigado a todos
                         pela atenção.

                            Rodrigo Dias Arruda Senra
                                 http://rodrigo.senra.nom.br
                                      rsenra@acm.org


As opiniões e conclusões expressas nesta apresentação são de exclusiva responsabilidade de Rodrigo Senra.

Não é necessário requisitar permissão do autor para o uso de partes ou do todo desta apresentação, desde que
não sejam feitas alterações no conteúdo reutilizado e que esta nota esteja presente na íntegra no material
resultante.

Imagens e referências para outros trabalhos nesta apresentação permanecem propriedade daqueles que detêm
seus direitos de copyright.

Mais conteúdo relacionado

Destaque

Python Brasil 2010 - Potter vs Voldemort - Lições ofidiglotas da prática Pyth...
Python Brasil 2010 - Potter vs Voldemort - Lições ofidiglotas da prática Pyth...Python Brasil 2010 - Potter vs Voldemort - Lições ofidiglotas da prática Pyth...
Python Brasil 2010 - Potter vs Voldemort - Lições ofidiglotas da prática Pyth...Rodrigo Senra
 
Depurador onisciente
Depurador oniscienteDepurador onisciente
Depurador oniscienteRodrigo Senra
 
Tech talk about iswc2013
Tech talk about iswc2013Tech talk about iswc2013
Tech talk about iswc2013Rodrigo Senra
 
Organicer: Organizando informação com Python
Organicer: Organizando informação com PythonOrganicer: Organizando informação com Python
Organicer: Organizando informação com PythonRodrigo Senra
 
Uma breve história no tempo...da computação
Uma breve história no tempo...da computaçãoUma breve história no tempo...da computação
Uma breve história no tempo...da computaçãoRodrigo Senra
 
Linked data at globo.com
Linked data at globo.comLinked data at globo.com
Linked data at globo.comRodrigo Senra
 
Rest - Representational State Transfer (EMC BRDC Internal Tech talk)
Rest - Representational State Transfer (EMC BRDC Internal Tech talk)Rest - Representational State Transfer (EMC BRDC Internal Tech talk)
Rest - Representational State Transfer (EMC BRDC Internal Tech talk)Rodrigo Senra
 
Brainiak - uma API REST Hipermedia
Brainiak - uma API REST Hipermedia Brainiak - uma API REST Hipermedia
Brainiak - uma API REST Hipermedia Rodrigo Senra
 
Python: A Arma Secreta do Cientista de Dados
Python: A Arma Secreta do Cientista de DadosPython: A Arma Secreta do Cientista de Dados
Python: A Arma Secreta do Cientista de DadosRodrigo Senra
 
Cientista de Dados - A profissão mais sexy do século 21
Cientista de Dados - A profissão mais sexy do século 21Cientista de Dados - A profissão mais sexy do século 21
Cientista de Dados - A profissão mais sexy do século 21Rodrigo Senra
 
pa-pe-pi-po-pure Python Text Processing
pa-pe-pi-po-pure Python Text Processingpa-pe-pi-po-pure Python Text Processing
pa-pe-pi-po-pure Python Text ProcessingRodrigo Senra
 
Seminário MotherBoard
Seminário MotherBoardSeminário MotherBoard
Seminário MotherBoardRodrigo Rosa
 
Manutenção de Micro- Aula 01
Manutenção de Micro- Aula 01Manutenção de Micro- Aula 01
Manutenção de Micro- Aula 01Roney Sousa
 
Manutenção preventiva m+ limpeza interna
Manutenção preventiva m+ limpeza internaManutenção preventiva m+ limpeza interna
Manutenção preventiva m+ limpeza internaFBTEC-INFO
 
1º assunto ferramentas para montagem e manutenção de computadores
1º assunto   ferramentas para montagem e manutenção de computadores1º assunto   ferramentas para montagem e manutenção de computadores
1º assunto ferramentas para montagem e manutenção de computadoresCleiton Cunha
 
3° unidade (placa mãe)
3° unidade (placa mãe)3° unidade (placa mãe)
3° unidade (placa mãe)André Lopes
 
Curso de Manutenção Preventiva
Curso de Manutenção PreventivaCurso de Manutenção Preventiva
Curso de Manutenção PreventivaPaula Pereira
 
Python: a arma secreta do Cientista de Dados
Python: a arma secreta do Cientista de DadosPython: a arma secreta do Cientista de Dados
Python: a arma secreta do Cientista de DadosRodrigo Senra
 

Destaque (20)

Python Brasil 2010 - Potter vs Voldemort - Lições ofidiglotas da prática Pyth...
Python Brasil 2010 - Potter vs Voldemort - Lições ofidiglotas da prática Pyth...Python Brasil 2010 - Potter vs Voldemort - Lições ofidiglotas da prática Pyth...
Python Brasil 2010 - Potter vs Voldemort - Lições ofidiglotas da prática Pyth...
 
Depurador onisciente
Depurador oniscienteDepurador onisciente
Depurador onisciente
 
Tech talk about iswc2013
Tech talk about iswc2013Tech talk about iswc2013
Tech talk about iswc2013
 
Organicer: Organizando informação com Python
Organicer: Organizando informação com PythonOrganicer: Organizando informação com Python
Organicer: Organizando informação com Python
 
Uma breve história no tempo...da computação
Uma breve história no tempo...da computaçãoUma breve história no tempo...da computação
Uma breve história no tempo...da computação
 
Cientista de Dados
Cientista de DadosCientista de Dados
Cientista de Dados
 
Linked data at globo.com
Linked data at globo.comLinked data at globo.com
Linked data at globo.com
 
Rest - Representational State Transfer (EMC BRDC Internal Tech talk)
Rest - Representational State Transfer (EMC BRDC Internal Tech talk)Rest - Representational State Transfer (EMC BRDC Internal Tech talk)
Rest - Representational State Transfer (EMC BRDC Internal Tech talk)
 
Brainiak - uma API REST Hipermedia
Brainiak - uma API REST Hipermedia Brainiak - uma API REST Hipermedia
Brainiak - uma API REST Hipermedia
 
Python: A Arma Secreta do Cientista de Dados
Python: A Arma Secreta do Cientista de DadosPython: A Arma Secreta do Cientista de Dados
Python: A Arma Secreta do Cientista de Dados
 
Cientista de Dados - A profissão mais sexy do século 21
Cientista de Dados - A profissão mais sexy do século 21Cientista de Dados - A profissão mais sexy do século 21
Cientista de Dados - A profissão mais sexy do século 21
 
pa-pe-pi-po-pure Python Text Processing
pa-pe-pi-po-pure Python Text Processingpa-pe-pi-po-pure Python Text Processing
pa-pe-pi-po-pure Python Text Processing
 
Seminário MotherBoard
Seminário MotherBoardSeminário MotherBoard
Seminário MotherBoard
 
Manutenção de Micro- Aula 01
Manutenção de Micro- Aula 01Manutenção de Micro- Aula 01
Manutenção de Micro- Aula 01
 
Manutenção preventiva m+ limpeza interna
Manutenção preventiva m+ limpeza internaManutenção preventiva m+ limpeza interna
Manutenção preventiva m+ limpeza interna
 
1º assunto ferramentas para montagem e manutenção de computadores
1º assunto   ferramentas para montagem e manutenção de computadores1º assunto   ferramentas para montagem e manutenção de computadores
1º assunto ferramentas para montagem e manutenção de computadores
 
3° unidade (placa mãe)
3° unidade (placa mãe)3° unidade (placa mãe)
3° unidade (placa mãe)
 
Motherboard
MotherboardMotherboard
Motherboard
 
Curso de Manutenção Preventiva
Curso de Manutenção PreventivaCurso de Manutenção Preventiva
Curso de Manutenção Preventiva
 
Python: a arma secreta do Cientista de Dados
Python: a arma secreta do Cientista de DadosPython: a arma secreta do Cientista de Dados
Python: a arma secreta do Cientista de Dados
 

Semelhante a REST, Gateways e Compiladores em Python

Python: Cabe no seu bolso, cabe no seu micro, cabe no seu cérebro!
Python: Cabe no seu bolso, cabe no seu micro, cabe no seu cérebro!Python: Cabe no seu bolso, cabe no seu micro, cabe no seu cérebro!
Python: Cabe no seu bolso, cabe no seu micro, cabe no seu cérebro!iMasters
 
O que podemos fazer com Python?
O que podemos fazer com Python?O que podemos fazer com Python?
O que podemos fazer com Python?Izabela Guerreiro
 
Node.JS - Campus Party Brasil 2011
Node.JS - Campus Party Brasil 2011Node.JS - Campus Party Brasil 2011
Node.JS - Campus Party Brasil 2011Emerson Macedo
 
Secomp 2011 - Node.JS - Introdução
Secomp 2011 - Node.JS - IntroduçãoSecomp 2011 - Node.JS - Introdução
Secomp 2011 - Node.JS - IntroduçãoEmerson Macedo
 
Desenvolvimento de aplicações PHP com MongoDB
Desenvolvimento de aplicações PHP com MongoDBDesenvolvimento de aplicações PHP com MongoDB
Desenvolvimento de aplicações PHP com MongoDBAri Stopassola Junior
 
Nodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis terNodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis terEmerson Macedo
 
FastAPI: Criando microsserviços de alta performance
FastAPI: Criando microsserviços de alta performanceFastAPI: Criando microsserviços de alta performance
FastAPI: Criando microsserviços de alta performanceIzabela Guerreiro
 
RubyMasters 2011 - Beyond Ruby with NodeJS
RubyMasters 2011 - Beyond Ruby with NodeJSRubyMasters 2011 - Beyond Ruby with NodeJS
RubyMasters 2011 - Beyond Ruby with NodeJSEmerson Macedo
 
Semana Acadêmica ICET - Feevale - 12/04/2014
Semana Acadêmica ICET - Feevale - 12/04/2014Semana Acadêmica ICET - Feevale - 12/04/2014
Semana Acadêmica ICET - Feevale - 12/04/2014Getup Cloud
 
PyData - Consumindo e publicando web APIs com Python
PyData - Consumindo e publicando web APIs com PythonPyData - Consumindo e publicando web APIs com Python
PyData - Consumindo e publicando web APIs com PythonBruno Rocha
 
Python com baterias incluídas v2.0
Python com baterias incluídas v2.0Python com baterias incluídas v2.0
Python com baterias incluídas v2.0Jonh Edson
 
Python Com Baterias Incluídas
Python Com Baterias IncluídasPython Com Baterias Incluídas
Python Com Baterias IncluídasJonh Edson
 
Desenvolvimento Web com Software Livre
Desenvolvimento Web com Software LivreDesenvolvimento Web com Software Livre
Desenvolvimento Web com Software LivreGivanaldo Rocha
 
Escalabilidade em Aplicações - Fisl13
Escalabilidade em Aplicações - Fisl13Escalabilidade em Aplicações - Fisl13
Escalabilidade em Aplicações - Fisl13Flavio Torres
 

Semelhante a REST, Gateways e Compiladores em Python (20)

Python: Cabe no seu bolso, cabe no seu micro, cabe no seu cérebro!
Python: Cabe no seu bolso, cabe no seu micro, cabe no seu cérebro!Python: Cabe no seu bolso, cabe no seu micro, cabe no seu cérebro!
Python: Cabe no seu bolso, cabe no seu micro, cabe no seu cérebro!
 
O que podemos fazer com Python?
O que podemos fazer com Python?O que podemos fazer com Python?
O que podemos fazer com Python?
 
Python e suas aplicações
Python e suas aplicaçõesPython e suas aplicações
Python e suas aplicações
 
Node.JS - Campus Party Brasil 2011
Node.JS - Campus Party Brasil 2011Node.JS - Campus Party Brasil 2011
Node.JS - Campus Party Brasil 2011
 
Secomp 2011 - Node.JS - Introdução
Secomp 2011 - Node.JS - IntroduçãoSecomp 2011 - Node.JS - Introdução
Secomp 2011 - Node.JS - Introdução
 
Desenvolvimento de aplicações PHP com MongoDB
Desenvolvimento de aplicações PHP com MongoDBDesenvolvimento de aplicações PHP com MongoDB
Desenvolvimento de aplicações PHP com MongoDB
 
Nodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis terNodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis ter
 
Canivete python
Canivete pythonCanivete python
Canivete python
 
FastAPI: Criando microsserviços de alta performance
FastAPI: Criando microsserviços de alta performanceFastAPI: Criando microsserviços de alta performance
FastAPI: Criando microsserviços de alta performance
 
RubyMasters 2011 - Beyond Ruby with NodeJS
RubyMasters 2011 - Beyond Ruby with NodeJSRubyMasters 2011 - Beyond Ruby with NodeJS
RubyMasters 2011 - Beyond Ruby with NodeJS
 
NoSQL e Python
NoSQL e PythonNoSQL e Python
NoSQL e Python
 
Semana Acadêmica ICET - Feevale - 12/04/2014
Semana Acadêmica ICET - Feevale - 12/04/2014Semana Acadêmica ICET - Feevale - 12/04/2014
Semana Acadêmica ICET - Feevale - 12/04/2014
 
Seminário: PHP
Seminário: PHPSeminário: PHP
Seminário: PHP
 
PyData - Consumindo e publicando web APIs com Python
PyData - Consumindo e publicando web APIs com PythonPyData - Consumindo e publicando web APIs com Python
PyData - Consumindo e publicando web APIs com Python
 
Python com baterias incluídas v2.0
Python com baterias incluídas v2.0Python com baterias incluídas v2.0
Python com baterias incluídas v2.0
 
Python Com Baterias Incluídas
Python Com Baterias IncluídasPython Com Baterias Incluídas
Python Com Baterias Incluídas
 
Desenvolvimento Web com Software Livre
Desenvolvimento Web com Software LivreDesenvolvimento Web com Software Livre
Desenvolvimento Web com Software Livre
 
MongoDB + PHP
MongoDB + PHPMongoDB + PHP
MongoDB + PHP
 
PHP e Redis
PHP e RedisPHP e Redis
PHP e Redis
 
Escalabilidade em Aplicações - Fisl13
Escalabilidade em Aplicações - Fisl13Escalabilidade em Aplicações - Fisl13
Escalabilidade em Aplicações - Fisl13
 

REST, Gateways e Compiladores em Python

  • 1. REST, Gateways e Compiladores Rodrigo Dias Arruda Senra PyConBrasil 2008 - RJ
  • 2. REST, Gateways e Compiladores Rodrigo Dias Arruda Senra PyConBrasil 2008 - RJ
  • 3. Apenas um rapaz latino americano... • Entusiasta de Python • Desenvolvedor e Projetista GPr Sistemas desde 1996 HI Tecnologia desde 2007 • Engenheiro de Computação Graduação-MSc-PhD IC/Unicamp
  • 5. Quem está aí ? ✓Profissionais de Informática
  • 6. Quem está aí ? ✓Profissionais de Informática ✓Desenvolvedores
  • 7. Quem está aí ? ✓Profissionais de Informática ✓Desenvolvedores ✓Estudantes
  • 8. Quem está aí ? ✓Profissionais de Informática ✓Desenvolvedores ✓Estudantes ✓Professores
  • 9. Quem está aí ? ✓Profissionais de Informática ✓Desenvolvedores ✓Estudantes ✓Professores ✓1ª vez na PyConBrasil
  • 10. Quem está aí ? ✓Profissionais de Informática ✓Desenvolvedores ✓Estudantes ✓Professores ✓1ª vez na PyConBrasil ✓Membros APyBr
  • 11. Quem está aí ? ✓Profissionais de Informática ✓Desenvolvedores ✓Estudantes ✓Professores ✓1ª vez na PyConBrasil ✓Membros APyBr • Nenhuma resposta acima!
  • 12. O Contexto ferramentas ISIS O Projeto ISIS-NBP O Problema *Idade A Solução dá lhe Python! O Convite http://reddes.bvsaude.org
  • 13. Anatomia do Blá O Contexto ferramentas ISIS O Projeto ISIS-NBP O Problema *Idade A Solução dá lhe Python! O Convite http://reddes.bvsaude.org
  • 14. Anatomia do Blá O Contexto ferramentas ISIS O Projeto ISIS-NBP O Problema *Idade Flexibilidade, Interoperabilidade, Compatibilidade, Escalabilidade, Facilidade, Portabilidade,... A Solução dá lhe Python! O Convite http://reddes.bvsaude.org
  • 15. Anatomia do Blá O Contexto ferramentas ISIS O Projeto ISIS-NBP O Problema *Idade Flexibilidade, Interoperabilidade, Compatibilidade, Escalabilidade, Facilidade, Portabilidade,... A Solução dá lhe Python! IPython, Twisted, Django, PyOpenSSL, PyCrypto, PLY,... e grande elenco! O Convite http://reddes.bvsaude.org
  • 17. O Mundo ISIS 1975 - CDS/ISIS (VAX) 1985 - Micro-ISIS (DOS),CISIS (Unix/DOS), Isis-Pascal 1995 - ISIS_DLL, WinISIS, JavaISIS, WWWISIS 2005 - WXIS, GenISIS, WebLIS, OpenISIS (PHP) 2008 - J-ISIS (Java), ABCD(PHP+CISIS) 2009 - ISIS-NBP 1.0 (Python)
  • 24. Modelo de Dados ISIS • chaves inteiras (registro e campo) • chave letra (subcampo) • hierarquia limitada (4 níveis) • repetibilidade e linguagem de formatação MFN: 1 69: Paper on: <plant physiology><plant transpiration><measurement and instruments> 70: Magalhaes, A.C. 70: Franco, C.M. 44: Methodology of plant eco-physiology: proceedings of the Montpellier Symposium 50: Incl. bibl. 24: Techniques for the measurement of transpiration of individual plants 26: ^aParis^bUnesco^c-1965 30: ^ap. 211-224^billus.
  • 25. Layout das Bases ISIS Master File (.mst) Control Record Data Record Data Record Data Record ...
  • 26. Layout das Bases ISIS Master File (.mst) Control Record Leader Section Data Record Directory Section Data Record Raw Data Section Data Record ...
  • 27. Layout das Bases ISIS Master File (.mst) Control Record Data Record Data Record Data Record ...
  • 28. Layout das Bases ISIS Master File (.mst) (.xrf) 1 Control Record 2 3 4 Data Record 5 6 ... Data Record Data Record ...
  • 29. Layout das Bases ISIS Master File (.mst) (.xrf) 1 Control Record 2 3 4 Data Record 5 6 ... Data Record Data Record ...
  • 31. Projeto ISIS-NBP Database Console Engine Gateway
  • 32. Projeto ISIS-NBP Database Console IPython Engine Gateway
  • 33. Projeto ISIS-NBP Database PyOpenSSL, PyCrypto Console IPython Engine Gateway Twisted SSH HTTP
  • 34. Projeto ISIS-NBP Database ISIS native DB OIM PyOpenSSL, PyCrypto Console IPython Engine Gateway Twisted SSH HTTP
  • 35. Projeto ISIS-NBP Database ISIS native DB OIM PyOpenSSL, PyCrypto Console IPython Engine Gateway Twisted SSH Django XML-RPC HTTP
  • 36. Projeto ISIS-NBP Database ISIS native DB OIM PyOpenSSL, PyCrypto Console IPython Engine Gateway Twisted SSH PLY Django XML-RPC HTTP
  • 37. Projeto ISIS-NBP Database ISIS native DB OIM PyOpenSSL, PyCrypto nosetest Console IPython Engine Gateway Twisted SSH PLY Django XML-RPC HTTP
  • 38. Projeto ISIS-NBP ZODB, Durus,... WebDAV BDB, XML,... Database ISIS native DB RSS, OAI-PMH JSON OIM PyOpenSSL, PyCrypto nosetest Console IPython Engine Gateway Twisted SSH PLY Django XML-RPC HTTP
  • 39. Twisted + Django from django.conf import settings settings.configure(DEBUG=True, DEFAULT_CHARSET=config.OUTPUT_ENCODING, ROOT_URLCONF = 'pyisis.web.urls', INSTALLED_APPS = ('django.contrib.contenttypes', ...), MIDDLEWARE_CLASSES = ('CommonMiddleware',...), ...) wsgires = wsgi.WSGIResource(AdminMediaHandler(WSGIHandler())) res = log.LogWrapperResource(wsgires) log.FileAccessLoggingObserver(config.WEB_LOG).start() site = server.Site(res) reactor.listenTCP(config.HTTP_PORT, channel.HTTPFactory(site))
  • 41. Demo ! Dá tempo de ver o Python em ação ? É possível ? Seria pedir muito ?
  • 46. Obrigado a todos pela atenção. Rodrigo Dias Arruda Senra http://rodrigo.senra.nom.br rsenra@acm.org As opiniões e conclusões expressas nesta apresentação são de exclusiva responsabilidade de Rodrigo Senra. Não é necessário requisitar permissão do autor para o uso de partes ou do todo desta apresentação, desde que não sejam feitas alterações no conteúdo reutilizado e que esta nota esteja presente na íntegra no material resultante. Imagens e referências para outros trabalhos nesta apresentação permanecem propriedade daqueles que detêm seus direitos de copyright.