UDDI con WSDL
El modelo de datos UDDI define una estructura genérica para almacenar información sobre una empresa y los servicios web que publica. El modelo de datos UDDI es completamente extensible e incluye varias estructuras de secuencia de información repetidas.
Sin embargo, WSDL se utiliza para describir la interfaz de un servicio web. WSDL es bastante sencillo de usar con UDDI.
WSDL se representa en UDDI mediante una combinación de información businessService, bindingTemplate y tModel .
Al igual que con cualquier servicio registrado en UDDI, la información genérica sobre el servicio se almacena en la estructura de datos businessService , y la información específica sobre cómo y dónde se accede al servicio se almacena en una o más estructuras de bindingTemplate asociadas . Cada estructura bindingTemplate incluye un elemento que contiene la dirección de red del servicio y tiene asociada una o más estructuras tModel que describen e identifican de forma única el servicio.
Cuando se utiliza UDDI para almacenar información WSDL, o punteros a archivos WSDL, el tModel debe denominarse por convención tipo wsdlSpec , lo que significa que el elemento overviewDoc se identifica claramente como apuntando a una definición de interfaz de servicio WSDL.
Para UDDI, el contenido WSDL se divide en dos elementos principales: el archivo de interfaz y el archivo de implementación.
El servicio web del sistema de reservas de Hertz proporciona un ejemplo concreto de cómo UDDI y WSDL funcionan juntos. Aquí está el <tModel> para este servicio web:
<tModel authorizedName = "..." operator = "..." tModelKey = "...">
<name>HertzReserveService</name>
<description xml:lang = "en">
WSDL description of the Hertz reservation service interface
</description>
<overviewDoc>
<description xml:lang = "en">
WSDL source document.
</description>
<overviewURL>
http://mach3.ebphost.net/wsdl/hertz_reserve.wsdl
</overviewURL>
</overviewDoc>
<categoryBag>
<keyedReference tModelKey = "uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4"
keyName = "uddi-org:types" keyValue = "wsdlSpec"/>
</categoryBag>
</tModel>
Los puntos clave son:
El elemento OverviewURL proporciona la URL donde se puede encontrar el archivo WSDL de definición de la interfaz de servicio. Esto permite que los humanos y las herramientas conscientes de UDDI / WSDL localicen la definición de la interfaz de servicio.
El propósito del elemento keyedReference en categoryBag es asegurarse de que este tModel esté categorizado como un documento de especificación WSDL.