Introdu¸˜o                                       ca      Requisitos do software desenvolvido                           Imp...
Introdu¸˜o                                             ca            Requisitos do software desenvolvido                  ...
Introdu¸˜o                                             ca                                                   Motiva¸˜o     ...
Introdu¸˜o                                           ca                                                 Motiva¸˜o         ...
Introdu¸˜o                                             ca                                                   Motiva¸˜o     ...
Introdu¸˜o                                             ca                                                   Motiva¸˜o     ...
Introdu¸˜o                                            ca                                                  Motiva¸˜o       ...
Introdu¸˜o                                           ca                                                        Motiva¸˜o  ...
Introdu¸˜o                                             ca                                                   Motiva¸˜o     ...
Introdu¸˜o                                             ca            Requisitos do software desenvolvido                  ...
Introdu¸˜o                                              ca             Requisitos do software desenvolvido                ...
Introdu¸˜o                                             ca            Requisitos do software desenvolvido                  ...
Introdu¸˜o                                                 ca                Requisitos do software desenvolvido          ...
Introdu¸˜o                                            ca           Requisitos do software desenvolvido                    ...
Introdu¸˜o                                              ca             Requisitos do software desenvolvido                ...
Introdu¸˜o                                             ca            Requisitos do software desenvolvido                  ...
Introdu¸˜o                                           ca          Requisitos do software desenvolvido                      ...
Introdu¸˜o                                              ca             Requisitos do software desenvolvido                ...
Introdu¸˜o                                               ca              Requisitos do software desenvolvido              ...
Introdu¸˜o                                              ca             Requisitos do software desenvolvido                ...
Introdu¸˜o                                            ca           Requisitos do software desenvolvido                    ...
Introdu¸˜o                                             ca            Requisitos do software desenvolvido                  ...
Introdu¸˜o                                           ca          Requisitos do software desenvolvido                      ...
Introdu¸˜o                                             ca            Requisitos do software desenvolvido                  ...
Introdu¸˜o                                             ca            Requisitos do software desenvolvido                  ...
Introdu¸˜o                                          ca         Requisitos do software desenvolvido                        ...
Upcoming SlideShare
Loading in …5
×

GT-Digital Preservation - Camada de Interface

238 views

Published on

Apresentação da Camada de Interface, do GT - Digital Preservation, em 01 de setembro de 2011, na Escola de Redes da RNP, no Rio de Janeiro.

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
238
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

