domingo, 15 de noviembre de 2015

WSDL 1.1 vs WSDL 2.0


Desde el 2007 la (W3C), como consorcio internacional para el desarrollo de estándares Web, publicó lo que se conoce como el futuro y mejorado estándar para servicios, el estándar WSDL 2.0.

Esta versión nueva de WSDL 2.0 maneja varias diferencias y mejoras con relación a su antecesora y aún estándar WSDL 1.1, que son las siguientes:
  • El WSDL 2.0 integra el elemento Message dentro del elemento Types, con relación al WSDL 1.1
  • El WSDL 2.0 renombra el elemento PortType como Interface, con relación al WSDL 1.1
  • El WSDL 2.0 renombra el elemento Port a Endpoint, con relación al WSDL 1.1
  • El WSDL 2.0 renombra lo parte inicial de declaración en la interface conocida como Definitions como Description, con relación al WSDL 1.1
 

 

El modelo WSDL 2.0 también impone restricciones semánticas más allá de la conformidad estructural. Con el fin de describir con precisión estas limitaciones, y como ayuda para definir con precisión el significado de cada documento WSDL 2.0, la especificación WSDL 2.0 define un modelo de componentes como una capa adicional de abstracción por encima del conjunto de información XML. El siguiente diagrama ofrece una visión de los componentes de WSDL 2.0 y su herencia.


Esta nueva estructura del modelo WSDL es más amigable, mejor diseñada y entendible. Así mismo, lo resaltante de esta versión de WSDL 2.0 es que permite a los desarrolladores elegir el modelo de desarrollo de aplicaciones de Servicios: HTTP o SOAP. Esto debido a la creciente popularidad del modelo REST y SOAP.Con respecto al HTTP, se reconoció la clara necesidad de la compatibilidad con HTTP en las descripciones de aplicaciones Web (contratos). Por tanto, el WSDL 2.0 ofrece una compatibilidad absoluta con HTTP y SOAP, lo que lo hace muy útil tanto para aplicaciones Web sencillas, como para aplicaciones de Servicios Web que requieran de funcionalidades adicionales.

Lo desagradable es que actualmente hasta la fecha, esta versión de WSDL 2.0, no se ha vuelto aún estándar, debido a ello herramientas muy conocimiento como lo son: SOAPUI, ORACLE, IBM y apis como JAXWS aún NO lo soportan, teniendo conocimiento que el único que si lo soportar es AXIS2. Esto quiere decir que seguiremos usando como estándar para nuestros desarrollos el WSDL 1.1 por algo más de tiempo.Finalmente, los que desee actualmente existe un conversor de WSDL 1.1 a WSDL 2.0 (http://www.w3.org/2006/02/WSDLConvert.html), para que se alguna manera, para los que no se acostumbran aún, de esta manera les sea más fácil la transición al nuevo futuro estándar.