SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Downloaden Sie, um offline zu lesen
Introdu¸˜o
                               ca
                         Requisitos
                    Implementa¸˜o
                               ca
                      Configura¸˜o
                               ca
                         Conclus˜o
                                 a




        Sistema de Preserva¸˜o Digital
                           ca
             Camada de Aplica¸˜o
                              ca

                GT-DigitalPreservation
C3SL - Centro de Computa¸˜o Cient´
                         ca       ıfica e Software Livre

                  Departamento de Inform´tica
                                          a
                 Universidade Federal do Paran´
                                              a


                      Setembro de 2011

                                                            university-logo


           Roberto Beraldo Chaiben    Camada de Aplica¸˜o
                                                      ca
Introdu¸˜o
                                      ca
                                Requisitos
                           Implementa¸˜o
                                      ca
                             Configura¸˜o
                                      ca
                                Conclus˜o
                                        a



1   Introdu¸˜o
           ca

2   Requisitos

3   Implementa¸˜o
              ca

4   Configura¸˜o
            ca

5   Conclus˜o
           a




                                                                   university-logo


                  Roberto Beraldo Chaiben    Camada de Aplica¸˜o
                                                             ca
Introdu¸˜o
                                      ca
                                Requisitos
                           Implementa¸˜o
                                      ca     Vis˜o Geral
                                                a
                             Configura¸˜o
                                      ca
                                Conclus˜o
                                        a




1   Introdu¸˜o
           ca

2   Requisitos

3   Implementa¸˜o
              ca

4   Configura¸˜o
            ca

5   Conclus˜o
           a


                                                                   university-logo


                  Roberto Beraldo Chaiben    Camada de Aplica¸˜o
                                                             ca
Introdu¸˜o
                                  ca
                            Requisitos
                       Implementa¸˜o
                                  ca     Vis˜o Geral
                                            a
                         Configura¸˜o
                                  ca
                            Conclus˜o
                                    a


Localiza¸˜o da Camada de Aplica¸˜o
        ca                     ca

                              Aplicações




                                Interface

               Gerenciamento de Réplicas

                         Armazenamento


                              Repositório
                                                               university-logo


              Roberto Beraldo Chaiben    Camada de Aplica¸˜o
                                                         ca
Introdu¸˜o
                                     ca
                               Requisitos
                          Implementa¸˜o
                                     ca     Vis˜o Geral
                                               a
                            Configura¸˜o
                                     ca
                               Conclus˜o
                                       a


Estrutura desta Apresenta¸˜o
                         ca




      Descri¸˜o geral da Camada de Aplica¸˜o
            ca                           ca
      Orienta¸˜es para desenvolvimento de uma aplica¸˜o pr´pria
             co                                     ca    o
      Detalhamento da aplica¸˜o de exemplo
                            ca




                                                                  university-logo


                 Roberto Beraldo Chaiben    Camada de Aplica¸˜o
                                                            ca
Introdu¸˜o
                                     ca
                               Requisitos
                          Implementa¸˜o
                                     ca     Vis˜o Geral
                                               a
                            Configura¸˜o
                                     ca
                               Conclus˜o
                                       a


Vis˜o Geral
   a



  Camada de Aplica¸˜o
                  ca
      Interface gr´fica para uso do Sistema de Preserva¸˜o Digital
                  a                                   ca
      Realiza a comunica¸˜o entre o cliente e o servidor do WEB
                        ca
      Service
      Cliente de WEB Service
      Padr˜o SOAP para comunica¸˜o com o servidor
          a                    ca



                                                                    university-logo


                 Roberto Beraldo Chaiben    Camada de Aplica¸˜o
                                                            ca
Introdu¸˜o
                                      ca
                                Requisitos
                           Implementa¸˜o
                                      ca
                             Configura¸˜o
                                      ca
                                Conclus˜o
                                        a




1   Introdu¸˜o
           ca

2   Requisitos

3   Implementa¸˜o
              ca

4   Configura¸˜o
            ca

5   Conclus˜o
           a


                                                                   university-logo


                  Roberto Beraldo Chaiben    Camada de Aplica¸˜o
                                                             ca
