SOA 08.12.2005, 20:36 Uhr

Jenseits des Hypes

Service Oriented Architecture ist ein IT-Thema, das für viele Missverständnisse sorgt. Die Definition und Implementierung einer SOA in der IT-Umgebung eines Unternehmens bedeutet für Architekten und Entwickler eine einzigartige Herausforderung.
Das Konzept von SOA ist keineswegs neu. In jüngster Zeit sind aber massgebliche Lücken in den Bereichen Technologie und Standards geschlossen worden. Nun ist die Entwicklung flexibler und offener SOA-Lösungen möglich, die noch vor wenigen Jahren undenkbar waren.
Das primäre Ziel von SOA ist die Definition von Unternehmensarchitekturen, welche die Bereitstellung business-relevanter Dienste mittels offener IT-Standards optimal unterstützen. SOA zeichnet sich durch eine mehrschichtige Architektur aus. Die einzelnen Layer sind mittels offener Standards und Technologien (Grafik) miteinander verbunden.
Bei den Services einer SOA handelt es sich um High-Level Business-Services, meist auf der Ebene von Subsystemen oder Applikationen. Die Definition der Services erfolgt in der Regel top-down ausgehend von der betrieblichen Seite des Unternehmens.
Eine SOA lässt sich unter Einsatz zahlreicher, traditioneller Technologien wie Corba, .Net und J2EE implementieren. Bei den Gängigsten handelt es sich um offene Standards und Technologien zur Entwicklung von Webservices.
Zu den häufigsten Einsatzbereichen einer SOA gehört die Enterprise Application Integration (EAI). Hier bietet eine SOA den Rahmen für eine flexible, schnelle Integration unter Wiederverwendung bestehender IT-Assets.
Ein SOA-Projekt lässt sich von der Konzeption her in zwei Aufgaben aufteilen:
Definition der SOA-Architektur auf der Grundlage der Business und IT-Strategie. Zu den wichtigsten Schritten bei dieser Aufgabe gehört die Festlegung der geforderten Business Services.
Implementierung der SOA, der Business Services sowie der zur Unterstützung erforderlichen Infrastruktur. Diese Aufgabe verlangt nach Spezialisten mit grossem Know-how.

Definition einer SOA

Der wichtigste Unterschied zwischen einer unternehmensweiten Architektur auf der Grundlage von SOA-Prinzipien und einer traditionellen Architektur besteht darin, dass die High Level Business Services festzulegen sind, die von der Architektur unterstützt werden müssen. Diese Services sind grob granular definiert und entsprechen betrieblichen Funktionen wie Hypothekenberechnung, Risikoanalyse, Clearing-Systeme usw. Diese Business Services bilden die Bausteine für die Enterprise-Applikationen, die von der SOA unterstützt werden. Die Wiederverwendung betrieblicher Funktionen erfolgt in einer SOA - typischerweise aber nicht ausschliesslich - auf der Ebene dieser Business Services.
Die Definition geeigneter Business Services ist anspruchsvoll. Sie erfolgt üblicherweise top-down, was durch hochrangige Branchenspezialisten durchgeführt werden sollte. Voraussetzungen sind:
Umfassende Kenntnisse hinsichtlich der bestehenden und zukünftigen Ausrichtung, der Ziele und der Strategien des Unternehmens.
Die Fähigkeit, bei der Definition von Service Level Anforderungen (Skalierbarkeit, Verfügbarkeit, Performance, Zuverlässigkeit) für die einzelnen Geschäftseinheiten behilflich zu sein.
Entscheidungskompetenz für die Business Services der Geschäftseinheiten. Derartige High-Level Business Services beziehen sich oft auf mehrere Organisationseinheiten eines Unternehmens. Die Zuweisung der Verantwortung für diese Services spielt eine entscheidende Rolle. Nur so ist sichergestellt, dass die Business Services und die SOA langfristig ausgelegt sind. Auch wenn das Ziel darin besteht, die Definitionen von Business Services und Business-Prozessen durch den Einsatz strukturierter Technologien (UML, UBL, BPEL) erfassen zu lassen, darf der Prozess in der Anfangsphase nicht mit zu viel Technologie überladen werden.

Implementierung einer SOA

Ein wichtiger Erfolgsfaktor bei der Implementierung des SOA Frameworks und der Business Services ist die Wahl der Technologie. Wie schon in der Einführung erwähnt, sind Webservices-Technologien zwar beliebt, aber keineswegs die einzige Lösung. Die Definition der Schnittstellen zwischen den verschiedenen Layern und Komponenten ist von entscheidender Bedeutung. Im Idealfall basieren diese auf offenen Standards und Technologien. Dies hat folgende Vorteile:
- Bestehende Anwendungen, die mittels proprietärer Technologien realisiert wurden, können gekapselt und integriert werden. Sie lassen sich zu einem späteren Zeitpunkt ersetzen, ohne dass dies grössere Auswirkungen auf die gesamte Architektur hat.
- Kostspielige «Fallen» aufgrund des Einsatzes proprietärer Technologien werden vermieden.
- «Einbahnstrassen» werden vermieden, die durch den Einsatz von Technologien entstehen können, welche sich nicht durchsetzen.
Die Empfehlungen der Work Services Inter-operability Organisation (WS-I) bilden eine gute Basis. WS-I stellt eine zuverlässige Interoperabilität zwischen den unterschiedlichen Standards und Technologien sicher.

Sicherheit und Manageability

Sicherheit, in unserem Fall sichere Services, sind für Enterprise Umgebungen ein wichtiges Anliegen. Gerade dies ist aber einer der unbeständigsten Bereiche, was akzeptierte Standards und Technologien angeht. Ein Security-Framework muss flexibel sein und eine Vielzahl unterschiedlicher Sicherheitsparadigmen unterstützen. Aber es muss auch in der Lage sein, künftige Sicherheitstechnologien unterstützen zu können. Hier bieten die Liberty Alliance und Web Services Security nützliche technologische Grundlagen. Ein solches Security-Framework (einschliesslich aller Ebenen der Security- und Identity-Services) stellt bei einer SOA-Implementierung einen entscheidenden Erfolgsfaktor dar.
Ein letzter, entscheidender Erfolgsfaktor bei der Implementierung ist die Frage der Manageability. Business Services werden zusammen mit den Service Level Anforderungen definiert. Die Durchsetzung und Kontrolle der daraus resultierenden Service Level Agreements (SLAs) auf allen Ebenen der Software-Infrastruktur hinweg ist ext-rem komplex und aufwändig. Standards und Produkte hierfür stecken immer noch in den Kinderschuhen, was bei der Definition und Implementierung einer SOA entsprechend berücksichtigt werdend muss.

So ist SOA erfolgreich

Damit sichergestellt ist, dass das Projekt den gewünschten Erfolg bringt, ist eine enge Zusammenarbeit mit allen betroffenen Geschäftsbereichen erforderlich. Die Verfügbarkeit neuer Industriestandards und Technologien - notabene einer der Faktoren, die den Aufschwung des SOA-Paradigmas erst ermöglicht haben - können auch gleichzeitig die Implementierung einer SOA erschweren. Die Auswahl geeigneter Standards und Technologien sowie Fragen rund um Sicherheit und Manageability haben grossen Einfluss auf den Erfolg und die spätere Flexibilität einer SOA-Implementierung.
Robert Insley *


Das könnte Sie auch interessieren