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.