Introdu¸˜o
                                     ca
                               Requisitos
                          Implementa¸˜o
                                     ca
                            Configura¸˜o
                                     ca
                               Conclus˜o
                                       a


Requisitos de software



      Para desenvolver uma aplica¸˜o pr´pria:
                                 ca    o
          Suporte ao protocolo SOAP, para comunica¸˜o com o WEB
                                                  ca
          Service
      Para usar a aplica¸˜o exemplo:
                        ca
          Python 2.6+ < 3.0
          Acesso HTTP
          Apache 2 com M´dulo Python (mod python) e M´dulo
                         o                           o
          Rewrite (mod rewrite)



                                                                  university-logo


                 Roberto Beraldo Chaiben    Camada de Aplica¸˜o
                                                            ca
Introdu¸˜o
                                      ca
                                Requisitos   API de Preserva¸˜o
                                                            ca
                           Implementa¸˜o
                                      ca     Orienta¸˜es para implementa¸˜o do cliente
                                                    co                  ca
                             Configura¸˜o
                                      ca     Classe de exemplo
                                Conclus˜o
                                        a




1   Introdu¸˜o
           ca

2   Requisitos

3   Implementa¸˜o
              ca

4   Configura¸˜o
            ca

5   Conclus˜o
           a


                                                                                         university-logo


                  Roberto Beraldo Chaiben    Camada de Aplica¸˜o
                                                             ca
Introdu¸˜o
                           ca
                     Requisitos   API de Preserva¸˜o
                                                 ca
                Implementa¸˜o
                           ca     Orienta¸˜es para implementa¸˜o do cliente
                                         co                  ca
                  Configura¸˜o
                           ca     Classe de exemplo
                     Conclus˜o
                             a




Apresenta¸˜o da aplica¸˜o de exemplo
         ca           ca




                                                                              university-logo


       Roberto Beraldo Chaiben    Camada de Aplica¸˜o
                                                  ca
Introdu¸˜o
                                           ca
                                     Requisitos   API de Preserva¸˜o
                                                                 ca
                                Implementa¸˜o
                                           ca     Orienta¸˜es para implementa¸˜o do cliente
                                                         co                  ca
                                  Configura¸˜o
                                           ca     Classe de exemplo
                                     Conclus˜o
                                             a


Implementa¸˜o
          ca



  Aplica¸˜o de Exemplo
        ca
         Linguagem Python
              Robusta para aplica¸˜es WEB
                                 co
              Nativa de muitas distros Linux
              Linguagem de f´ceis aprendizado e utiliza¸˜o
                            a                          ca
         Uso da biblioteca Suds1 para implementar SOAP




                                                                                              university-logo
    1
        https://fedorahosted.org/suds/
                       Roberto Beraldo Chaiben    Camada de Aplica¸˜o
                                                                  ca
Introdu¸˜o
                                      ca
                                Requisitos   API de Preserva¸˜o
                                                            ca
                           Implementa¸˜o
                                      ca     Orienta¸˜es para implementa¸˜o do cliente
                                                    co                  ca
                             Configura¸˜o
                                      ca     Classe de exemplo
                                Conclus˜o
                                        a


API de Preserva¸˜o
               ca

  Exemplos de implementa¸˜o usando a biblioteca Suds
                        ca
  import suds
      Instˆncia da classe Client, da biblioteca Suds
          a
          client = suds.client.Client( urlWSDL )
      Chamada do m´todo de inser¸˜o de objeto digital
                  e             ca
          client.service.insert( fileHash, fileContent, reliability )
      Chamada do m´todo de consulta por objeto digital
                  e
          client.service.check( fileKey )
      Chamada do m´todo de recupera¸˜o de objeto digital
                  e                ca
          client.service.retrieve( fileKey )

                                                                                         university-logo


                  Roberto Beraldo Chaiben    Camada de Aplica¸˜o
                                                             ca
Introdu¸˜o
                           ca
                     Requisitos   API de Preserva¸˜o
                                                 ca
                Implementa¸˜o
                           ca     Orienta¸˜es para implementa¸˜o do cliente
                                         co                  ca
                  Configura¸˜o
                           ca     Classe de exemplo
                     Conclus˜o
                             a




  Orienta¸˜es e observa¸˜es para
         co            co
