wsit: extensão de uma ferramenta de busca federada para web services emanuel müller ramos...

35
WSIT: Extensão de uma ferramenta de busca federada para Web Services Emanuel Müller Ramos Orientador: Cláudio Fernando Resin Geyer

Upload: agatha-abrantes

Post on 07-Apr-2016

216 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: WSIT: Extensão de uma ferramenta de busca federada para Web Services Emanuel Müller Ramos Orientador: Cláudio Fernando Resin Geyer

WSIT: Extensão de uma ferramenta de busca federada para Web Services

Emanuel Müller Ramos

Orientador: Cláudio Fernando Resin Geyer

Page 2: WSIT: Extensão de uma ferramenta de busca federada para Web Services Emanuel Müller Ramos Orientador: Cláudio Fernando Resin Geyer

26/10/2006 Web Service Integration Toolkit

2/34

Sumário Introdução ECIS Web Services O projeto Conclusão

Page 3: WSIT: Extensão de uma ferramenta de busca federada para Web Services Emanuel Müller Ramos Orientador: Cláudio Fernando Resin Geyer

26/10/2006 Web Service Integration Toolkit

3/34

Introdução WSIT: Web Service Integration Toolkit;

Trabalho baseado nos resultados obtidos durante PFE;

Envolveu as seguintes instituições: UFRGS

Orientação do Professor Geyer; EMC Documentum

Empresa onde o trabalho foi desenvolvido; INPG/ENSIMAG

Escola francesa responsável pelo projeto.

Page 4: WSIT: Extensão de uma ferramenta de busca federada para Web Services Emanuel Müller Ramos Orientador: Cláudio Fernando Resin Geyer

26/10/2006 Web Service Integration Toolkit

4/34

Sumário Introdução ECIS Web Services O projeto Conclusão

Page 5: WSIT: Extensão de uma ferramenta de busca federada para Web Services Emanuel Müller Ramos Orientador: Cláudio Fernando Resin Geyer

26/10/2006 Web Service Integration Toolkit

5/34

O controle de informação Organizações possuem diferentes tipos de informação

espalhados por diferentes lugares (fontes de informação): Documentos (XML, PDF, etc.); Bancos de dados; Páginas HTML; Imagens; Sistemas diversos;

O controle dessa informação é muito importante: Redução de custos; Aumento de produtividade; Maior lucro;

Problemas do controle de informação [EMC 04]: Localização; Heterogeneidade; Documentos não estruturados.

Page 6: WSIT: Extensão de uma ferramenta de busca federada para Web Services Emanuel Müller Ramos Orientador: Cláudio Fernando Resin Geyer

26/10/2006 Web Service Integration Toolkit

6/34

ECIS (Enterprise Content Integration Services)

Ferramenta de busca federada criada pela Xerox Research Center Europe;

Comprada em 16 de março de 2004 pela EMC;

Permite ao usuário realizar pesquisas sobre diferentes fontes de informação através de uma única consulta;

Faz a integração de dados internos e externos da empresa;

Usuário tem uma abstração que todos os dados são homogêneos e localizados em um só lugar.

Page 7: WSIT: Extensão de uma ferramenta de busca federada para Web Services Emanuel Müller Ramos Orientador: Cláudio Fernando Resin Geyer

26/10/2006 Web Service Integration Toolkit

7/34

ECIS: Arquitetura Possui três componentes principais:

Cliente; Servidor ECI; Adapters;

Desenvolvido em Java.

Page 8: WSIT: Extensão de uma ferramenta de busca federada para Web Services Emanuel Müller Ramos Orientador: Cláudio Fernando Resin Geyer

26/10/2006 Web Service Integration Toolkit

8/34

Adapters São os responsáveis por acessar

as fontes de informação; Escondem características

específicas de uma fonte de informação

ADK API;

Adaptam as pesquisas enviadas pelo servidor ECI para linguagem destino;

Existem Adapters para diferentes tipos de dados;

