Web Services – Grundlagen, Aufbau und Struktur
Rollen und Aktionen
Wie im erstem Teil unserer SOA-Reihe bereits beschrieben, setzt eine SOA-Architektur drei Rollen voraus.
-
Dienstnutzer (Konsument): Er agiert mittels XML-basierter Nachrichten und Transportprotokollen mit einem Web-Service-Verzeichnis oder -Anbieter. Die dynamische Anbindung mit dem kommunizierenden Web-Service erfolgt über ein Web-Service-Verzeichnis.
-
Dienstanbieter: Er bietet einen Dienst über programmierbare Schnittstellen an.
-
Dienstverzeichnis (Repository): Es enthält eine logische Beschreibung und Angaben über den Aufenthaltsort sämtlicher Web-Service-Anbieter.
Konsument, Anbieter und Verzeichnis sind austauschbar. Ein Konsument kann auch als Zwischenhändler fungieren und somit auch Anbieter eines Web-Service sein.
In ihrer einfachsten Form interagieren zwei Web-Services wie folgt:
-
Ein potentieller Nutzer eines Web-Service stellt eine Suchanfrage an einen Verzeichnisdienst.
-
Das Web-Service-Verzeichnis enthält eine kategorisierte Ansammlung von registrierten, vertrauenswürdigen Web Services.
-
Nachdem der gewünschte Service ausfindig gemacht wurde, können weitere Details über Nachrichtenformate und Protokolle angefragt werden.
-
Basierend auf der Servicebeschreibung, kann eine Protokollanbindung erzeugt werden. Somit können beide Web Services miteinander kommunizieren.
Technisch gestaltet sich der Ablauf wie folgt: Ein Anbieter, der einen Dienst in Form eines Web Services anbieten möchte, erstellt von diesem zunächst eine WSDL-Schnittstellenbeschreibung in Form eines entsprechenden XML-Dokuments. Dieses WSDL-Dokument wird publiziert, indem es ganz oder in bestimmten Teilen zu einem UDDI-basierten Verzeichnisdienst transferiert wird. Anschließend wartet der Diensteanbieter, bis ein Dienstnutzer einen entsprechenden Dienst sucht.
Laut Spezfikation müssen UDDI-Implementierungen zu diesem Zweck eine SOAP-Schnittstelle zur Verfügung stellen. Diese wird vom UDDI-Gremium mittels WSDL-Dokumenten beschrieben.
Hat der Dienstnutzer einen für sich geeigneten Web Service gefunden, so fordert er die Schnittstellenbeschreibung, also das WSDL-Dokument, an. Der Verzeichnisdienst liefert hierzu eine Referenz (URI) auf das WSDL-Dokument. Das fordert der Dienstnutzer in einem weiteren Schritt an. Anschließend werden mit Hilfe der WSDL-Beschreibung die Programmteile erzeugt, welche die Anwendung des Nutzers in die Lage versetzt, mit der Anwendung des Dienstanbieters via SOAP zu kommunizieren.