Web Services – Grundlagen, Aufbau und Struktur

WSDL

WSDL („Web Service Description Language“) ist eine XML-basierte Beschreibungssprache, um Web Services bzw. deren Fähigkeiten zu beschreiben. Genau genommen werden die Schnittstellen von Web Services beschrieben, nicht die Services selbst. Strukturell betrachtet, besteht ein WSDL-Dokument aus einem in XML beschriebenen Schema. In diesem Schema ist eine Grammatik enthalten, mit der Verträge („contracts“) formuliert werden können. Diese Verträge haben ihre Gültigkeit bei der Kommunikation zwischen zwei Endpunkten. Zu WSDL veröffentlichen wir demnächst einen eigenen Beitrag.

UDDI

UDDI („Universal Description, Discovery and Integration“) ist ein Verzeichnisdienst für Web Services. Der Dienst spezifiziert eine standardisierte Verzeichnisstruktur für die Verwaltung von Web-Services-Metadaten. Es handelt sich dabei um eine Art „Gelbe Seiten" (yellow pages), in dem Web Services und ihre Schnittstellen registriert sind.

Zu den Metadaten gehören allgemeine Anforderungen, Web-Services-Eigenschaften oder die benötigten Informationen zum Auffinden von Web Services. Die White-Pages bieten Aufschluss über den Firmennamen, Beschreibung und Ansprechpartner. Die Yellow-Pages enthalten Produkt, Dienst, Industriezweig und geographische Unterteilung, während sich die Green-Pages mit den technischen Details der Datenkommunikation auseinander setzen.

UDDI ist zwar nicht unbedingt notwendig für den Einsatz von Web Services, gehört aber als Infrastrukturkomponenten unbedingt zu einer SOA. UDDI unterscheidet sich von den anderen beiden Spezifikationen darin, dass zur Beschreibung eines Verzeichnisdienstes keine eigene XML-Anwendung verwendet wird. Allerdings sollte ein entsprechender Verzeichnisdienst mit WSDL-Dokumenten umgehen können und selbst auch als Web Services verfügbar sein.

Die folgende Grafik zeigt das Zusammenspiel der drei Standards:

Die im SOA-Beitrag erwähnte Dreiecksbeziehung zwischen Diensteanbieter, -nutzer und –verzeichnis lässt sich nun auf die Basiskomponenten konkretisieren.