Web Services Description Language
O Web Services Definition Language (WSDL) é uma linguagem baseada em XML utilizada para descrever Web Services. 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 submetido 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. O WSDL 1.2 fo renomeado para 2.0 e aceita todos os métodos de requisição HTTP (não apenas GET e POST).
WSDL é utilizado 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.1
- 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 o tipo de porta, 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 element <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çãoin 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)
- «Descrevendo um Web Service - WSDL»