Serviceorientierte Architekturen – Grundlegende Konzepte

Dienstverzeichnis und -nutzer

Dienste müssen verzeichnet werden, um von einem potenziellen Nutzer gefunden zu werden. Bei der Entwicklung neuer Anwendungen kann dann einfach festgestellt werden, welche Dienste bereits vorhanden sind und genutzt werden können.

Hierzu dient ein Dienstverzeichnis, auch Registry oder Repository genannt. In einer einfachen SOA muss jeder Anbieter selbst aktiv seine Dienste bei einem solchen Verzeichnis registrieren. Künftig könnten solche Aufgaben auch Suchmaschinen erledigen.

Mit UDDI (Universal Description, Discovery and Integration) existiert bereits seit Jahren ein Registry-Standard, der aber bisher nur sehr vereinzelt in der Praxis eingesetzt wird. Viele Unternehmen verwenden stattdessen ein selbst entwickeltes Repository für die zentrale Bereitstellung von Informationen über Dienste.

Die Güte eines Verzeichnisses steht und fällt mit den Kategorien. Für eine gute Klassifizierung ist es nötig, dass jeder Dienst genau einer Kategorie eindeutig zugeordnet ist. Damit die SOA akzeptiert wird und möglichst einfach gehandelt werden kann, sollte die Suche nach Diensten für einen Nutzer von einem normalen Diensteaufruf nicht zu unterscheiden sein.

Praktisch wird es bei den Diensten keine Monopole geben, sondern eine Vielzahl von Dienste-Verzeichnissen. Viele Firmen werden mindestens eine Instanz für ihre Internet-Angebote haben und eventuell eine zweite für den internen Zugriff. Ferner kann es weitere Installationen für einzelne Bereiche geben.

Der Dienstenutzer muss dem Diensteanbieter nicht bekannt sein. Für ihn ist es wichtig, dass Standards vorhanden sind und vor allem auch eingehalten werden. So muss der Dienst fähig sein, dem Nutzer seine Schnittstelle vollständig darzulegen. Danach findet die Kommunikation über ein Protokoll statt, das beiden bekannt sein muss. Ein Beispiel für ein solches Protokoll ist SOAP.