As pesquisas do usuário e as respostas dos Adapters são descritas usando metadados.

Page 9: WSIT: Extensão de uma ferramenta de busca federada para Web Services Emanuel Müller Ramos Orientador: Cláudio Fernando Resin Geyer

26/10/2006 Web Service Integration Toolkit

9/34

Pesquisa Resposta

Page 10: WSIT: Extensão de uma ferramenta de busca federada para Web Services Emanuel Müller Ramos Orientador: Cláudio Fernando Resin Geyer

26/10/2006 Web Service Integration Toolkit

10/34

1 2 34

56

Page 11: WSIT: Extensão de uma ferramenta de busca federada para Web Services Emanuel Müller Ramos Orientador: Cláudio Fernando Resin Geyer

26/10/2006 Web Service Integration Toolkit

11/34

Sumário Introdução ECIS Web Services O projeto Conclusão

Page 12: WSIT: Extensão de uma ferramenta de busca federada para Web Services Emanuel Müller Ramos Orientador: Cláudio Fernando Resin Geyer

26/10/2006 Web Service Integration Toolkit

12/34

Web Services Objetivo: permitir uma comunicação fácil entre aplicações

utilizando a estrutura da Web já existente;

Determinam um conjunto de mecanismos que permitem expandir a Internet (Web) para aceitar a troca de informações entre aplicações;

Um Web Service é uma aplicação que ([CER 02] e [NEW 02]): Está disponível através da Internet; Utiliza padrões baseados em XML para descrever as mensagens

enviadas e recebidas, bem como seus dados; É independente de hardware, sistema operacional e linguagem de

programação; Pode ser descrita utilizando XML; Pode ser encontrada facilmente.

Page 13: WSIT: Extensão de uma ferramenta de busca federada para Web Services Emanuel Müller Ramos Orientador: Cláudio Fernando Resin Geyer

26/10/2006 Web Service Integration Toolkit

13/34

Arquitetura Componentes: Pilha de protocolos:

Conjunto mais utilizado: HTTP + SOAP + WSDL + UDDI

Page 14: WSIT: Extensão de uma ferramenta de busca federada para Web Services Emanuel Müller Ramos Orientador: Cláudio Fernando Resin Geyer

26/10/2006 Web Service Integration Toolkit

14/34

Como acessar um Web Service?

Existem várias ferramentas disponíveis em Java para criar e acessar um Web Service;

Bibliotecas estudadas: Apache Axis 1 e Axis 2; JWSDP; Apache SOAP; Apache WSIF; WSDL4J;

Quatro formas principais de acessar um Web Service Criar tudo manualmente; Utilizar uma ferramenta para criação das mensagens enviadas e

recebidas; Utilizar uma ferramenta para acessar o Web Service dinâmicamente; Criar Stubs para acessar o Web Service estaticamente utilizando

uma das ferramentas disponíveis.

Page 15: WSIT: Extensão de uma ferramenta de busca federada para Web Services Emanuel Müller Ramos Orientador: Cláudio Fernando Resin Geyer

26/10/2006 Web Service Integration Toolkit

15/34

Sumário Introdução ECIS Web Services O projeto

Objetivos Decisões importantes Implementação

Conclusão

Page 16: WSIT: Extensão de uma ferramenta de busca federada para Web Services Emanuel Müller Ramos Orientador: Cláudio Fernando Resin Geyer

26/10/2006 Web Service Integration Toolkit

16/34

Objetivos: motivação Web Services têm se tornado importantes nos

últimos anos Várias empresas oferecem formas de acessar seus

sistemas através de Web Services;

Desta forma, EMC também gostaria que o ECIS realizasse pesquisas em fontes de informação disponibilizadas como Web Services;

Entretanto, cada Web Service adicionado implica a criação de um novo Adapter

Muito custoso: é necessário aproximadamente duas semanas para fazer um Adapter para Web Service manualmente.

