23
university-logo Introdu¸c˜ ao Requisitos Implementa¸c˜ ao Configura¸c˜ ao Conclus˜ ao Sistema de Preserva¸c˜ ao Digital Camada de Aplica¸c˜ ao GT-DigitalPreservation C3SL - Centro de Computa¸c˜ ao Cient´ ıfica e Software Livre Departamento de Inform´ atica Universidade Federal do Paran´ a Setembro de 2011 Roberto Beraldo Chaiben Camada de Aplica¸ ao

GT-Digital Preservation - Camada de Aplicacao

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: GT-Digital Preservation - Camada de Aplicacao

university-logo

IntroducaoRequisitos

ImplementacaoConfiguracao

Conclusao

Sistema de Preservacao DigitalCamada de Aplicacao

GT-DigitalPreservationC3SL - Centro de Computacao Cientıfica e Software Livre

Departamento de InformaticaUniversidade Federal do Parana

Setembro de 2011

Roberto Beraldo Chaiben Camada de Aplicacao

Page 2: GT-Digital Preservation - Camada de Aplicacao

university-logo

IntroducaoRequisitos

ImplementacaoConfiguracao

Conclusao

1 Introducao

2 Requisitos

3 Implementacao

4 Configuracao

5 Conclusao

Roberto Beraldo Chaiben Camada de Aplicacao

Page 3: GT-Digital Preservation - Camada de Aplicacao

university-logo

IntroducaoRequisitos

ImplementacaoConfiguracao

Conclusao

Visao Geral

1 Introducao

2 Requisitos

3 Implementacao

4 Configuracao

5 Conclusao

Roberto Beraldo Chaiben Camada de Aplicacao

Page 4: GT-Digital Preservation - Camada de Aplicacao

university-logo

IntroducaoRequisitos

ImplementacaoConfiguracao

Conclusao

Visao Geral

Localizacao da Camada de Aplicacao

Armazenamento

Gerenciamento de Réplicas

Interface

Aplicações

Repositório

Roberto Beraldo Chaiben Camada de Aplicacao

Page 5: GT-Digital Preservation - Camada de Aplicacao

university-logo

IntroducaoRequisitos

ImplementacaoConfiguracao

Conclusao

Visao Geral

Estrutura desta Apresentacao

Descricao geral da Camada de Aplicacao

Orientacoes para desenvolvimento de uma aplicacao propria

Detalhamento da aplicacao de exemplo

Roberto Beraldo Chaiben Camada de Aplicacao

Page 6: GT-Digital Preservation - Camada de Aplicacao

university-logo

IntroducaoRequisitos

ImplementacaoConfiguracao

Conclusao

Visao Geral

Visao Geral

Camada de Aplicacao

Interface grafica para uso do Sistema de Preservacao Digital

Realiza a comunicacao entre o cliente e o servidor do WEBService

Cliente de WEB Service

Padrao SOAP para comunicacao com o servidor

Roberto Beraldo Chaiben Camada de Aplicacao

Page 7: GT-Digital Preservation - Camada de Aplicacao

university-logo

IntroducaoRequisitos

ImplementacaoConfiguracao

Conclusao

1 Introducao

2 Requisitos

3 Implementacao

4 Configuracao

5 Conclusao

Roberto Beraldo Chaiben Camada de Aplicacao

Page 8: GT-Digital Preservation - Camada de Aplicacao

university-logo

IntroducaoRequisitos

ImplementacaoConfiguracao

Conclusao

Requisitos de software

Para desenvolver uma aplicacao propria:

Suporte ao protocolo SOAP, para comunicacao com o WEBService

Para usar a aplicacao exemplo:

Python 2.6+ < 3.0Acesso HTTPApache 2 com Modulo Python (mod python) e ModuloRewrite (mod rewrite)

Roberto Beraldo Chaiben Camada de Aplicacao

Page 9: GT-Digital Preservation - Camada de Aplicacao

university-logo

IntroducaoRequisitos

ImplementacaoConfiguracao

Conclusao

API de PreservacaoOrientacoes para implementacao do clienteClasse de exemplo

1 Introducao

2 Requisitos

3 Implementacao

4 Configuracao

5 Conclusao

Roberto Beraldo Chaiben Camada de Aplicacao

Page 10: GT-Digital Preservation - Camada de Aplicacao

university-logo

IntroducaoRequisitos

ImplementacaoConfiguracao

Conclusao

API de PreservacaoOrientacoes para implementacao do clienteClasse de exemplo

Apresentacao da aplicacao de exemplo

Roberto Beraldo Chaiben Camada de Aplicacao

Page 11: GT-Digital Preservation - Camada de Aplicacao

university-logo

IntroducaoRequisitos

ImplementacaoConfiguracao

Conclusao

API de PreservacaoOrientacoes para implementacao do clienteClasse de exemplo

Implementacao

Aplicacao de Exemplo

Linguagem Python

Robusta para aplicacoes WEBNativa de muitas distros LinuxLinguagem de faceis aprendizado e utilizacao

Uso da biblioteca Suds1 para implementar SOAP

1https://fedorahosted.org/suds/Roberto Beraldo Chaiben Camada de Aplicacao

Page 12: GT-Digital Preservation - Camada de Aplicacao

university-logo

IntroducaoRequisitos

ImplementacaoConfiguracao

Conclusao

API de PreservacaoOrientacoes para implementacao do clienteClasse de exemplo

API de Preservacao

Exemplos de implementacao usando a biblioteca Sudsimport suds

Instancia da classe Client, da biblioteca Suds

client = suds.client.Client( urlWSDL )

