Date post: | 05-Jul-2015 |
Category: |
Technology |
Upload: | roberto-beraldo-chaiben |
View: | 151 times |
Download: | 3 times |
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
university-logo
IntroducaoRequisitos
ImplementacaoConfiguracao
Conclusao
1 Introducao
2 Requisitos
3 Implementacao
4 Configuracao
5 Conclusao
Roberto Beraldo Chaiben 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
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
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
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
university-logo
IntroducaoRequisitos
ImplementacaoConfiguracao
Conclusao
1 Introducao
2 Requisitos
3 Implementacao
4 Configuracao
5 Conclusao
Roberto Beraldo Chaiben 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
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
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
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
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
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
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
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
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
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
university-logo
IntroducaoRequisitos
ImplementacaoConfiguracao
Conclusao
1 Introducao
2 Requisitos
3 Implementacao
4 Configuracao
5 Conclusao
Roberto Beraldo Chaiben 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
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
university-logo
IntroducaoRequisitos
ImplementacaoConfiguracao
Conclusao
1 Introducao
2 Requisitos
3 Implementacao
4 Configuracao
5 Conclusao
Roberto Beraldo Chaiben 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
university-logo
IntroducaoRequisitos
ImplementacaoConfiguracao
Conclusao
Duvidas? Comentarios? Sugestoes?
Roberto Beraldo Chaiben Camada de Aplicacao