Lenguaje de descripción de servicios web


El lenguaje de descripción de servicios web ( WSDL / ˈ w ɪ z d əl / ) es un lenguaje de descripción de interfaz basado en XML que se utiliza para describir la funcionalidad que ofrece un servicio web . El acrónimo también se usa para cualquier descripción WSDL específica de un servicio web (también conocido como archivo WSDL ), que proporciona una descripción legible por máquina de cómo se puede llamar al servicio, qué parámetros espera y qué estructuras de datos devuelve. . Por lo tanto, su propósito es más o menos similar al de una firma tipográfica en un lenguaje de programación.

La versión actual de WSDL es WSDL 2.0. El significado del acrónimo ha cambiado desde la versión 1.1, donde la "D" significaba "Definición".

El WSDL describe los servicios como colecciones de puntos finales de red o puertos . La especificación WSDL proporciona un formato XML para documentos con este propósito. Las definiciones abstractas de puertos y mensajes se separan de su uso o instancia concreta, lo que permite la reutilización de estas definiciones. Un puerto se define asociando una dirección de redcon un enlace reutilizable y una colección de puertos define un servicio. Los mensajes son descripciones abstractas de los datos que se intercambian y los tipos de puerto son colecciones abstractas de operaciones admitidas. Las especificaciones concretas de protocolo y formato de datos para un tipo de puerto en particular constituyen un enlace reutilizable, donde las operaciones y los mensajes se vinculan luego a un protocolo de red y formato de mensaje concretos. De esta forma, WSDL describe la interfaz pública del servicio web.

WSDL se utiliza a menudo en combinación con SOAP y un esquema XML para proporcionar servicios web a través de Internet . Un programa cliente que se conecta a un servicio web puede leer el archivo WSDL para determinar qué operaciones están disponibles en el servidor. Todos los tipos de datos especiales utilizados se incrustan en el archivo WSDL en forma de esquema XML. Luego, el cliente puede usar SOAP para llamar a una de las operaciones enumeradas en el archivo WSDL, usando, por ejemplo, XML sobre HTTP .

La versión actual de la especificación es 2.0; la versión 1.1 no ha sido respaldada por el W3C , pero la versión 2.0 es una recomendación del W3C . [1] WSDL 1.2 pasó a llamarse WSDL 2.0 debido a sus diferencias sustanciales con WSDL 1.1. Al aceptar el enlace a todos los métodos de solicitud HTTP (no solo GET y POST como en la versión 1.1), la especificación WSDL 2.0 ofrece un mejor soporte para los servicios web RESTful y es mucho más simple de implementar. [2] [3] Sin embargo, el soporte para esta especificación aún es deficiente en los kits de desarrollo de software para servicios web que a menudo ofrecen herramientas solo para WSDL 1.1. [ necesita actualización ][ cita requerida ] Por ejemplo, la versión 2.0 de Business Process Execution Language (BPEL) solo es compatible con WSDL 1.1.

Subconjunto WSDL (SWSDL) [4] es un WSDL con las operaciones de subconjunto de un WSDL original. Un desarrollador puede usar SWSDL para acceder al servicio de subconjuntos y, por lo tanto, manejar un subconjunto del código del servicio web. Un WSDL de subconjunto se puede utilizar para realizar pruebas de servicios web y desarrollo de arriba hacia abajo. El corte de un servicio web se puede realizar mediante un WSDL de subconjunto para acceder al servicio de subconjunto. El servicio de subconjunto se puede clasificar en capas mediante SWSDL. Los SWSDL se utilizan para el análisis, las pruebas y el desarrollo de servicios web. AWSCM [5] es la herramienta pionera para construir SWSDL's con éxito.


Representación de conceptos definidos por documentos WSDL 1.1 y WSDL 2.0.