Was ist eigentlich eine serviceorientierte Architektur (SOA)?

31.08.2007
Von 
Daniel Liebhart ist Dozent für Informatik an der ZHAW (Züricher Hochschule für Angewandte Wissenschaften) und Solution Manager der Trivadis AG. Er ist Autor verschiedener Fachbücher.
SOA ist eines der vielbeschworenen Buzzwords dieser Tage. Was dahinter steckt und welche pragmatischen Tipps ein Experte gibt, zeigt dieser Beitrag.

Die Idee hinter dem Konzept SOA, also den serviceorientierten Architekturen, klingt bestechend: die Programmlogik ist nicht mehr Bestandteil der einzelnen Programme, sondern wird über mehrere, unabhängige Services verteilt. IT-Prozesse werden so, vereinfacht dargestellt, als eigenständige Services definiert.

Prinzipiell kann man, ähnlich einer komfortablen Programmiersprache, auf einzelne fertige Module zurückgreifen und sich neue Anwendungen durch „Zusammenstecken“ erstellen. Dies funktioniert, weil alle Hersteller dasselbe Sechs-Schichten-Modell verwenden. Eine pragmatische Standardisierung von Schnittstellen sorgt in Verbindung mit XML als einheitlichem Datenformat für die notwendige Interoperabilität.

SOA steht damit für die ganzheitliche Betrachtung einer IT-Systemlandschaft als Unterstützungsfunktion für betriebliche Prozesse. Funktionen, die durch einzelne Systeme abgedeckt werden, sind dank SOA in standardisierter Form unternehmensweit zugänglich. Einmal erstellte Abläufe oder Funktionen können, sofern sie die Schnittstellen aufweisen, also immer wieder verwendet werden. Aus ganzen IT-Prozessen werden so letztlich Programmierbausteine.

Im Prinzip agieren die Dienste untereinander nach demselben Modell wie Webserver und Browser. Mit einer SOA können neue Systeme aufgebaut werden, die Teile der bestehenden IT nutzen. Aufgrund des unbestrittenen Nutzens dieser Standardarchitektur planen immer mehr Unternehmen die Einführung einer SOA. Besonders geeignet für Einführungsprojekte sind Vorhaben, die geschäftskritische Anwendungen betreffen, etwa Modernisierungs- und Migrationsprojekte, Datenintegrationsplattformen oder unternehmensweite, zentrale Lösungen wie beispielsweise Output-Management oder die Stammdatenverwaltung. SOA hilft so neben Zeit- und Kostenersparnis auch, die durchschnittliche Datenqualität in einem Unternehmen zu steigern.