Guia Completo: Conceitos e Implementação de Web Services
Componentes do WSDL
- Porta: Definição do endereço ou ponto de conexão para o Web Service.
- Binding: Define o estilo de SOAP binding (RPC ou Document) e transporte (protocolo SOAP).
- Tipo de porta: O elemento
<portType>define um Web Service, as operações que podem ser executadas e as mensagens trocadas. - Operação: Método ou chamada de função.
- Mensagem: Tipicamente corresponde a uma operação, contendo as informações necessárias para sua execução.
- Elemento: Definidos com a tag
<types>, consistem em um nome único e tipo de dado. - Arquivos XSD: Elementos definidos em um esquema XML (XML Schema Definition), podendo estar no mesmo arquivo WSDL ou em arquivo separado.
- WSDL 2.0: Evolução do WSDL 1.2 que aceita todos os métodos de requisição HTTP (não apenas GET e POST).
UDDI
Define:
- Esquemas XML do modelo de dados do registro e do formato das mensagens SOAP.
- Definições WSDL das APIs SOAP.
Invocação de Web Services
Vantagens
- Padrão adotado pelo W3C e pela indústria.
- Atravessa firewalls, roteadores e servidores de proxy.
- Abordagem simples para distribuição e interoperabilidade (Consórcio WS-I).
Garantir a Interoperabilidade
- Padrões abertos.
- Independente de plataforma.
Fatores Determinantes para usar WS
- Maturidade da solução, documentação, integração com IDEs, reutilização da segurança e escalabilidade estrutural.
Web Services mais conhecidos
- Framework .NET, Java (Apache Axis, JaxRPC, IBM SOAP Toolkit).
- Qualquer plataforma com rotinas de comunicação HTTP e manipulação de XML.
Construção de Web Services
- SOA (Service Oriented Architecture): Um serviço é uma função bem definida, autocontida e independente de estado ou contexto.
- Implementação do Serviço: O serviço deve ser identificado e isolado em uma estrutura de API, geralmente encapsulando sistemas legados.
- Parâmetros de Entrada e Saída: A API deve conter apenas tipos compatíveis com Web Services (tipos básicos, primitivos, strings, arrays tipados).
- Criação do WS: Definição da API e geração do contrato WSDL com descrição completa das estruturas de dados. O WS é implementado como uma aplicação web comum (HTTP/HTTPS).
- Consumo do WS: Geração do cliente via acesso ao WSDL. IDEs modernas possuem capacidade de gerar stubs de cliente automaticamente a partir do WSDL.