Serviceorientierte Architekturen – Grundlegende Konzepte

SOAs – Merkmale im Überblick

Serviceorientierte Architekturen lassen sich nur schwer fassen. Dies liegt daran, dass eine SOA keine konkrete Technik ist, sondern vielmehr eine abstrakte Software-Architektur. Im Zentrum steht das Anbieten, Suchen und Nutzen von Diensten über ein Netzwerk. Die Dienste werden dabei fast immer von Applikationen oder anderen Diensten genutzt. Welche Hardware, welche Software oder welches Betriebssystem dabei verwendet wird ist unerheblich.

Vom Standpunkt der Architektur aus betrachtet stellt eine SOA einen vollständigen Paradigmenwechsel in der IT dar: nicht mehr die Applikationen stehen im Vordergrund, sondern die Geschäftsprozesse. Wesentliches Merkmal einer SOA ist somit die Unabhängigkeit von den Details der Implementierung. Dienste sind lediglich „lose verkoppelt“. Damit ist gemeint, dass Dienste bei Bedarf dynamisch von Applikationen oder anderen Diensten gesucht und eingebunden werden. Dabei erfolgt die Einbindung zur Laufzeit. Oft ist zum Zeitpunkt der Übersetzung des Programms nicht bekannt, was zur Laufzeit aufgerufen wird.

Damit die Dienste gefunden werden können, gibt es einen Verzeichnisdienst oder ein Repository, in dem die Dienste registriert sind. Um die Dienste zu suchen und vor allem zu nutzen, muss der Aufrufer sich mit diesen unterhalten können. Dies geht nur über maschinenlesbare Schnittstellen, die offenen Standards genügen. Es muss also eine so genannte „Service Description“ in maschinenlesbarer Form vorliegen. Zulässig sind dann nur Zugriffe über diese Schnittstelle.

In jedem Fall erfolgt die Kommunikation innerhalb einer SOA vollständig automatisiert. Ein Mensch kann sie zwar anstoßen, die Bearbeitung geschieht aber unabhängig von ihm und automatisch.

Ein Beispiel für einen SOA-gesteuerten Prozess ist die automatische Überweisung eines Geldbetrages, sobald der Kontostand des Zielkontos unter einem bestimmten Betrag fällt. Solche Architekturen werden auch als ereignisgesteuert bezeichnet.

Grundsätzlich gibt es in einer SOA drei Beteiligte: Den Anbieter des Dienstes, den Nutzer und den Vermittler. Die Grafik zeigt das Zusammenspiel der drei Akteure – das „magische SOA-Dreieck“. Die drei Elemente werden in den folgenden Abschnitten ausführlicher beschrieben.