implementa¸˜o do cliente do WEB
            ca
               Service




                                                                              university-logo


       Roberto Beraldo Chaiben    Camada de Aplica¸˜o
                                                  ca
Introdu¸˜o
                                     ca
                               Requisitos   API de Preserva¸˜o
                                                           ca
                          Implementa¸˜o
                                     ca     Orienta¸˜es para implementa¸˜o do cliente
                                                   co                  ca
                            Configura¸˜o
                                     ca     Classe de exemplo
                               Conclus˜o
                                       a


Inser¸˜o (insert)
     ca




      Recomenda-se realizar uma consulta (check) antes da
      inser¸˜o, a fim de evitar inser¸˜es duplicadas, al´m de
           ca                       co                 e
      economizar tempo com upload do arquivo para o WEB
      Service.




                                                                                        university-logo


                 Roberto Beraldo Chaiben    Camada de Aplica¸˜o
                                                            ca
Introdu¸˜o
                                    ca
                              Requisitos   API de Preserva¸˜o
                                                          ca
                         Implementa¸˜o
                                    ca     Orienta¸˜es para implementa¸˜o do cliente
                                                  co                  ca
                           Configura¸˜o
                                    ca     Classe de exemplo
                              Conclus˜o
                                      a


Consulta (check)




     A opera¸˜o de consulta pode exibir menos informa¸˜es ou at´
            ca                                         co        e
     mesmo n˜o ser implementada, a fim de evitar a divulga¸˜o de
             a                                              ca
     informa¸˜es de localiza¸˜o de r´plicas (preven¸˜o de ataques)
            co              ca      e              ca




                                                                                       university-logo


                Roberto Beraldo Chaiben    Camada de Aplica¸˜o
                                                           ca
Introdu¸˜o
                                      ca
                                Requisitos   API de Preserva¸˜o
                                                            ca
                           Implementa¸˜o
                                      ca     Orienta¸˜es para implementa¸˜o do cliente
                                                    co                  ca
                             Configura¸˜o
                                      ca     Classe de exemplo
                                Conclus˜o
                                        a


Recupera¸˜o (retrieve)
        ca



      Recomenda-se fazer uma consulta (check) antes da
      recupera¸˜o. Com esse resultado, ´ poss´ mostrar ao
               ca                      e      ıvel
      usu´rio os comandos rsync dispon´
         a                            ıveis para recuperar o objeto.
      Assim ´ poss´ selecionar a r´plica mais pr´xima ao usu´rio.
             e     ıvel            e               o          a
      A recupera¸˜o via HTTP envolve o uso da codifica¸˜o Base
                 ca                                   ca
      64, que prejudica o desempenho. Recupera¸˜o via Rsync ´
                                              ca            e
      prefer´
            ıvel



                                                                                         university-logo


                  Roberto Beraldo Chaiben    Camada de Aplica¸˜o
                                                             ca
Introdu¸˜o
                                      ca
                                Requisitos   API de Preserva¸˜o
                                                            ca
                           Implementa¸˜o
                                      ca     Orienta¸˜es para implementa¸˜o do cliente
                                                    co                  ca
                             Configura¸˜o
                                      ca     Classe de exemplo
                                Conclus˜o
                                        a


Classe SoapClient


      Arquivo SoapClientClass.py
      Classe que implementa as trˆs opera¸˜es do WEB Service,
                                 e       co
      al´m da op¸˜o de definir a URL do WSDL
        e        ca
      Utiliza a biblioteca Suds
      M´todos:
        e
          insert( fileKey, reliability, filename )
          check( fileKey )
          retrieve( fileKey )
          setWsdlFile( wsdlFile )


                                                                                         university-logo


                  Roberto Beraldo Chaiben    Camada de Aplica¸˜o
                                                             ca
Introdu¸˜o
                                      ca
                                Requisitos
                           Implementa¸˜o
                                      ca
                             Configura¸˜o
                                      ca
                                Conclus˜o
                                        a




1   Introdu¸˜o
           ca

2   Requisitos

3   Implementa¸˜o
              ca

4   Configura¸˜o
            ca

5   Conclus˜o
           a


                                                                   university-logo


                  Roberto Beraldo Chaiben    Camada de Aplica¸˜o
                                                             ca
