350 likes | 452 Views
WSIT: Extensão de uma ferramenta de busca federada para Web Services. Emanuel Müller Ramos Orientador: Cláudio Fernando Resin Geyer. Sum ário. Introdução ECIS Web Services O projeto Conclusão. Introdução. WSIT: Web Service Integration Toolkit;
E N D
WSIT: Extensão de uma ferramenta de busca federada para Web Services Emanuel Müller Ramos Orientador: Cláudio Fernando Resin Geyer
Sumário • Introdução • ECIS • Web Services • O projeto • Conclusão Web Service Integration Toolkit
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. Web Service Integration Toolkit
Sumário • Introdução • ECIS • Web Services • O projeto • Conclusão Web Service Integration Toolkit
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. Web Service Integration Toolkit
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. Web Service Integration Toolkit
ECIS: Arquitetura • Possui três componentes principais: • Cliente; • Servidor ECI; • Adapters; • Desenvolvido em Java. Web Service Integration Toolkit
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. Web Service Integration Toolkit
Resposta Pesquisa Web Service Integration Toolkit
2 3 1 4 5 6 Web Service Integration Toolkit
Sumário • Introdução • ECIS • Web Services • O projeto • Conclusão Web Service Integration Toolkit
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. Web Service Integration Toolkit
Componentes: Pilha de protocolos: Conjunto mais utilizado: HTTP + SOAP + WSDL + UDDI Arquitetura Web Service Integration Toolkit
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. Web Service Integration Toolkit
Sumário • Introdução • ECIS • Web Services • O projeto • Objetivos • Decisões importantes • Implementação • Conclusão Web Service Integration Toolkit
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. Web Service Integration Toolkit
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. Web Service Integration Toolkit
Sumário • Introdução • ECIS • Web Services • O projeto • Objetivos • Decisões importantes • Implementação • Conclusão Web Service Integration Toolkit
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. Web Service Integration Toolkit
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. Web Service Integration Toolkit
Transformando Árvores em Código • Basicamente: caminhamento em árvores à esquerda por profundidade. Web Service Integration Toolkit
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. Web Service Integration Toolkit
Sumário • Introdução • ECIS • Web Services • O projeto • Objetivos • Decisões importantes • Implementação • Conclusão Web Service Integration Toolkit
A janela principal Web Service Integration Toolkit
Nomear o Adapter, Escolher o Arquivo WSDL e Escolher as Operações Web Service Integration Toolkit
Definir filtragem e tradutor Web Service Integration Toolkit
As Informações Locais e os Casos de Teste Web Service Integration Toolkit
Javadoc Packaged Stubs Axis Stubs Adapter Files Web Service Integration Toolkit
Teste a ser executado Informação de Debug Web Service Integration Toolkit
Sumário • Introdução • ECIS • Web Services • O projeto • Conclusão Web Service Integration Toolkit
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. Web Service Integration Toolkit
Trabalhos futuros • Axis 2; • WSDL com anotações semânticas; • Web Services que retornam XML; • REST. Web Service Integration Toolkit
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. Web Service Integration Toolkit
WSIT: Extensão de uma ferramenta de busca federada para Web Services Emanuel Müller Ramos Orientador: Cláudio Fernando Resin Geyer