Definition „Service Oriented Architecture“

Was ist SOA?

| Autor / Redakteur: zeroshope / Stephan Augsten

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

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

Kommentare werden geladen....

Kommentar zu diesem Artikel

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Der Weg in die Wolke mit Web-APIs

API-Hosting als Basis einer Microservice-Architektur

Der Weg in die Wolke mit Web-APIs

Microservices gelten heute als Basis moderner Anwendungsarchitekturen. Statt einer monolithischen und schwerfälligen Software wird die gesamte Funktionalität auf überschaubare Teilsysteme verteilt. Die entstandenen Services werden dann üblicherweise über das Internet und RESTful APIs zur Verfügung gestellt. lesen

Wo Microservice-Architekturen sinnvoll sind

Bereitstellung nach dem Prinzip „Teile und herrsche“

Wo Microservice-Architekturen sinnvoll sind

Leichtgewichtig, zustandslos und bedarfsgerecht skalierbar: Microservice-Architekturen haben es in sich. Gleichzeitig verändern sie die Art und Weise, wie Unternehmen ihre Software entwickeln und bereitstellen. lesen

5 Gründe für Low-Code-Entwicklung

Hilfe bei Programmierung, Qualitätssicherung und Prototyping

5 Gründe für Low-Code-Entwicklung

In der Softwareentwicklung könnten Low-Code-Lösungen einige Probleme lösen und für mehr Effizienz sorgen. So könnten die Entwickler wiederum mehr Zeit in andere Aufgaben investieren. Pegasystems hat fünf Gründe identifiziert, die für Low-Code-Entwicklung sprechen. lesen

Microservices – Neue Geheimwaffe oder SOA-Remake?

Kleine Services für schnelle Ergebnisse

Microservices – Neue Geheimwaffe oder SOA-Remake?

Microservices – der Programmieransatz wird als Geheimwaffe gehandelt, die Software schneller und flexibler macht. Kleine Codeblöcke – Microservices – statt komplexer Anwendungssilos klingt gut. Doch wie? Und … hatten wir das nicht schon mal? lesen

Microservices, Docker und DevOps

Erfolgversprechendes Trio

Microservices, Docker und DevOps

Prognose Wachstum: Immer mehr Unternehmen setzen in der Software-Entwicklung auf den hohen Nutzen von DevOps. Einerseits zur Beschleunigung von Software-Delivery-Prozessen, andererseits zur Verbesserung der Qualität, Zuverlässigkeit und Sicherheit des Produkts. lesen

Was ist Lambda und was kann man damit machen?

Einführung in AWS Lambda – Teil 1

Was ist Lambda und was kann man damit machen?

AWS hat mit Lambda „Serverless Computing“, bzw. „Serverless Applications“ salonfähig gemacht. Microsoft hat mit Azure Functions und Google mit Cloud Functions nachgezogen. In allen drei Fällen handelt es sich um eine Ereignis-basierte und asynchrone Computing-Lösung, mit deren Hilfe sich kleine, einzelne, direkt mit anderen Cloud-Services korrespondierende Funktionen erstellen lassen, ohne dass dazu ein virtueller Server oder eine Laufzeitumgebung erstellt und verwaltet werden muss. lesen

Grundlagen und Überblick über Cloud-native Ansätze

Cloud Native Stacks – Teil 1

Grundlagen und Überblick über Cloud-native Ansätze

Will man geschäftskritische Anwendungen „Cloud Native“ machen, bedeutet das nicht selten eine komplette Neuentwicklung. Ein Blick auf Cloud Native App Stacks hilft dabei, den Aufbau und die Struktur eines möglichen eigenen Stacks besser zu planen. lesen

Web-Dienste und Service-orientierte Architektur

Web-Service-API Contest – Teil 1

Web-Dienste und Service-orientierte Architektur

Web Services spielen mittlerweile eine große Rolle bei der Kommunikation zwischen IT-Systemen und -Komponenten. Denn serviceorientierte Architekturen, kurz SOA, bilden für nahezu alle professionellen Unternehmensanwendungen die Basis. Was bedeutet das? lesen

Die Umstellung auf Microservices richtig kalkulieren

Mikrodienste als Architekturmuster

Die Umstellung auf Microservices richtig kalkulieren

Microservices werden bei Software-Entwicklern und -Anbietern immer beliebter, nicht nur für neue, Container-basierte Projekte. Auch monolithische Anwendungen sollen den Mikrodiensten vermehrt weichen. Für eine erfolgreiche Neuumsetzung und Portierung ist jedoch eine gute Planung vonnöten. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 45870341 / Definitionen)