Introdu¸˜o
                                          ca
                                    Requisitos
                               Implementa¸˜o
                                          ca
                                 Configura¸˜o
                                          ca
                                    Conclus˜o
                                            a


Configura¸˜o do Apache
        ca



         Configura¸˜o de site no Apache
                 ca
              VirtualHost2
              Habilitar suporte a Python Server Pages (.psp)3
              Configura¸˜o do M´dulo ReWrite (redirecionar requisi¸˜es
                        ca        o                              co
              para index.psp)




    2
        http://httpd.apache.org/docs/2.0/vhosts/examples.html           university-logo
    3
        http://www.modpython.org/live/current/doc-html/hand-psp.html
                      Roberto Beraldo Chaiben    Camada de Aplica¸˜o
                                                                 ca
Introdu¸˜o
                                    ca
                              Requisitos
                         Implementa¸˜o
                                    ca
                           Configura¸˜o
                                    ca
                              Conclus˜o
                                      a


Configura¸˜o da aplica¸˜o de exemplo
        ca           ca



     Defini¸˜o da URL do WSDL
          ca
     Ap´s instanciar a classe SoapClient, utilizar o m´todo
       o                                              e
     setWsdlFile
         client = SoapClient()
         client.setWsdlFile( urlWSDL )
     Tamb´m ´ poss´ definir a URL do WSDL diretamente na
           e e      ıvel
     propriedade wsdlFile da classe SoapClient



                                                                 university-logo


                Roberto Beraldo Chaiben    Camada de Aplica¸˜o
                                                           ca
Introdu¸˜o
                                      ca
                                Requisitos
                           Implementa¸˜o
                                      ca
                             Configura¸˜o
                                      ca
                                Conclus˜o
                                        a




1   Introdu¸˜o
           ca

2   Requisitos

3   Implementa¸˜o
              ca

4   Configura¸˜o
            ca

5   Conclus˜o
           a


                                                                   university-logo


                  Roberto Beraldo Chaiben    Camada de Aplica¸˜o
                                                             ca
Introdu¸˜o
                                          ca
                                    Requisitos
                               Implementa¸˜o
                                          ca
                                 Configura¸˜o
                                          ca
                                    Conclus˜o
                                            a


Conclus˜o
       a



         F´cil implementa¸˜o de clientes para o WEB Service (Padr˜o
          a              ca                                      a
         SOAP)
         Flexibilidade de linguagem para implementa¸˜o
                                                   ca
         Possibilidade de integra¸˜o com sistemas de preserva¸˜o
                                 ca                          ca
         digital, como o DSpace  4




                                                                       university-logo
    4
        http://www.dspace.org
                      Roberto Beraldo Chaiben    Camada de Aplica¸˜o
                                                                 ca
Introdu¸˜o
                                   ca
                             Requisitos
                        Implementa¸˜o
                                   ca
                          Configura¸˜o
                                   ca
                             Conclus˜o
                                     a




D´vidas? Coment´rios? Sugest˜es?
 u             a            o




                                                                university-logo


               Roberto Beraldo Chaiben    Camada de Aplica¸˜o
                                                          ca

Weitere ähnliche Inhalte

Ähnlich wie GT-Digital Preservation - Camada de Aplicacao

Roteiro Ágil - Integrando princípios ágeis para a melhoria do desenvolvimento...
Roteiro Ágil - Integrando princípios ágeis para a melhoria do desenvolvimento...Roteiro Ágil - Integrando princípios ágeis para a melhoria do desenvolvimento...
Roteiro Ágil - Integrando princípios ágeis para a melhoria do desenvolvimento...
Manoel Pimentel Medeiros
 
Static Code Analyzer - Part IV
Static Code Analyzer - Part IVStatic Code Analyzer - Part IV
Static Code Analyzer - Part IV
Ulisses Costa
 
ARE3 Consulting - Thinking beyond it!!
ARE3 Consulting - Thinking beyond it!!ARE3 Consulting - Thinking beyond it!!
ARE3 Consulting - Thinking beyond it!!
sagwi
 
eBaoTech apresentacao da empresa_port
eBaoTech apresentacao da empresa_porteBaoTech apresentacao da empresa_port
eBaoTech apresentacao da empresa_port
NetPartners
 
