La especificación UDDI (Universal Description, Discovery, and Integration) define un modo de publicar y encontrar información sobre servicios Web. UDDI tiene dos funciones: (1) es un protocolo basado en SOAP que define cómo se comunican los clientes UDDI con registros y (2) es un conjunto en particular de registros duplicados globalmente.
En el registro de un servicio intervienen cuatro tipos de estructuras de datos principales:
Para obtener más información sobre los tipos de datos de UDDI, consulte los temas de referencia relacionados al final de este tema.
WSDL (Web Services Description Language) es una especificación estándar basada en XML para describir servicios Web. WSDL define un formato XML para describir servicios de red como un conjunto de puntos finales que operan en mensajes que contienen información orientada a documentos u orientada a procedimientos.
La descripción del servicio WSDL se puede estructurar de muchos modos. No obstante, para ayudarle a publicar y encontrar descripciones del servicio WSDL en el registro UDDI, los documentos WSDL constan de dos partes principales:
Al crear servicios web con el entorno de tiempo de ejecución Apache Axis, las herramientas de servicios web crean un documento WSDL al generar servicios web a partir de beans de Java™ o EJB. Este documento WSDL contiene la interfaz de servicio y documentos de implementación.
La interfaz de servicio se describe mediante un documento WSDL que contiene los elementos de: tipo, importación, mensaje, portType y enlace. La interfaz de servicio contiene una definición de servicio WSDL que se utilizará para implementar uno o más servicios. Es una definición abstracta de un servicio Web y se utiliza para describir un tipo determinado de servicio. Este documento puede hacer referencia a otro documento de interfaz de servicio con un elemento de importación. Las herramientas de servicios Web de este producto generan un documento de interfaz de servicio que contiene sólo los elementos de mensaje y portType a los que se hace referencia mediante el documento de enlace que contiene sólo enlaces para el portType.
El documento de implementación de servicio contiene los elementos de servicio. El documento de implementación de servicio contiene una descripción de un servicio que implementa una interfaz de servicio. Al menos uno de los elementos de importación contendrá una referencia al documento de interfaz de servicio WSDL; no obstante, el WSDL monolítico como el creado con el entorno de ejecución Axis no tiene elementos de importación. Un documento de implementación de servicio puede contener referencias a más de un documento de interfaz de servicio.
Un proveedor de servicios aloja un servicio Web y lo hace accesible con protocolos como SOAP/HTTP y SOAP/JMS. El servicio Web se describe mediante los documentos WSDL que se almacenan en el servidor del proveedor o en un depósito especial. Los servicios de empresa UDDI hacen referencia a los documentos WSDL (documentos de servicio) y tModels (documentos de enlace). Estos punteros permiten que los solicitantes de servicio encuentren servicios Web.
Figura 1. Relación entre UDDI y WSDL.
En la Figura 1 se ilustra la relación entre UDDI y WSDL. El elemento de servicio WSDL hace referencia al elemento de enlace WSDL. El URL del documento que contiene el elemento de enlace WSDL se publica al UDDI Business Registry como un tModel. El URL del documento que contiene el elemento de servicio WSDL se publica al UDDI Business Registry como un businessService y contiene información sobre la bindingTemplate. Para obtener más información sobre los tipos de estructura de datos de registro UDDI, consulte la sección de referencia relacionada al final de este documento. Recuerde que la parte de importación del diagrama es opcional según el entorno de ejecución; el WSDL monolítico como el creado con el entorno de ejecución Axis no tiene elementos de importación.
La implementación del servicio describe una instancia de un servicio. Se define la instancia con un elemento de servicio WSDL. El elemento de servicio de un documento de implementación de servicio se utiliza para publicar el UDDI businessService. Cuando se publica una descripción de servicio WSDL, se debe publicar una interfaz de servicio como un tModel antes de que una implementación de servicio se publique como un businessService.
Una implementación de servicio se publica en un registro UDDI como parte de un businessService con uno o varios elementos bindingTemplate. El proveedor de servicios publica el businessService. Se crea un nuevo businessService para un elemento de servicio que se define en el documento de implementación de servicio. Se crea un nuevo elemento bindingTemplate dentro de un businessService para cada elemento de puerto que se define dentro de un elemento de servicio.
Para obtener más información acerca de la relación entre WSDL y UDDI consulte uddi.org/bestpractices.html.