Page 17: WSIT: Extensão de uma ferramenta de busca federada para Web Services Emanuel Müller Ramos Orientador: Cláudio Fernando Resin Geyer

26/10/2006 Web Service Integration Toolkit

17/34

Objetivos do Projeto Desenvolver uma ferramenta que permita criar semi-

automaticamente Adapters para Web Services Necessita implementar todos os métodos da API dos Adapters;

O desenvolvedor deve informar somente dados essenciais A geração de código deve ser feita automaticamente;

A ferramenta deve também permitir testar e debugar o Adapter gerado;

Adicionalmente, a ferramenta deve facilitar ao desenvolvedor modificar o Adapter gerado

Utilização de arquivos de configuração;

Se possível, reutilizar as funcionalidades existentes no HTML Adapter Builder.

Page 18: WSIT: Extensão de uma ferramenta de busca federada para Web Services Emanuel Müller Ramos Orientador: Cláudio Fernando Resin Geyer

26/10/2006 Web Service Integration Toolkit

18/34

Sumário Introdução ECIS Web Services O projeto

Objetivos Decisões importantes Implementação

Conclusão

Page 19: WSIT: Extensão de uma ferramenta de busca federada para Web Services Emanuel Müller Ramos Orientador: Cláudio Fernando Resin Geyer

26/10/2006 Web Service Integration Toolkit

19/34

Como associar os Metadados do Servidor ECI à Chamada de um Web Service?

Utilizar a geração estática de Stubs Usuário informa o mapeamento entre cada

parâmetro do Web Service e cada metadado do Servidor ECI;

Ele deve fazer o mesmo para os resultados do Web Service.

Page 20: WSIT: Extensão de uma ferramenta de busca federada para Web Services Emanuel Müller Ramos Orientador: Cláudio Fernando Resin Geyer

26/10/2006 Web Service Integration Toolkit

20/34

Representação em Árvore Argumentos e

resultados do Web Service são representados como uma árvore;

Cada folha da árvore pode ser mapeada para um metadado.

Page 21: WSIT: Extensão de uma ferramenta de busca federada para Web Services Emanuel Müller Ramos Orientador: Cláudio Fernando Resin Geyer

26/10/2006 Web Service Integration Toolkit

21/34

Transformando Árvores em Código Basicamente: caminhamento em

árvores à esquerda por profundidade.

Page 22: WSIT: Extensão de uma ferramenta de busca federada para Web Services Emanuel Müller Ramos Orientador: Cláudio Fernando Resin Geyer

26/10/2006 Web Service Integration Toolkit

22/34

Qual biblioteca utilizar? A biblioteca precisa suportar a criação estática de Stubs

Apache SOAP não suporta Substituído pelo Axis;

Axis 2 ainda estava em versão beta; WSIF – nenhuma atualização a mais de três anos;

Axis 1 e JWSDP Características similares; JWSDP implementa JAX-WS, uma especificação mais nova que JAX-RPC

(implementado pelo Axis); Axis é um software Open Source;

Por que não JWSDP? Axis era utilizado anteriormente pelos desenvolvedores do ECIS para gerar os

Adapters manualmente Compatibilidade com os Adapters antigos;

WSDL4J foi utilizado para analizar os arquivos WSDL do Web Service.

Page 23: WSIT: Extensão de uma ferramenta de busca federada para Web Services Emanuel Müller Ramos Orientador: Cláudio Fernando Resin Geyer

26/10/2006 Web Service Integration Toolkit

23/34

Sumário Introdução ECIS Web Services O projeto

Objetivos Decisões importantes Implementação

Conclusão

Page 24: WSIT: Extensão de uma ferramenta de busca federada para Web Services Emanuel Müller Ramos Orientador: Cláudio Fernando Resin Geyer

26/10/2006 Web Service Integration Toolkit

24/34

A janela principal

Page 25: WSIT: Extensão de uma ferramenta de busca federada para Web Services Emanuel Müller Ramos Orientador: Cláudio Fernando Resin Geyer