Apresentação - Modelagem de Ambientes de Computação Ubíqua Utilizando Simulação
Apresentação - Modelagem de Ambientes de Computação Ubíqua Utilizando SimulaçãoApresentação - Modelagem de Ambientes de Computação Ubíqua Utilizando Simulação
Apresentação - Modelagem de Ambientes de Computação Ubíqua Utilizando Simulação
Jurmir Canal Neto
 

Ähnlich wie GT-Digital Preservation - Camada de Aplicacao (20)

Roteiro Ágil - Integrando princípios ágeis para a melhoria do desenvolvimento...
Roteiro Ágil - Integrando princípios ágeis para a melhoria do desenvolvimento...Roteiro Ágil - Integrando princípios ágeis para a melhoria do desenvolvimento...
Roteiro Ágil - Integrando princípios ágeis para a melhoria do desenvolvimento...
 
Static Code Analyzer - Part IV
Static Code Analyzer - Part IVStatic Code Analyzer - Part IV
Static Code Analyzer - Part IV
 
Domain driven design
Domain driven designDomain driven design
Domain driven design
 
Administração de Operações - Projeto Redes E Instalações
Administração de Operações - Projeto Redes E InstalaçõesAdministração de Operações - Projeto Redes E Instalações
Administração de Operações - Projeto Redes E Instalações
 
Administração de Operações - Projeto Redes E InstalaçõEs + Tecnologias de Pro...
Administração de Operações - Projeto Redes E InstalaçõEs + Tecnologias de Pro...Administração de Operações - Projeto Redes E InstalaçõEs + Tecnologias de Pro...
Administração de Operações - Projeto Redes E InstalaçõEs + Tecnologias de Pro...
 
Gaia Riscos - CLEI 2012
Gaia Riscos - CLEI 2012Gaia Riscos - CLEI 2012
Gaia Riscos - CLEI 2012
 
DSF 2012 - Novos Desafios
DSF 2012 - Novos DesafiosDSF 2012 - Novos Desafios
DSF 2012 - Novos Desafios
 
GT-Digital Preservation - Camada de Gerenciamento
GT-Digital Preservation - Camada de GerenciamentoGT-Digital Preservation - Camada de Gerenciamento
GT-Digital Preservation - Camada de Gerenciamento
 
Linhas de Fomento a Inovação - BNDES
Linhas de Fomento a Inovação - BNDESLinhas de Fomento a Inovação - BNDES
Linhas de Fomento a Inovação - BNDES
 
Test day 2012
Test day 2012Test day 2012
Test day 2012
 
ARE3 Consulting - Thinking beyond it!!
ARE3 Consulting - Thinking beyond it!!ARE3 Consulting - Thinking beyond it!!
ARE3 Consulting - Thinking beyond it!!
 
SIC 2008 - Simpósio Internacional de Confiabilidade
SIC 2008 - Simpósio Internacional de ConfiabilidadeSIC 2008 - Simpósio Internacional de Confiabilidade
SIC 2008 - Simpósio Internacional de Confiabilidade
 
29110 rioinfo painel_i v1
29110 rioinfo painel_i v129110 rioinfo painel_i v1
29110 rioinfo painel_i v1
 
eBaoTech apresentacao da empresa_port
eBaoTech apresentacao da empresa_porteBaoTech apresentacao da empresa_port
eBaoTech apresentacao da empresa_port
 
Sala vip 8a maratona sc 2012 excelencia em planejamento - handout - 24-05-2012
Sala vip 8a maratona sc 2012   excelencia em planejamento - handout - 24-05-2012Sala vip 8a maratona sc 2012   excelencia em planejamento - handout - 24-05-2012
Sala vip 8a maratona sc 2012 excelencia em planejamento - handout - 24-05-2012
 
Apresentação de Claudio Coli no Forum SPED 2008 Mastersaf
Apresentação de Claudio Coli no Forum SPED 2008 MastersafApresentação de Claudio Coli no Forum SPED 2008 Mastersaf
Apresentação de Claudio Coli no Forum SPED 2008 Mastersaf
 
