Serviceorientierte Architektur (SOA)
Aus ControllingWiki
Inhaltsverzeichnis
Zusammenfassung
Die Nutzung einer serviceorientierten Architektur (SOA) ermöglicht es Unternehmen auf verschärfte Wettbewerbsbedingungen zu reagieren, da sich interne Geschäftsprozesse schnell und dynamisch anpassen lassen. Die Grundidee einer SOA ist es, die Geschäftsprozesse eines Unternehmens in flexible Softwaremodule zu überführen und diese intelligent zu verknüpfen. Als Ergebnis entsteht eine anpassungsfähige Architektur der Informationstechnik, die der Optimierung von Prozessen und der Minimierung von Kosten dient. Die Stärke von der SOA liegt in der modularen Gestaltung der IT-Architektur, die auf den realen Geschäftsprozessen des Unternehmens basiert und diese durch flexibel einsetzbare Bausteine abbildet. Das Konzept der SOA wird daher als zukunftsorientierte Architektur bezeichnet.
Aufbau und Zielsetzung von Serviceorientierten Architekturen
Mit Hilfe einer SOA kann die Infrastruktur an den unternehmenseignen Geschäftsprozessen ausgerichtet werden, wodurch sich schneller Umfeld bedingte Anpassungen vornehmen lassen. Die SOA ist dabei nicht mit einer Technologie oder einem Softwareprodukt zu verwechseln, da es sich um ein technologieunabhängiges Architekturkonzept handelt. Es trägt dazu bei, Softwarearchitekturen flexibler zu gestalten und fördert dadurch die Nutzung bereits vorhandener Komponenten.
Die Funktion der einzelnen Komponenten wird dabei durch die Struktur der SOA festgelegt. Zum Aufbau der Struktur werden die zuvor lose verbundenen Services zu einem Softwaresystem zusammengefügt. Jeder Service stellt innerhalb der SOA eine Softwarekomponente dar, die eine konkret definierte Funktion erfüllt. Die Bereitstellung der Deckungsbeiträge eines Produkts in verschiedenen Vertriebsgebieten ist ein Beispiel für die Funktion eines Services. Die Gestaltung der Services richtet sich dabei nach den Anforderungen des jeweiligen Unternehmens und seinen spezifischen Geschäftsprozessen. Die Services bilden somit die kleinsten Komponenten mit denen die Prozesse realitätsnah zusammengesetzt werden. So kann unter Anwendung des Konzepts der SOA eine komplette, anwendungsorientierte Architektur aus den einzelnen Services konstruiert werden.
Um die Funktionsfähigkeit zu gewährleisten, müssen die Services gekapselt sein, damit sie auch an anderer Stelle eingesetzt werden können ohne, dass es zu Problemen durch Abhängigkeiten kommt. In diesem Zusammenhang bezeichnet Kapselung die Gruppierung oder Trennung von Datenstrukturen, um den Zugriff auf die interne Datenstruktur gezielt über definierte Schnittstellen zu steuern. Für die Anwender der Services erscheinen diese als Black Box. Entsprechend erfolgt die Dateneigabe des Anwenders und die Datenausgabe in einem bestimmten Format, die Abläufe innerhalb des Services muss er dabei nicht kennen. Diese Architektur ermöglicht es, Codes eines Moduls anzupassen ohne, dass weitere Komponenten verändert werden müssen.
Nutzen von Serviceorientierten Architekturen
Die Abbildung des Geschäftsprozesses geschieht durch die lose Koppelung dieser Services zu einer Softwarearchitektur, die für Übersichtlichkeit und Flexibilität sorgt. Die Flexibilität entsteht durch die Veränderbarkeit des Zusammenspiels der Komponenten. Neue Komponenten können unabhängig von ihrer Technologie in die bestehende Architektur eingebaut werden und alte Komponenten ersetzen oder erweitern. Bisher machen die klassischen Architekturen von Software in Unternehmen Änderungen sehr komplex. Wenn sich etwa die Erfassungsmodalitäten einer gelieferten Ware änderten– weil z.B. die Erfassung durch einen Strichcode erfolgte –, musste ein Entwickler dies bisher direkt im Code der Anwendung anpassen, möglicherweise sogar in mehreren verschiedenen Anwendungen. Daher werden solche Teilfunktionen schon seit längerem in einzelne Module separiert, die man einzeln angleichen kann, und eine Abstimmung mit mehreren Stellen im Unternehmen unnötig wird. Eine konsequente Umstellung der Systemarchitektur auf Services setzt diesen Gedanken fort. Nach Umsetzung der SOA besteht die gesamte IT aus einzelnen, gekapselten Services, die sich einfach austauschen oder modifizieren lassen.
Zur Abbildung der Geschäftsprozesse durch Services ist eine Analyse der betrieblichen Abläufe nötig. Die Implementierung von SOA im Unternehmen reduziert auf diese Weise die Komplexität und deckt Optimierungspotentiale im Ablauf der Prozesse auf. So unterstützt die Implementierung von SOA das Prozess(kosten)management durch eine durchgängige Prozessorientierung. Am Beispiel des Teilprozesses „Vertrieb" können einige Vorteile durch den Einsatz von SOA aufgezeigt werden: Das Vertriebsprogramm greift auf die Daten der Buchhaltung zurück, während in einem weiteren Teilprozess die Buchhaltung mit dem Lagersystem gekoppelt wird. Die Services sind somit eine Art Baukastensystem zur Erstellung von individuell auf die Geschäftsprozesse ausgerichteten Applikationen.
Der modulare Aufbau führt einerseits zur
• Erhöhung der Flexibilität (vor allem durch schnelle Reaktion auf Prozessänderungen und einfache Integration neuer Komponenten) und andererseits zur
• Reduktion der Komplexität (vor allem durch die Kapselung der Funktionalität).
Abb.1: Die Gestaltung der IT-Landschaft
Abbildung 1 zeigt am Beispiel des Vertriebs, dass im Falle von Änderungen, Wartungen oder Ergänzungen an den einzelnen Datenbanken, diese nicht in sämtlichen Komponenten vollzogen werden müssen, da die Datenbanken aufeinander zugreifen können und eine redundante Datenhaltung umgangen wird. Somit kann eine erhebliche Effizienzsteigerung in der IT-Infrastruktur realisiert werden. Nachteilig wirkt sich aus, dass die Bereitstellung der Daten in standardisierter Form mit Performanceeinbußen verbunden sein kann.
Bei der Gestaltung und Implementierung von Geschäftsprozessen wird häufig das Business Process Management (BPM) eingesetzt. Im Rahmen des BPM kann SOA zu einer schnelleren Anpassung der Geschäftsprozesse beitragen, indem die einzelnen Komponenten entlang des Prozesses zusammengesetzt werden.
Stand der Umsetzung
Bislang liegen in der Praxis noch wenig Erfahrungen mit SOA vor. Unternehmen, in denen SOA bereits umgesetzt wurde berichten, vor allem von der gestiegenen Flexibilität zu profitieren. Die genannte Möglichkeit der Wiederverwendung von bestehenden Diensten wird nur selten als Hauptnutzen genannt. Dies könnte daran liegen, dass der Nutzeneffekt erst nach längerer Verwertung einer SOA relevant wird. Der entscheidende Vorteil einer SOA liegt in der modularen Ausrichtung dieser Architektur. Diese ermöglicht es, von konkreten Prozessen im Unternehmen auszugehen und sie realitätsgerecht in einzelnen, wieder verwendbaren Bausteinen abzubilden. Hierdurch werden nicht nur die Entwicklungskosten, sondern auch der Aufwand bei der Wartung und der zukünftigen Anpassung reduziert. Dadurch sichert SOA eine flexiblere Gestaltung von Geschäftsprozessen. Grundsätzlich ist jedoch wie für jede IT-Anwendung das Kosten-Nutzen-Verhältnis zu prüfen, und es sind die zu unterstützenden Prozesse sorgfältig auszuwählen.
Literatur
• Dietsch, A., Goetz, T. (2005), Nutzenorientiertes Management einer Serviceorientierten Unternehmensarchitektur., in: Wirtschaftsinformatik 2005.
• Flinspach, T. Melski, A. (2008), Flexibilität ist alles – Eine Fallstudie zu Serviceorientierten Architekturen (SOAs), in: Economag 2008.
• Krafzig, D., Banke, K., Slama, D. (2004), Enterprise SOA – Service-Oriented Architecture Best Practice.
• Reinheimer, S, Lang, F., Purucker, J., Brügmann, H. (2007), 10 Antworten zur SOA, in: Fröschle, H.-P., Reinheimer, S. (Hrsg., 2007), Serviceorientiere Architekturen, Heidelberg 2007, S.7-17.
• Weske, M. (1999), Business-Objekte – Konzepte, Architekturen, Standards, in: Wirtschaftsinformatik 1999.
Ersteinstellende Autoren
Prof. Dr. Klaus Möller
Dr. Tobias Flinspach
Kontaktadresse: Klaus.Moeller@unisg.ch
Homepage: [1] - www.aca.unisg.ch