Beziehung zwischen UDDI und WSDL

Die Spezifikation Universal Description, Discovery, and Integration (UDDI) ist eine Möglichkeit, Informationen über Web-Services zu publizieren und zu ermitteln. UDDI hat zwei Funktionen: (1) Es handelt sich um ein SOAP-basiertes Protokoll, das definiert, wie UDDI-Clients mit Registrys kommunizieren und stellt (2) eine bestimmte Gruppe global replizierter Registrys dar.

Die Registrierung eines Services bezieht vier Kerndatenstrukturtypen ein:

Weitere Informationen zu den UDDI-Datentypen (Universal Description Discovery and Integration) finden Sie in den zugehörigen Verweisthemen am Ende dieses Abschnitts.

Web Services Description Language (WSDL) ist eine XML-basierte Standardspezifikation zum Beschreiben von Web-Services. WSDL definiert ein XML-Format zum Beschreiben von Netzservices als eine Gruppe von Endpunkten, die mit Nachrichten arbeiten, welche entweder dokumentorientierte oder prozedurorientierte Informationen enthalten.

Die WSDL-Servicebeschreibung kann auf viele Arten strukturiert werden. Zur Unterstützung beim Publizieren und Finden WSDL-Servicebeschreibungen in einer UDDI-Registry bestehen WSDL-Dokumente aus zwei Hauptteilen:

Bei der Erstellung von Web-Services mit der Apache Axis-Laufzeitumgebung erstellen die Web-Service-Tools ein einzelnes WSDL-Dokument, wenn Web-Services aus Java-Beans oder EJBs generiert werden. Dieses WSDL-Dokument enthält die Serviceschnittstelle und die Implementierungsdokumente.

Eine Serviceschnittstelle wird durch ein WSDL-Dokument beschrieben, das die Typen und die Import-, Nachrichten-, portType- und Binding-Elemente enthält. Eine Serviceschnittstelle enthält die WSDL-Servicedefinition, die verwendet wird, um einen oder mehrere Services zu implementieren. Es handelt sich um eine abstrakte Definition eines Web-Services und wird verwendet, um einen spezifischen Servicetyp zu beschreiben. Dieses Dokument kann auf ein anderes Serviceschnittstellendokument mit einem Importelement verweisen. Die Web-Service-Tools in diesem Programm generieren ein Serviceschnittstellendokument, das nur die Nachrichten- und portType-Elemente enthält, auf welche durch das Binding-Dokument verwiesen wird, das lediglich die Bindings für portType enthält.

Das Serviceimplementierungsdokument enthält die Serviceelemente. Ein Serviceimplementierungsdokument enthält eine Beschreibung eines Services, der eine Serviceschnittstelle implementiert. Mindestens eins der Importelemente enthält einen Verweis auf das WSDL-Serviceschnittstellendokument, jedoch haben monolithische WSDLs, wie die mit Hilfe der Axis-Laufzeitumgebung erstellte, keine Importe. Ein Serviceimplementierungsdokument kann Verweise auf mehrere Serviceschnittstellendokumente enthalten.

Ein Service-Provider ist der Host für einen Web-Service und macht diesen über Protokolle wie SOAP/HTTP und SOAP/JMS zugänglich. Der Web-Service wird durch die WSDL-Dokumente beschrieben, die auf dem Server des Providers oder in einem speziellen Repository gespeichert werden. Auf die WSDL-Dokumente wird durch UDDI-Geschäftsservices (Servicedokumente) tModelle (Binding-Dokumente) verwiesen. Diese Zeiger ermöglichen die Erkennung eines Web-Services durch einen Service-Requester.

Abbildung 1. Beziehung zwischen UDDI und WSDL.

Abbildung der Beziehung zwischen UDDI und WSDL.

Abbildung 1 veranschaulicht die Beziehung zwischen UDDI und WSDL. Das WSDL-Serviceelement verweist auf das WSDL-Binding-Element. Die URL des Dokuments, das das WSDL-Binding-Element enthält, wird in der UDDI-Geschäftsregistry als ein tModel publiziert. Die URL des Dokuments, das das WSDL-Serviceelement enthält, wird in der UDDI-Geschäftsregistry als ein businessService publiziert und enthält Informationen zum bindingTemplate. Weitere Informationen zu den UDDI-Registry-Datenstrukturtypen finden Sie in den zugehörigen Verweisabschnitten am Ende dieses Dokuments. Beachten Sie, dass der Importteil des Diagramms je nach der Laufzeitumgebung optional ist; monolithische WSDLs, wie die mit Hilfe der Axis-Laufzeitumgebung erstellte, verfügen nicht über Importe.

Die Serviceimplementierung beschreibt eine Instanz eines Services. Die Instanz wird unter Verwendung eines WSDL-Serviceelements definiert. In einem Serviceimplementierungsdokument wird das Serviceelement verwendet, um einen Geschäftsservice (UDDI businessService) zu publizieren. Wenn eine WSDL-Servicebeschreibung publiziert wird, muss eine Serviceschnittstelle als tModel publiziert werden, bevor eine Serviceimplementierung als businessService publiziert werden kann.

Eine Serviceimplementierung wird in einer UDDI-Registry als Teil eines businessService mit einem oder mehreren bindingTemplate-Elementen publiziert. Der businessService wird vom Service-Provider publiziert. Ein neuer businessService wird für ein Serviceelement erstellt, das im Serviceimplementierungsdokument definiert ist. Ein neues bindingTemplate-Element wird in einem businessService für jedes Portelement erstellt, das in einem Serviceelement definiert ist.

Weitere Informationen zu der Beziehung zwischen WSDL und UDDI finden Sie unter uddi.org/bestpractices.html.