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:

  1. Ein potentieller Nutzer eines Web-Service stellt eine Suchanfrage an einen Verzeichnisdienst.

  2. Das Web-Service-Verzeichnis enthält eine kategorisierte Ansammlung von registrierten, vertrauenswürdigen Web Services.

  3. Nachdem der gewünschte Service ausfindig gemacht wurde, können weitere Details über Nachrichtenformate und Protokolle angefragt werden.

  4. 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.