WSDL (Web Services Description Language)

CONCEPTO

Formato XML que se utiliza para describir servicios Web. La versión 1.0 fue la primera recomendación por parte del W3C y la versión 1.1 no alcanzó nunca tal estatus. La versión 2.0 se convirtió en la recomendación actual por parte de dicha entidad. Está basado en XML y describe la forma de comunicación, es decir, los requisitos del protocolo y los formatos de los mensajes necesarios para interactuar con los servicios listados en su catálogo.

 

Un documento WSDL define un servicio web utilizando a tal fin elementos XML, como:

 

   <portType> para las operaciones que proporciona el servicio web
   <message> para los mensajes que utiliza por el servicio web
   <types> para los tipos de datos que utiliza el servicio web
   <binding> para los protocolos de comunicaciones que utiliza el servicio web

Un documento WSDL tiene una estructura semejante a la siguiente:

 

<definitions>
<types>
   los tipos de datos…
</types>
<message>
   las definiciones del mensaje…
</message>
<portType>
   las definiciones de operación …
</portType>
<binding>
   las definiciones de protocolo…
</binding>
</definitions>

Los puertos de WSDL
<portType> es el elemento XML de WSDL que define el servicio web, así como las operaciones posibles mediante dicho servicio y los mensajes vinculados. <portType> cumple una función análoga a la de una función de biblioteca en programación clásica o a la de una clase en programación orientada a objetos.

Los mensajes WSDL
El elemento message define los datos que participan en una operación. Cada mensaje puede tener una o varias partes, y cada parte puede considerarse como si fuera los parámetros que se pasan en la llamada a una función en programación clásica o un método en programación orientada a objetos.

Los tipos de datos en WSDL
Mediante el elemento <types> se definen los tipos de datos utilizados en el servicio web. Para ello, WSDL utiliza XML Schema.

 Los vínculos en WSDL
<binding> define el formato del mensaje y el protocolo para cada uno de los puerto.

Puertos
Un puerto define el punto de conexión a un servicio web. Es posible definirlo como una librería de funciones (en programación clásica) o una clase (en programación orientada a objetos). Puede compararse cada operación que esté definida para un puerto a una función en cualquier lenguaje de programación clásico.

Tipos de operación
Existen varios tipos de operación en WSDL. El tipo más frecuente es el denominado “de petición-respuesta”.

 

Disponemos, además, de:

 

Unidireccional: la operación recibe mensajes, sin retornar respuestas.
Petición-respuesta: la operación recibe una petición y devuelve una respuesta.
Solicitud-respuesta: la operación puede enviar una petición y permanecerá a la espera de una respuesta.
Notificación: la operación puede enviar un mensaje sin esperar respuesta.

Enlaces
Los enlaces o vínculos de WSDL (también denominados “bindings”) permiten la definición de los formatos de mensaje y de protocolo para los servicios web.

Un fichero WSDL contiene una descripción de todo lo que implica una llamada a un servicio web SOAP:

 

La URL y el espacio de nombres del servicio
El tipo de servicio web (probablemente llamadas a función usando SOAP aunque, como mencioné, WSDL es suficientemente flexible para describir un amplio abanico de servicios web)
La lista de funciones disponibles
Los argumentos de cada función
El tipo de dato de cada argumento
Los valores de retorno de cada función, y el tipo de dato de cada uno
En otras palabras, un fichero WSDL le dice todo lo que necesita saber para poder llamar a un servicio web SOAP.

 

Fuentes

http://es.wikipedia.org/wiki/WSDL
http://www.desarrolloweb.com/articulos/1581.php
http://www.cibernetia.com/manuales/servicios_web/4_wsdl.php
http://almacen.gulic.org/diveintopython-5.4-es/soap_web_services/wsdl.html

Escribe un comentario