Definition „Service Oriented Architecture“ Was ist SOA?

Autor / Redakteur: zeroshope / Stephan Augsten

SOA steht für „Service orientierte Architektur“ und bezieht sich auf die IT-Infrastruktur. Ihre Umsetzung verspricht großes Potenzial: Von Zeit- und Geldeinsparungen über effizientere Arbeitsprozesse bis zur Problembeseitigung.

Anbieter zum Thema

Service-orientierte Architekturen zeichnen sich durch Dienste aus, die für möglichst viele Aufgaben und Prozesse zentral bereitgestellt werden.
Service-orientierte Architekturen zeichnen sich durch Dienste aus, die für möglichst viele Aufgaben und Prozesse zentral bereitgestellt werden.
(Bild gemeinfrei (modifiziert): geralt - Pixabay.com / Pixabay )

SOA bzw. im englischen Original „Service Oriented Architecture“ ist als Konzept inzwischen älter als 20 Jahre. Erstmals wurde es im Jahr 1996 vom Marktforschungsinstitut „Gartner“ aufgebracht.

Dieses entwickelte eine Idee für die Unternehmens-IT, von der es sich erhebliche Einsparungspotenziale versprach: In Firmen würden Abteilungen im Prinzip immer wieder die identischen IT-Funktionen („Services“/„Dienste“) in Anspruch nehmen – allerdings über unterschiedliche Anwendungen. Gelänge es, diese Dienste zu entkoppeln und zentral bereitzustellen, würde dies vieles vereinfachen.

Wie funktioniert SOA? Eine Metapher und ein Beispiel

Die Funktionsweise von SOA lässt sich am einfachsten über eine Metapher beschreiben. Ein Haus mit vielen Räumen wird gebaut. Für die kalte Jahreszeit müssen alle Räume beheizt werden. Jedes Zimmer würde ohne Service-orientierte Architektur eine Zentralheizung erhalten.

Aus Kostengründen wäre dies jedoch unverantwortlich: Das SOA-Konzept sagt deshalb, dass es eine Zentralheizung gibt, zu der jeder Raum einen separaten Zugang („Heizkörper“) enthält. Die Vorteile liegen auf der Hand:

  • Weniger Kosten für den Einbau.
  • Günstigere Wartung.
  • Einfache Problemsuche.
  • Effizientes Heizen für das gesamte Haus oder nach Bedarf auch nur für spezielle Räume.

Die Metapher lässt sich auf ein konkretes Beispiel übertragen: In Unternehmen arbeiten verschiedene Abteilungen mit Dokumentenverarbeitungen. Eigene Lösungen für jede Abteilung sind unwirtschaftlich und auch in anderer Hinsicht schädlich. Es liegt durchaus im Interesse der Firma, dass die einzelnen Abteilungen direkten Zugriff bzw. unmittelbares Wissen erhalten, was die jeweils anderen tun.

Beispielsweise erleichtert es die Arbeit der Buchhaltung sehr, wenn sie unmittelbare Informationen darüber erhält, welche Dokumente der Einkauf verarbeitet. Es ergibt also Sinn, diesen Dienst aus den Anwendungen zu lösen und in der IT-Infrastruktur zentral bereitzustellen.

Die Abstraktionsebenen von SOA verstehen

Um die Dienste zu entkoppeln und zentral bereitzustellen, arbeitet die SOA mit Abstraktionsebenen, die sich an den Geschäftsprozessen orientieren. Dabei gilt die grundsätzliche Regel: Je direkter der Kundenkontakt eines Geschäftsprozesses ist, desto höher ist die Abstraktionsebene. Als Beispiel: „Liefere Kunden die von ihm bestellte und bezahlte Ware A“ hat die höchstmögliche Abstraktionsebene.

Hohe Abstraktionsebenen zeichnen zwei Eigenschaften aus:

  • 1. Als Befehle sind sie abteilungsspezifisch und eignen sich nicht mehr für die Zentralisierung. Die Buchhaltung ist beispielsweise nicht mehr mit der konkreten Lieferung der Ware an den Kunden befasst.
  • 2. Hinter Prozessen auf der höchsten Abstraktionsebene verstecken sich allerdings viele Prozesse auf niedrigeren Ebenen. Beispielsweise: Finde die Ware im Lager, überprüfe, ob die Ware tatsächlich bezahlt wurde, verpacke die Ware und stelle sie für den Versand bereit. Diese Prozesse eignen sich durchaus für Zentralisierungen. Überprüfungen, ob Zahlungen vorliegen, müssen z.B. durchaus von mehreren Abteilungen vorgenommen werden.

Um die zu zentralisierenden Dienste zu finden, werden für die SOA die Prozesse auf der höchsten Abstraktionsebene in die Einzelprozesse auf den niedrigeren Ebenen zerteilt. Dies ist ausgesprochen arbeitsintensiv und der Grund, weshalb viele kleinere und mittlere Unternehmen den Wechsel zur SOA scheuen, obwohl er auch für sie vorteilhaft wäre.

Die wichtigsten Vorteile von SOA auf einen Blick

  • Zeitersparnis in Arbeitsprozessen
  • Geringere Unterhaltkosten für die IT-Wartung
  • Zentral verfügbares Wissen
  • Neuentwicklungen lassen sich schneller implementieren
  • Schwachstellen/ Probleme in der IT können schneller gefunden und beseitigt werden
  • Neuentwicklungen gelingen rascher

(ID:45870341)