Serviceorientierte Architekturen- SOA-Grundlagen
Viele Unternehmen beginnen zurzeit damit, ihre IT-Landschaft auf serviceorientierte Architekturen (SOAs) umzustellen. Der Hauptnutzen einer serviceorientierte Architektur (SOA) liegt in einer deutlich höheren Flexibilität und Produktivität der IT. Darüber hinaus steigen die Wiederverwendungsmöglichkeiten solcher Dienste (Services) in den unterschiedlichsten Anwendungskontexten. Neue Dienste und Produkte können so schneller eingeführt und existierende Dienste schneller an die neuen Anforderungen angepasst werden.
Diese Thematik wird denke ich für die Unternehmen immer wichtiger und somit beschäftige auch ich mich zur Zeit mit der Thematik serviceorientierter Architekturen.
Hier mal eine kurze Zusammenfassung der wichtigsten SOA-Grundlagen:
Der Begriff Serviceorientierte Architektur (SOA) oder englisch Service Oriented Architecture, auch diensteorientierte Architektur, ist ein Managementkonzept für die Umsetzung von Geschäftsprozessen. Erst in zweiter Linie setzt SOA ein Systemarchitektur-Konzept voraus:
Das Managementkonzept strebt eine an den gewünschten Geschäftsprozessen ausgerichtete IT-Infrastruktur an, die schnell auf veränderte Anforderungen im Geschäftsumfeld reagieren kann.
Das Systemarchitektur-Konzept sieht die Bereitstellung fachlich-orientierter Dienste und Funktionalitäten in Form von Services vor.
Ein Service sei in diesem Kontext als eine Funktionalität definiert, die über eine standardisierte Schnittstelle in Anspruch genommen werden kann.
Komplexe Geschäftsprozesse lassen sich durch Aneinanderreihung von Service-Aufrufen („Komposition von Services“) realisieren. Die Programmlogik ist nicht in einem einzigen Programm zu finden, sondern verteilt über mehrere unabhängige Dienste.
Oft werden für SOAs Web Services auf Basis der wenigen bestehenden Standards wie SOAP, WSDL und UDDI eingesetzt, doch kann eine SOA prinzipiell auf jeder dienstbasierten Technologie wie zum Beispiel CORBA, DCOM oder Enterprise Java Beans (EJB) aufgebaut werden. Da Services in unterschiedlichen Programmiersprachen und auf unterschiedlichen Systemplattformen realisiert werden können, wird eine SOA häufig auch zur Anwendungsintegration genutzt.
Ein weiteres wesentliches Ziel einer SOA ist die Kapselung von persistenten Daten durch Dienste, die exklusives Lese- und Schreibrecht auf „ihre“ Daten besitzen. Die hierdurch erzielte Modularität führt zu geringen Redundanzen und einer höheren Flexibilität der IT-Systeme, was häufig zu niedrigeren Betriebskosten führt.
Das Primärziel einer serviceorientierten Architektur im Unternehmen ist es, die historisch gewachsene, heterogene Systemlandschaft effizient an Änderungen im Geschäftsprozess anpassen zu können. Weitere sekundäre Ziele sind spätere Kostenvorteile durch schnellere Optimierung, schnellere Reaktion auf Herausforderungen und mittelfristig auch Einsparungen im Budget der IT-Abteilung.