26/10/2006 Web Service Integration Toolkit

25/34

Nomear o Adapter, Escolher o Arquivo WSDL e Escolher as Operações

Page 26: WSIT: Extensão de uma ferramenta de busca federada para Web Services Emanuel Müller Ramos Orientador: Cláudio Fernando Resin Geyer

26/10/2006 Web Service Integration Toolkit

26/34

Page 27: WSIT: Extensão de uma ferramenta de busca federada para Web Services Emanuel Müller Ramos Orientador: Cláudio Fernando Resin Geyer

26/10/2006 Web Service Integration Toolkit

27/34

Definir filtragem e tradutor

Page 28: WSIT: Extensão de uma ferramenta de busca federada para Web Services Emanuel Müller Ramos Orientador: Cláudio Fernando Resin Geyer

26/10/2006 Web Service Integration Toolkit

28/34

As Informações Locais e os Casos de Teste

Page 29: WSIT: Extensão de uma ferramenta de busca federada para Web Services Emanuel Müller Ramos Orientador: Cláudio Fernando Resin Geyer

26/10/2006 Web Service Integration Toolkit

29/34

Javadoc

Axis Stubs

Adapter Files

Packaged Stubs

Page 30: WSIT: Extensão de uma ferramenta de busca federada para Web Services Emanuel Müller Ramos Orientador: Cláudio Fernando Resin Geyer

26/10/2006 Web Service Integration Toolkit

30/34

Teste a ser executado

Informação de Debug

Page 31: WSIT: Extensão de uma ferramenta de busca federada para Web Services Emanuel Müller Ramos Orientador: Cláudio Fernando Resin Geyer

26/10/2006 Web Service Integration Toolkit

31/34

Sumário Introdução ECIS Web Services O projeto Conclusão

Page 32: WSIT: Extensão de uma ferramenta de busca federada para Web Services Emanuel Müller Ramos Orientador: Cláudio Fernando Resin Geyer

26/10/2006 Web Service Integration Toolkit

32/34

Conclusão Projeto terminado com sucesso

Produto aprovado pela equipe de qualidade da EMC; Nome oficial: Web Service Adapter Builder;

Superação das expectativas iniciais;

Tempo de desenvolvimento de um Adapter: 1 hora;

Axis mostrou ser uma boa escolha; Problemas facilmente resolvidos

Projeto bem especificado; Boa arquitetura do sistema.

Page 33: WSIT: Extensão de uma ferramenta de busca federada para Web Services Emanuel Müller Ramos Orientador: Cláudio Fernando Resin Geyer

26/10/2006 Web Service Integration Toolkit

33/34

Trabalhos futuros Axis 2;

WSDL com anotações semânticas;

Web Services que retornam XML;

REST.

Page 34: WSIT: Extensão de uma ferramenta de busca federada para Web Services Emanuel Müller Ramos Orientador: Cláudio Fernando Resin Geyer

26/10/2006 Web Service Integration Toolkit

34/34

Referências [CER 02] CERAMI Ethan. Web Services Essentials -

Distributed Applications with XML-RPC, SOAP, UDDI & WSDL. O'Reilly, Outubro de 2002.

[EMC 04] EMC. Enterprise Content Integration Services – Reaching out to Content Beyond Documentum Repository. EMC Documentum Technical Whitepaper, Agosto de 2004. Disponível em: http://software.emc.com/collateral/content_management/documentum_family/wp_tech_ecis.pdf . Acessado em: fev 2006.

[NEW 02] NEWCOMER Eric. Understanding Web Services: XML, WSDL, SOAP, and UDDI. 1st edition. Addison-Wesley Professional, Maio de 2002.

Page 35: WSIT: Extensão de uma ferramenta de busca federada para Web Services Emanuel Müller Ramos Orientador: Cláudio Fernando Resin Geyer

WSIT: Extensão de uma ferramenta de busca federada para Web Services

Emanuel Müller Ramos

Orientador: Cláudio Fernando Resin Geyer