Chamada do metodo de insercao de objeto digital

client.service.insert( fileHash, fileContent, reliability )

Chamada do metodo de consulta por objeto digital

client.service.check( fileKey )

Chamada do metodo de recuperacao de objeto digital

client.service.retrieve( fileKey )

Roberto Beraldo Chaiben Camada de Aplicacao

Page 13: GT-Digital Preservation - Camada de Aplicacao

university-logo

IntroducaoRequisitos

ImplementacaoConfiguracao

Conclusao

API de PreservacaoOrientacoes para implementacao do clienteClasse de exemplo

Orientacoes e observacoes paraimplementacao do cliente do WEB

Service

Roberto Beraldo Chaiben Camada de Aplicacao

Page 14: GT-Digital Preservation - Camada de Aplicacao

university-logo

IntroducaoRequisitos

ImplementacaoConfiguracao

Conclusao

API de PreservacaoOrientacoes para implementacao do clienteClasse de exemplo

Insercao (insert)

Recomenda-se realizar uma consulta (check) antes dainsercao, a fim de evitar insercoes duplicadas, alem deeconomizar tempo com upload do arquivo para o WEBService.

Roberto Beraldo Chaiben Camada de Aplicacao

Page 15: GT-Digital Preservation - Camada de Aplicacao

university-logo

IntroducaoRequisitos

ImplementacaoConfiguracao

Conclusao

API de PreservacaoOrientacoes para implementacao do clienteClasse de exemplo

Consulta (check)

A operacao de consulta pode exibir menos informacoes ou atemesmo nao ser implementada, a fim de evitar a divulgacao deinformacoes de localizacao de replicas (prevencao de ataques)

Roberto Beraldo Chaiben Camada de Aplicacao

Page 16: GT-Digital Preservation - Camada de Aplicacao

university-logo

IntroducaoRequisitos

ImplementacaoConfiguracao

Conclusao

API de PreservacaoOrientacoes para implementacao do clienteClasse de exemplo

Recuperacao (retrieve)

Recomenda-se fazer uma consulta (check) antes darecuperacao. Com esse resultado, e possıvel mostrar aousuario os comandos rsync disponıveis para recuperar o objeto.Assim e possıvel selecionar a replica mais proxima ao usuario.

A recuperacao via HTTP envolve o uso da codificacao Base64, que prejudica o desempenho. Recuperacao via Rsync epreferıvel

Roberto Beraldo Chaiben Camada de Aplicacao

Page 17: GT-Digital Preservation - Camada de Aplicacao

university-logo

IntroducaoRequisitos

ImplementacaoConfiguracao

Conclusao

API de PreservacaoOrientacoes para implementacao do clienteClasse de exemplo

Classe SoapClient

Arquivo SoapClientClass.py

Classe que implementa as tres operacoes do WEB Service,alem da opcao de definir a URL do WSDL

Utiliza a biblioteca Suds

Metodos:

insert( fileKey, reliability, filename )check( fileKey )retrieve( fileKey )setWsdlFile( wsdlFile )

Roberto Beraldo Chaiben Camada de Aplicacao

Page 18: GT-Digital Preservation - Camada de Aplicacao

university-logo

IntroducaoRequisitos

ImplementacaoConfiguracao

Conclusao

1 Introducao

2 Requisitos

3 Implementacao

4 Configuracao

5 Conclusao

Roberto Beraldo Chaiben Camada de Aplicacao

Page 19: GT-Digital Preservation - Camada de Aplicacao

university-logo

IntroducaoRequisitos

ImplementacaoConfiguracao

Conclusao

Configuracao do Apache

Configuracao de site no Apache

VirtualHost2

Habilitar suporte a Python Server Pages (.psp)3

Configuracao do Modulo ReWrite (redirecionar requisicoespara index.psp)

2http://httpd.apache.org/docs/2.0/vhosts/examples.html3http://www.modpython.org/live/current/doc-html/hand-psp.html

Roberto Beraldo Chaiben Camada de Aplicacao

Page 20: GT-Digital Preservation - Camada de Aplicacao

university-logo

IntroducaoRequisitos

ImplementacaoConfiguracao

Conclusao

Configuracao da aplicacao de exemplo

Definicao da URL do WSDL

Apos instanciar a classe SoapClient, utilizar o metodosetWsdlFile

client = SoapClient()client.setWsdlFile( urlWSDL )

Tambem e possıvel definir a URL do WSDL diretamente napropriedade wsdlFile da classe SoapClient

Roberto Beraldo Chaiben Camada de Aplicacao

Page 21: GT-Digital Preservation - Camada de Aplicacao

university-logo

IntroducaoRequisitos

ImplementacaoConfiguracao

Conclusao

1 Introducao

2 Requisitos

3 Implementacao

4 Configuracao

5 Conclusao

Roberto Beraldo Chaiben Camada de Aplicacao

Page 22: GT-Digital Preservation - Camada de Aplicacao

university-logo

IntroducaoRequisitos

ImplementacaoConfiguracao

Conclusao

Conclusao

Facil implementacao de clientes para o WEB Service (PadraoSOAP)

Flexibilidade de linguagem para implementacao

Possibilidade de integracao com sistemas de preservacaodigital, como o DSpace4

4http://www.dspace.orgRoberto Beraldo Chaiben Camada de Aplicacao

Page 23: GT-Digital Preservation - Camada de Aplicacao

university-logo

IntroducaoRequisitos

ImplementacaoConfiguracao

Conclusao

Duvidas? Comentarios? Sugestoes?

Roberto Beraldo Chaiben Camada de Aplicacao