Uno de los atributos clave de estándares de Internet es que se centran en protocolos y no en implementaciones. Internet se compone de tecnologías heterogéneas que operan conjuntamente de modo satisfactorio mediante protocolos compartidos. Esto impide que los proveedores individuales impongan un estándar en Internet. El desarrollo del software de código fuente abierto desempeña un rol fundamental para proteger la interoperatividad de implementaciones de estándares del proveedor.
Los estándares siguientes desempeñan roles clave en servicios Web: UDDI (Universal Description, Discovery and Integration), WSDL (Web Services Description Language), WSIL (Web Services Inspection Language), SOAP y WS-I (Web Services Interoperability). La relación entre estos estándares se describe en la Figura 2.
La especificación UDDI define estándares abiertos independientes de la plataforma que permiten a las empresas compartir información en un registro de empresa global, encontrar servicios en el registro y definir cómo actúan conjuntamente en Internet. Si desea más información sobre UDDI, consulte la página www.uddi.org
WSIL es una especificación abierta basada en XML que define un método de descubrimiento de servicios distribuidos que suministra referencias a descripciones de servicio en el punto de ofertas del proveedor de servicios, especificando cómo comprobar si hay servicios Web disponibles en un sitio Web. Un documento WSIL define las ubicaciones en un sitio Web donde se pueden buscar descripciones del servicio Web. Dado que WSIL se centra en el descubrimiento de servicios distribuidos, la especificación WSIL complementa UDDI facilitando el descubrimiento de servicios que están disponibles en sitios Web que quizá no se enumeren aún en un registro UDDI. En un tema aparte de esta documentación se describe la Relación entre UDDI y WSIL. Si desea más información sobre WSIL, consulte la página www.ibm.com/developerworks/webservices/library/ws-wsilspec.html
WSDL es una especificación abierta basada en XML que describe las interfaces y las instancias de servicios Web en la red. Es ampliable, de modo que se pueden describir los puntos finales independientemente de los formatos de mensaje o de los protocolos de red que se utilicen para comunicarse. Las empresas pueden poner a disposición de sus servicios Web los documentos WSDL mediante UDDI, WSIL o divulgando los URL a su WSDL mediante correo electrónico o sitios Web. WSDL se describe en un tema aparte de esta documentación. Si desea más información sobre WSDL, consulte la página www.w3.org/TR/wsdl
Figura 2. Relaciones entre SOAP, UDDI, WSIL y WSDL.
Un proveedor de servicios aloja un servicio Web y lo hace accesible con protocolos como SOAP/HTTP o SOAP/JMS. El servicio Web se describe mediante un documento WSDL que se almacena en el servidor del proveedor o en un depósito especial. UDDI Business Registry y sus documentos WSDL pueden hacer referencia al documento WSDL. Estos contienen punteros a los archivos WSDL del servicio Web.
Los perfiles WS-I Simple SOAP Binding Profile y WS-I Attachments Profile son esquemas de requisitos que el tráfico de WSDL y de protocolo de servicio Web (SOAP/HTTP) deben cumplir para afirmar la conformidad WS-I. Las herramientas de validación WS-I de servicios Web admiten actualmente WS-I Simple SOAP Binding Profile 1.0 y Attachment Profile 1.0. Para consultar las especificaciones, consulte el sitio Web de WS-I y bajo Resources (Recursos) seleccione Documentation (Documentación): http://www.ws-i.org
Las herramientas de servicios Web admiten las siguientes especificaciones:
| Tecnología o especificación | Versión o nivel admitido |
|---|---|
| Transportes | |
| HTTP/HTTPS | v1.0 y v1.1 |
| JMS | |
| Mensajería | |
| Especificación SOAP | v1.1 |
| Adjuntos SOAP | |
| Descripción | |
| UDDI | v2.0 |
| WSDL | v1.1 |
| WSIL | v1.0 |
| Seguridad | |
| Seguridad de WS | OASIS estándar 1.0 |
| Interoperatividad | |
| WS-I Basic Profile | 1.1.2 |
| WS-I Simple SOAP Binding Profile | 1.0.3 |
| WS-I Attachments Profile | 1.0 |
| Otros estándares | |
| JAX-RPC | v1.0 para J2EE 1.3, v1.1 para J2EE 1.4 |
| JSR 109 | J2EE 1.3 |
| JSR 921 | J2EE 1.4 |