Apresentação - Modelagem de Ambientes de Computação Ubíqua Utilizando Simulação
Apresentação - Modelagem de Ambientes de Computação Ubíqua Utilizando SimulaçãoApresentação - Modelagem de Ambientes de Computação Ubíqua Utilizando Simulação
Apresentação - Modelagem de Ambientes de Computação Ubíqua Utilizando Simulação
 
Institucional - Apresentação
Institucional - ApresentaçãoInstitucional - Apresentação
Institucional - Apresentação
 
Projeto CIA
Projeto CIAProjeto CIA
Projeto CIA
 
Software RCM2Web
Software RCM2WebSoftware RCM2Web
Software RCM2Web
 

Kürzlich hochgeladen

Kürzlich hochgeladen (9)

Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 

GT-Digital Preservation - Camada de Aplicacao

  • 1. Introdu¸˜o ca Requisitos Implementa¸˜o ca Configura¸˜o ca Conclus˜o a Sistema de Preserva¸˜o Digital ca Camada de Aplica¸˜o ca GT-DigitalPreservation C3SL - Centro de Computa¸˜o Cient´ ca ıfica e Software Livre Departamento de Inform´tica a Universidade Federal do Paran´ a Setembro de 2011 university-logo Roberto Beraldo Chaiben Camada de Aplica¸˜o ca
  • 2. Introdu¸˜o ca Requisitos Implementa¸˜o ca Configura¸˜o ca Conclus˜o a 1 Introdu¸˜o ca 2 Requisitos 3 Implementa¸˜o ca 4 Configura¸˜o ca 5 Conclus˜o a university-logo Roberto Beraldo Chaiben Camada de Aplica¸˜o ca
  • 3. Introdu¸˜o ca Requisitos Implementa¸˜o ca Vis˜o Geral a Configura¸˜o ca Conclus˜o a 1 Introdu¸˜o ca 2 Requisitos 3 Implementa¸˜o ca 4 Configura¸˜o ca 5 Conclus˜o a university-logo Roberto Beraldo Chaiben Camada de Aplica¸˜o ca
  • 4. Introdu¸˜o ca Requisitos Implementa¸˜o ca Vis˜o Geral a Configura¸˜o ca Conclus˜o a Localiza¸˜o da Camada de Aplica¸˜o ca ca Aplicações Interface Gerenciamento de Réplicas Armazenamento Repositório university-logo Roberto Beraldo Chaiben Camada de Aplica¸˜o ca
  • 5. Introdu¸˜o ca Requisitos Implementa¸˜o ca Vis˜o Geral a Configura¸˜o ca Conclus˜o a Estrutura desta Apresenta¸˜o ca Descri¸˜o geral da Camada de Aplica¸˜o ca ca Orienta¸˜es para desenvolvimento de uma aplica¸˜o pr´pria co ca o Detalhamento da aplica¸˜o de exemplo ca university-logo Roberto Beraldo Chaiben Camada de Aplica¸˜o ca
  • 6. Introdu¸˜o ca Requisitos Implementa¸˜o ca Vis˜o Geral a Configura¸˜o ca Conclus˜o a Vis˜o Geral a Camada de Aplica¸˜o ca Interface gr´fica para uso do Sistema de Preserva¸˜o Digital a ca Realiza a comunica¸˜o entre o cliente e o servidor do WEB ca Service Cliente de WEB Service Padr˜o SOAP para comunica¸˜o com o servidor a ca university-logo Roberto Beraldo Chaiben Camada de Aplica¸˜o ca
  • 7. Introdu¸˜o ca Requisitos Implementa¸˜o ca Configura¸˜o ca Conclus˜o a 1 Introdu¸˜o ca 2 Requisitos 3 Implementa¸˜o ca 4 Configura¸˜o ca 5 Conclus˜o a university-logo Roberto Beraldo Chaiben Camada de Aplica¸˜o ca
  • 8. Introdu¸˜o ca Requisitos Implementa¸˜o ca Configura¸˜o ca Conclus˜o a Requisitos de software Para desenvolver uma aplica¸˜o pr´pria: ca o Suporte ao protocolo SOAP, para comunica¸˜o com o WEB ca Service Para usar a aplica¸˜o exemplo: ca Python 2.6+ < 3.0 Acesso HTTP Apache 2 com M´dulo Python (mod python) e M´dulo o o Rewrite (mod rewrite) university-logo Roberto Beraldo Chaiben Camada de Aplica¸˜o ca
  • 9. Introdu¸˜o ca Requisitos API de Preserva¸˜o ca Implementa¸˜o ca Orienta¸˜es para implementa¸˜o do cliente co ca Configura¸˜o ca Classe de exemplo Conclus˜o a 1 Introdu¸˜o ca 2 Requisitos 3 Implementa¸˜o ca 4 Configura¸˜o ca 5 Conclus˜o a university-logo Roberto Beraldo Chaiben Camada de Aplica¸˜o ca
  • 10. Introdu¸˜o ca Requisitos API de Preserva¸˜o ca Implementa¸˜o ca Orienta¸˜es para implementa¸˜o do cliente co ca Configura¸˜o ca Classe de exemplo Conclus˜o a Apresenta¸˜o da aplica¸˜o de exemplo ca ca university-logo Roberto Beraldo Chaiben Camada de Aplica¸˜o ca
  • 11. Introdu¸˜o ca Requisitos API de Preserva¸˜o ca Implementa¸˜o ca Orienta¸˜es para implementa¸˜o do cliente co ca Configura¸˜o ca Classe de exemplo Conclus˜o a Implementa¸˜o ca Aplica¸˜o de Exemplo ca Linguagem Python Robusta para aplica¸˜es WEB co Nativa de muitas distros Linux Linguagem de f´ceis aprendizado e utiliza¸˜o a ca Uso da biblioteca Suds1 para implementar SOAP university-logo 1 https://fedorahosted.org/suds/ Roberto Beraldo Chaiben Camada de Aplica¸˜o ca
  • 12. Introdu¸˜o ca Requisitos API de Preserva¸˜o ca Implementa¸˜o ca Orienta¸˜es para implementa¸˜o do cliente co ca Configura¸˜o ca Classe de exemplo Conclus˜o a API de Preserva¸˜o ca Exemplos de implementa¸˜o usando a biblioteca Suds ca import suds Instˆncia da classe Client, da biblioteca Suds a client = suds.client.Client( urlWSDL ) Chamada do m´todo de inser¸˜o de objeto digital e ca client.service.insert( fileHash, fileContent, reliability ) Chamada do m´todo de consulta por objeto digital e client.service.check( fileKey ) Chamada do m´todo de recupera¸˜o de objeto digital e ca client.service.retrieve( fileKey ) university-logo Roberto Beraldo Chaiben Camada de Aplica¸˜o ca
  • 13. Introdu¸˜o ca Requisitos API de Preserva¸˜o ca Implementa¸˜o ca Orienta¸˜es para implementa¸˜o do cliente co ca Configura¸˜o ca Classe de exemplo Conclus˜o a Orienta¸˜es e observa¸˜es para co co implementa¸˜o do cliente do WEB ca Service university-logo Roberto Beraldo Chaiben Camada de Aplica¸˜o ca
  • 14. Introdu¸˜o ca Requisitos API de Preserva¸˜o ca Implementa¸˜o ca Orienta¸˜es para implementa¸˜o do cliente co ca Configura¸˜o ca Classe de exemplo Conclus˜o a Inser¸˜o (insert) ca Recomenda-se realizar uma consulta (check) antes da inser¸˜o, a fim de evitar inser¸˜es duplicadas, al´m de ca co e economizar tempo com upload do arquivo para o WEB Service. university-logo Roberto Beraldo Chaiben Camada de Aplica¸˜o ca
  • 15. Introdu¸˜o ca Requisitos API de Preserva¸˜o ca Implementa¸˜o ca Orienta¸˜es para implementa¸˜o do cliente co ca Configura¸˜o ca Classe de exemplo Conclus˜o a Consulta (check) A opera¸˜o de consulta pode exibir menos informa¸˜es ou at´ ca co e mesmo n˜o ser implementada, a fim de evitar a divulga¸˜o de a ca informa¸˜es de localiza¸˜o de r´plicas (preven¸˜o de ataques) co ca e ca university-logo Roberto Beraldo Chaiben Camada de Aplica¸˜o ca
  • 16. Introdu¸˜o ca Requisitos API de Preserva¸˜o ca Implementa¸˜o ca Orienta¸˜es para implementa¸˜o do cliente co ca Configura¸˜o ca Classe de exemplo Conclus˜o a Recupera¸˜o (retrieve) ca Recomenda-se fazer uma consulta (check) antes da recupera¸˜o. Com esse resultado, ´ poss´ mostrar ao ca e ıvel usu´rio os comandos rsync dispon´ a ıveis para recuperar o objeto. Assim ´ poss´ selecionar a r´plica mais pr´xima ao usu´rio. e ıvel e o a A recupera¸˜o via HTTP envolve o uso da codifica¸˜o Base ca ca 64, que prejudica o desempenho. Recupera¸˜o via Rsync ´ ca e prefer´ ıvel university-logo Roberto Beraldo Chaiben Camada de Aplica¸˜o ca
  • 17. Introdu¸˜o ca Requisitos API de Preserva¸˜o ca Implementa¸˜o ca Orienta¸˜es para implementa¸˜o do cliente co ca Configura¸˜o ca Classe de exemplo Conclus˜o a Classe SoapClient Arquivo SoapClientClass.py Classe que implementa as trˆs opera¸˜es do WEB Service, e co al´m da op¸˜o de definir a URL do WSDL e ca Utiliza a biblioteca Suds M´todos: e insert( fileKey, reliability, filename ) check( fileKey ) retrieve( fileKey ) setWsdlFile( wsdlFile ) university-logo Roberto Beraldo Chaiben Camada de Aplica¸˜o ca
  • 18. Introdu¸˜o ca Requisitos Implementa¸˜o ca Configura¸˜o ca Conclus˜o a 1 Introdu¸˜o ca 2 Requisitos 3 Implementa¸˜o ca 4 Configura¸˜o ca 5 Conclus˜o a university-logo Roberto Beraldo Chaiben Camada de Aplica¸˜o ca
  • 19. Introdu¸˜o ca Requisitos Implementa¸˜o ca Configura¸˜o ca Conclus˜o a Configura¸˜o do Apache ca Configura¸˜o de site no Apache ca VirtualHost2 Habilitar suporte a Python Server Pages (.psp)3 Configura¸˜o do M´dulo ReWrite (redirecionar requisi¸˜es ca o co para index.psp) 2 http://httpd.apache.org/docs/2.0/vhosts/examples.html university-logo 3 http://www.modpython.org/live/current/doc-html/hand-psp.html Roberto Beraldo Chaiben Camada de Aplica¸˜o ca
  • 20. Introdu¸˜o ca Requisitos Implementa¸˜o ca Configura¸˜o ca Conclus˜o a Configura¸˜o da aplica¸˜o de exemplo ca ca Defini¸˜o da URL do WSDL ca Ap´s instanciar a classe SoapClient, utilizar o m´todo o e setWsdlFile client = SoapClient() client.setWsdlFile( urlWSDL ) Tamb´m ´ poss´ definir a URL do WSDL diretamente na e e ıvel propriedade wsdlFile da classe SoapClient university-logo Roberto Beraldo Chaiben Camada de Aplica¸˜o ca
  • 21. Introdu¸˜o ca Requisitos Implementa¸˜o ca Configura¸˜o ca Conclus˜o a 1 Introdu¸˜o ca 2 Requisitos 3 Implementa¸˜o ca 4 Configura¸˜o ca 5 Conclus˜o a university-logo Roberto Beraldo Chaiben Camada de Aplica¸˜o ca
  • 22. Introdu¸˜o ca Requisitos Implementa¸˜o ca Configura¸˜o ca Conclus˜o a Conclus˜o a F´cil implementa¸˜o de clientes para o WEB Service (Padr˜o a ca a SOAP) Flexibilidade de linguagem para implementa¸˜o ca Possibilidade de integra¸˜o com sistemas de preserva¸˜o ca ca digital, como o DSpace 4 university-logo 4 http://www.dspace.org Roberto Beraldo Chaiben Camada de Aplica¸˜o ca
  • 23. Introdu¸˜o ca Requisitos Implementa¸˜o ca Configura¸˜o ca Conclus˜o a D´vidas? Coment´rios? Sugest˜es? u a o university-logo Roberto Beraldo Chaiben Camada de Aplica¸˜o ca