DGERT   APCER
Relações de compromisso

Arquitecturas SOA e Protocolos SOAP, WSDL e UDDI


No artigo anterior vimos como os Web Services poderão auxiliar-nos na difícil tarefa de criar componentes facilmente reutilizáveis pelas aplicações, independentemente da linguagem de programação que utilizem e da plataforma que as suporte. Para atingir este objectivo, os Web Services disponibilizam protocolos de interface únicos, para que todas as aplicações tenham apenas de entender uma única semântica. Este artigo refere-se precisamente a esses protolocos open-standard e às arquitecturas orientadas a serviços segundo as quais se desenvolvem os Web Services.

 
Apesar de existirem inúmeros protocolos de suporte à comunicação, a maioria está intrinsecamente ligado a um sistema operativo ou ambiente de desenvolvimento. O SOAP (Simple Object Application Protocol) é um protocolo desenvolvido para ser flexível, permitindo a comunicação entre máquinas em ambientes heterogéneos. O seu sucesso deve-se essencialmente ao facto de ser simples (como o seu nome indica), de ser formatado em XML e transportado por http - ou seja, utiliza protocolos há muito adoptados pela indústria.


 
 

Mas como é que se interligam todos estes protocolos? Como é o seu funcionamento conjunto? Esta interacção é descrita pela arquitectura SOA, (arquitectura orientada a serviços), sobre a qual se desenvolvem os Web Services. A primeira fase desta arquitectura, passa pelo desenvolvimento e instalação do Web Service. Posteriormente, o serviço é publicado num registo UDDI que inclui, para além da descrição sumária do mesmo, a referência do seu endereço e do documento WSDL (interface) correspondente.

Desta forma, qualquer cliente independentemente da plataforma e da linguagem de programação em que foi desenvolvido poderá descobrir o serviço, consultar o documento WSDL e, através deste, conectar-se ao serviço, invocando-o através de mensagens formatadas segundo o protocolo SOAP.

 

Existem actualmente três registos UDDI (da Ariba, Microsoft e IBM), sendo que a informação que contêm é replicada diariamente. Estes registos são eles próprios Web Services, pelo que podemos integrá-los também nas nossas aplicações. Uma arquitectura deste tipo permite a ligação dinâmica a um serviço, possibilitando a escolha do serviço a integrar em runtime.

Esta particularidade também torna os Web Services mais tolerantes a falhas. Imaginemos que o fornecedor do serviço o desloca para outra máquina. A aplicação que o integrava deixará de funcionar, a menos que antes de invocar o serviço a aplicação verifique no registo UDDI o endereço mais recente e estabeleça uma ligação dinâmica ao mesmo, imediatamente antes de o invocar.

Simplicidade, flexibilidade e baixo custo de implementação, são palavras que podemos associar sem reservas aos Web Services.

Produzido em 2005

Topo
Pesquisa
Agenda
Destaques