Title: WSIT: Extens
1WSIT Extensão de uma ferramenta de busca
federada para Web Services
- Emanuel Müller Ramos
- Orientador Cláudio Fernando Resin Geyer
2Sumário
- Introdução
- ECIS
- Web Services
- O projeto
- Conclusão
3Introduçã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.
4Sumário
- Introdução
- ECIS
- Web Services
- O projeto
- Conclusão
5O 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.
6ECIS (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.
7ECIS Arquitetura
- Possui três componentes principais
- Cliente
- Servidor ECI
- Adapters
- Desenvolvido em Java.
8Adapters
- 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.
9Resposta
Pesquisa
102
3
1
4
5
6
11Sumário
- Introdução
- ECIS
- Web Services
- O projeto
- Conclusão
12Web 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.
13Arquitetura
- Pilha de protocolos
- Conjunto mais utilizado HTTP SOAP WSDL
UDDI
14Como 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.
15Sumário
- Introdução
- ECIS
- Web Services
- O projeto
- Objetivos
- Decisões importantes
- Implementação
- Conclusão
16Objetivos 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.
17Objetivos 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.
18Sumário
- Introdução
- ECIS
- Web Services
- O projeto
- Objetivos
- Decisões importantes
- Implementação
- Conclusão
19Como 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.
20Representaçã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.
21Transformando Árvores em Código
- Basicamente caminhamento em árvores à esquerda
por profundidade.
22Qual 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.
23Sumário
- Introdução
- ECIS
- Web Services
- O projeto
- Objetivos
- Decisões importantes
- Implementação
- Conclusão
24A janela principal
25Nomear o Adapter, Escolher o Arquivo WSDL e
Escolher as Operações
26(No Transcript)
27Definir filtragem e tradutor
28As Informações Locais e os Casos de Teste
29Javadoc
Packaged Stubs
Axis Stubs
Adapter Files
30Teste a ser executado
Informação de Debug
31Sumário
- Introdução
- ECIS
- Web Services
- O projeto
- Conclusão
32Conclusã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.
33Trabalhos futuros
- Axis 2
- WSDL com anotações semânticas
- Web Services que retornam XML
- REST.
34Referê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_managem
ent/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.
35WSIT Extensão de uma ferramenta de busca
federada para Web Services
- Emanuel Müller Ramos
- Orientador Cláudio Fernando Resin Geyer