GT-Digital Preservation - Camada de Interface

  1. 1. Introdu¸˜o ca Requisitos do software desenvolvido Implementa¸˜o ca Configura¸˜o ca Inicializa¸˜o do Servi¸os ca c Sistema de Preserva¸˜o Digital ca Camada de Interface GT-DigitalPreservationC3SL - 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 Interface
  2. 2. Introdu¸˜o ca Requisitos do software desenvolvido Implementa¸˜o ca Configura¸˜o ca Inicializa¸˜o do Servi¸os ca c1 Introdu¸˜o ca2 Requisitos do software desenvolvido3 Implementa¸˜o ca4 Configura¸˜o ca5 Inicializa¸˜o do Servi¸os ca c university-logo Roberto Beraldo Chaiben Camada de Interface
  3. 3. Introdu¸˜o ca Motiva¸˜o ca Requisitos do software desenvolvido Vis˜o Geral a Implementa¸˜o ca Arquitetura Configura¸˜o ca Defini¸˜es co Inicializa¸˜o do Servi¸os ca c1 Introdu¸˜o ca2 Requisitos do software desenvolvido3 Implementa¸˜o ca4 Configura¸˜o ca5 Inicializa¸˜o do Servi¸os ca c university-logo Roberto Beraldo Chaiben Camada de Interface
  4. 4. Introdu¸˜o ca Motiva¸˜o ca Requisitos do software desenvolvido Vis˜o Geral a Implementa¸˜o ca Arquitetura Configura¸˜o ca Defini¸˜es co Inicializa¸˜o do Servi¸os ca cLocaliza¸˜o da Camada de Interface ca Aplicações Interface Gerenciamento de Réplicas Armazenamento Repositório university-logo Roberto Beraldo Chaiben Camada de Interface
  5. 5. Introdu¸˜o ca Motiva¸˜o ca Requisitos do software desenvolvido Vis˜o Geral a Implementa¸˜o ca Arquitetura Configura¸˜o ca Defini¸˜es co Inicializa¸˜o do Servi¸os ca cMotiva¸˜o ca Camada de Interface Padronizar a comunica¸˜o do Cliente com a Camada de ca Gerenciamento Interface de f´cil utiliza¸˜o por aplica¸˜es (clientes) a ca co Independente de Sistema Operacional Acesso via WEB (HTTP) Solu¸˜o: WEB Service ca university-logo Roberto Beraldo Chaiben Camada de Interface
  6. 6. Introdu¸˜o ca Motiva¸˜o ca Requisitos do software desenvolvido Vis˜o Geral a Implementa¸˜o ca Arquitetura Configura¸˜o ca Defini¸˜es co Inicializa¸˜o do Servi¸os ca cVis˜o Geral a Camada de Interface Respons´vel pela comunica¸˜o entre cliente e reposit´rio a ca o (Camada de Gerenciamento) Recebe requisi¸˜es HTTP do cliente, formata-as e as envia ` co a Camada de Gerenciamento SSH para comunica¸˜o com a Camada de Gerenciamento ca Rsync para recupera¸˜o de objetos digitais ca WEB Service pode estar em m´quina dedicada, sem a reposit´rio para armazenamento de r´plicas o e university-logo Roberto Beraldo Chaiben Camada de Interface
  7. 7. Introdu¸˜o ca Motiva¸˜o ca Requisitos do software desenvolvido Vis˜o Geral a Implementa¸˜o ca Arquitetura Configura¸˜o ca Defini¸˜es co Inicializa¸˜o do Servi¸os ca cVis˜o Geral a Camada de Interface Composta por um WEB Service Servidor WEB incorporado ` aplica¸˜o a ca N˜o necessita de Apache, Tomcat ou outro servidor WEB a pr´-instalado e Padr˜o SOAP para comunica¸˜o com cliente a ca Opera¸˜es co Inser¸˜o de objeto digital (insert) ca Consulta por objeto digital (check) Exibe os estados das r´plicas de um objeto digital e Recupera¸˜o de objeto digital (retrieve) ca university-logo Roberto Beraldo Chaiben Camada de Interface
  8. 8. Introdu¸˜o ca Motiva¸˜o ca Requisitos do software desenvolvido Vis˜o Geral a Implementa¸˜o ca Arquitetura Configura¸˜o ca Defini¸˜es co Inicializa¸˜o do Servi¸os ca cArquitetura insert() retrieve() check() Gerenciamento Aplicação Camada de requisição SOAP requisição (via SSH) Web Service resposta SOAP resposta (via RSYNC) university-logo Roberto Beraldo Chaiben Camada de Interface
  9. 9. Introdu¸˜o ca Motiva¸˜o ca Requisitos do software desenvolvido Vis˜o Geral a Implementa¸˜o ca Arquitetura Configura¸˜o ca Defini¸˜es co Inicializa¸˜o do Servi¸os ca cDefini¸oes c˜ SOAP Simple Object Access Protocol - Protocolo Simples de Acesso a Objetos Padr˜o de comunica¸˜o entre cliente e servidor WEB Service a ca Baseada em XML Chamada Remota de Procedimento (RPC - Remote Procedure Call) WSDL Web Services Description Language - Linguagem de Descri¸˜o ca de WEB Service Baseada em XML Descreve as fun¸˜es dispon´ co ıveis no WEB Service university-logo Roberto Beraldo Chaiben Camada de Interface
  10. 10. Introdu¸˜o ca Requisitos do software desenvolvido Implementa¸˜o ca Configura¸˜o ca Inicializa¸˜o do Servi¸os ca c1 Introdu¸˜o ca2 Requisitos do software desenvolvido3 Implementa¸˜o ca4 Configura¸˜o ca5 Inicializa¸˜o do Servi¸os ca c university-logo Roberto Beraldo Chaiben Camada de Interface
  11. 11. Introdu¸˜o ca Requisitos do software desenvolvido Implementa¸˜o ca Configura¸˜o ca Inicializa¸˜o do Servi¸os ca cRequisitos Requisitos do WEB Service Java Runtime Environment 1.6 (JRE 6) Rsync Daemon SSH (Secure Shell) Acesso HTTP Recomenda-se o registro de um DNS para facilitar o acesso ao(s) WEB Service(s) university-logo Roberto Beraldo Chaiben Camada de Interface
  12. 12. Introdu¸˜o ca Requisitos do software desenvolvido API de Preserva¸˜o ca Implementa¸˜o ca Fluxo de Opera¸˜es co Configura¸˜o ca Inicializa¸˜o do Servi¸os ca c1 Introdu¸˜o ca2 Requisitos do software desenvolvido3 Implementa¸˜o ca4 Configura¸˜o ca5 Inicializa¸˜o do Servi¸os ca c university-logo Roberto Beraldo Chaiben Camada de Interface
  13. 13. Introdu¸˜o ca Requisitos do software desenvolvido API de Preserva¸˜o ca Implementa¸˜o ca Fluxo de Opera¸˜es co Configura¸˜o ca Inicializa¸˜o do Servi¸os ca cImplementa¸˜o ca Implementa¸˜o do WEB Service ca Linguagem Java Robusta para aplica¸˜es WEB co Multiplataforma Diversas op¸˜es de Servidores WEB para incorpora¸˜o co ca Linguagem altamente difundida e utilizada Servidor WEB Jetty1 Incorporado ` aplica¸˜o a ca N˜o necessita de Apache, Tomcat ou outro Servidor WEB a pr´-instalado e university-logo 1 http://jetty.codehaus.org/jetty/ Roberto Beraldo Chaiben Camada de Interface
  14. 14. Introdu¸˜o ca Requisitos do software desenvolvido API de Preserva¸˜o ca Implementa¸˜o ca Fluxo de Opera¸˜es co Configura¸˜o ca Inicializa¸˜o do Servi¸os ca cAPI de Preserva¸˜o ca Opera¸˜o de inser¸˜o de objeto digital ca ca boolean insert( String fileKey, byte[] fileData, double reliability ) Opera¸˜o de consulta por objeto digital ca String check( String fileKey ) Opera¸˜o de recupera¸˜o de objeto digital ca ca byte[] retrieve( String fileKey ) university-logo Roberto Beraldo Chaiben Camada de Interface
  15. 15. Introdu¸˜o ca Requisitos do software desenvolvido API de Preserva¸˜o ca Implementa¸˜o ca Fluxo de Opera¸˜es co Configura¸˜o ca Inicializa¸˜o do Servi¸os ca cOpera¸˜o de Inser¸˜o ca ca boolean insert( String fileKey, byte[] fileData, double reliability ) Retorno: True em caso de sucesso; False caso contr´rio a Parˆmetros: a fileKey: Hash MD5 do conte´do do arquivo a ser inserido u fileData: Conte´do do arquivo codificado em Base 64 u reliability: Confiabilidade desejada para o objeto (valor entre 0 e 1) Apenas uma solicita¸˜o de inser¸˜o. N˜o garante ca ca a preserva¸˜o imediata ca university-logo Roberto Beraldo Chaiben Camada de Interface
  16. 16. Introdu¸˜o ca Requisitos do software desenvolvido API de Preserva¸˜o ca Implementa¸˜o ca Fluxo de Opera¸˜es co Configura¸˜o ca Inicializa¸˜o do Servi¸os ca cOpera¸˜o de Consulta ca String check( String fileKey ) Retorno: Retorna os dados da consulta no formato JSON Reposit´rios em que as r´plicas se encontram o e Confiabilidade de cada reposit´rio on h´ r´plicas o a e Data da ultima auditoria ´ Data da pr´xima auditoria o Comando Rsync a ser utilizado para recuperar a r´lica e Confiabilidade total do objeto preservado Parˆmetros: a fileKey: Hash do conte´do do objeto a ser consultado u university-logo Roberto Beraldo Chaiben Camada de Interface
  17. 17. Introdu¸˜o ca Requisitos do software desenvolvido API de Preserva¸˜o ca Implementa¸˜o ca Fluxo de Opera¸˜es co Configura¸˜o ca Inicializa¸˜o do Servi¸os ca cExemplo de retorno da opera¸˜o check ca university-logo Roberto Beraldo Chaiben Camada de Interface
  18. 18. Introdu¸˜o ca Requisitos do software desenvolvido API de Preserva¸˜o ca Implementa¸˜o ca Fluxo de Opera¸˜es co Configura¸˜o ca Inicializa¸˜o do Servi¸os ca cOpera¸˜o de Recupera¸˜o ca ca byte[] retrieve( String fileKey ) Retorno: Conte´do do arquivo, codificado em Base 64 u Parˆmetros: a fileKey: Hash do conte´do do objeto a ser recuperado u university-logo Roberto Beraldo Chaiben Camada de Interface
  19. 19. Introdu¸˜o ca Requisitos do software desenvolvido API de Preserva¸˜o ca Implementa¸˜o ca Fluxo de Opera¸˜es co Configura¸˜o ca Inicializa¸˜o do Servi¸os ca cFluxo de Opera¸oes c˜ Inser¸˜o ca WEB Service recebe arquivo do cliente e salva-o no diret´rio o incoming Verifica integridade do arquivo (MD5) Apesar de o TCP utilizar CRC, isso pode n˜o ser suficiente a para garantir a integridade de arquivos grandes Faz SSH e notifica um reposit´rio, que copia o arquivo do o WEB Service via rsync university-logo Roberto Beraldo Chaiben Camada de Interface
  20. 20. Introdu¸˜o ca Requisitos do software desenvolvido API de Preserva¸˜o ca Implementa¸˜o ca Fluxo de Opera¸˜es co Configura¸˜o ca Inicializa¸˜o do Servi¸os ca cFluxo de Opera¸oes c˜ Consulta WEB Service recebe a chave do objeto a ser consultado Faz SSH e notifica um reposit´rio, solicitando uma opera¸˜o o ca de consulta WEB Service recebe a sa´ do reposit´rio e monta a string ıda o JSON a ser enviada ao cliente university-logo Roberto Beraldo Chaiben Camada de Interface
  21. 21. Introdu¸˜o ca Requisitos do software desenvolvido API de Preserva¸˜o ca Implementa¸˜o ca Fluxo de Opera¸˜es co Configura¸˜o ca Inicializa¸˜o do Servi¸os ca cFluxo de Opera¸oes c˜ Recupera¸˜o ca WEB Service recebe a chave do objeto a ser recuperado Faz SSH e notifica um reposit´rio, solicitando uma opera¸˜o o ca de recupera¸˜o ca WEB Service faz rsync para copiar o objeto do reposit´rio, o que ´ salvo no diret´rio outgoing e o Transfere ao cliente o conte´do do arquivo, codificado em u Base 64 university-logo Roberto Beraldo Chaiben Camada de Interface
  22. 22. Introdu¸˜o ca Requisitos do software desenvolvido Implementa¸˜o ca Configura¸˜o ca Inicializa¸˜o do Servi¸os ca c1 Introdu¸˜o ca2 Requisitos do software desenvolvido3 Implementa¸˜o ca4 Configura¸˜o ca5 Inicializa¸˜o do Servi¸os ca c university-logo Roberto Beraldo Chaiben Camada de Interface
  23. 23. Introdu¸˜o ca Requisitos do software desenvolvido Implementa¸˜o ca Configura¸˜o ca Inicializa¸˜o do Servi¸os ca cConfigura¸oes do WEB Service c˜ Arquivo de configura¸˜o: webservice/ws config file ca Arquivo de configura¸˜o compartilhado por Shell Script e Java ca N˜o utilizar vari´veis nativas do Shell ou do Java a a Arquivo webservice/knownhosts.txt Arquivo texto com a lista de hosts conhecidos pelo WEB Service, nos quais far´ SSH para a Camada de Gerenciamento a Exemplo: usuario1@host1 usuario2@host2 usuario3@host3 Recomenda-se a cria¸˜o de um usu´rio espec´ ca a ıfico para executar o WEB Service university-logo Roberto Beraldo Chaiben Camada de Interface
  24. 24. Introdu¸˜o ca Requisitos do software desenvolvido Implementa¸˜o ca Configura¸˜o ca Inicializa¸˜o do Servi¸os ca c1 Introdu¸˜o ca2 Requisitos do software desenvolvido3 Implementa¸˜o ca4 Configura¸˜o ca5 Inicializa¸˜o do Servi¸os ca c university-logo Roberto Beraldo Chaiben Camada de Interface
  25. 25. Introdu¸˜o ca Requisitos do software desenvolvido Implementa¸˜o ca Configura¸˜o ca Inicializa¸˜o do Servi¸os ca cInicializa¸˜o do Servi¸os ca c WEB Service Via script inicia servicos.sh: inicia servicos.sh webservice start Via linha de comando java -jar webservice/servidor/dist/Webservice-DP.jar [porta] & Rsync Daemon Via script inicia servicos.sh: inicia servicos.sh rsync start Via linha de comando rsync --daemon --config=rsynd.conf --port=porta Recomenda-se configurar a inicializa¸˜o dos servi¸os na ca c inicializa¸˜o do Sistema Operacional (init.d, em Linux) ca university-logo Roberto Beraldo Chaiben Camada de Interface
  26. 26. Introdu¸˜o ca Requisitos do software desenvolvido Implementa¸˜o ca Configura¸˜o ca Inicializa¸˜o do Servi¸os ca cD´vidas? Coment´rios? Sugest˜es? u a o university-logo Roberto Beraldo Chaiben Camada de Interface

×