Web Services Description Language
A Web Services Description Language (WSDL) é uma linguagem baseada em XML utilizada para descrever Web Services funcionando como um contrato do serviço. Trata-se de um documento escrito em XML que além de descrever o serviço, especifica como acessá-lo e quais as operações ou métodos disponíveis.
Foi submetida ao W3C por Ariba, IBM e Microsoft em março de 2001 sendo que seu primeiro rascunho foi disponibilizado em julho de 2002.
A versão atual é 2.0; a versão 1.1 não foi endossada pelo W3C. A WSDL 1.2 foi renomeada para 2.0 e aceita todos os métodos de requisição HTTP (não apenas GET e POST).
WSDL é utilizada para definir serviços como uma coleção de endpoints (endereços de rede), ou portas. A definição abstrata de portas e mensagens são separadas do uso concreto de instâncias, permitindo o reuso de definições. Uma porta é definida por associação a um endereço de rede com um binding reutilizável, e uma coleção de portas definidas como serviço. Mensagens são descrições abstratas dos dados a serem trocados.
Recursos são expostos pelo Web Services Interoperability (WS-I Basic Profile) e framework WSRF.
Objetos de WSDL 1.1x |
- Serviço
- Pode ser visto como um container para conjunto de funções de sistema que foram expostos a protocolo baseado em web;
- Porta
- Não é nada além da definição do endereço ou ponto de conexão para o Web Service. É representado tipicamente por uma URL simples com http;
- Binding
- Especifica a interface, define o estilo de SOAP binding (RPC ou Document) e transporte (protocolo SOAP). Seções de binding também definem as operações;
- Tipo de porta
- O elemento <portType> define um web service, as operações que podem ser executadas, e as mensagens trocadas para executar a operação;
- Operação
- Cada operação pode ser comparada à um método ou chamada de função em uma linguagem de programação tradicional. Aqui as ações soap são definidas e o tipo de mensagem é codificado;
- Mensagem
- Tipicamente, uma mensagem corresponde a uma operação. A mensagem contém as informações necessárias para executar a operação;
- Elemento
- Definidos com a tag <types>, consistem em um nome único e tipo de dado. Seu propósito é descrever um dado e definir uma tag que delimite os dados enviados;
- Arquivos XSD
- Elementos podem ser definidos em um esquema XML - XSD (XML Schema Definition). Pode estar no mesmo arquivo WSDL ou em arquivo separado.
Ligações externas |
W3C WSDL Specifications (em inglês)
W3Schools WSDL Tutorial (em inglês)