Ein Plädoyer für Open-Source-SOA

30.08.2006
Von Markus Goerg

Es ist zunächst darauf zu achten, welche Aufgabenstellung zu lösen ist und welche Komponenten dazu benötigt werden. Notwendige Elemente einer SOA sind aus Sicht der Softwarehersteller der Enterprise Service Bus (ESB), Web-Services, eine Registry (UDDI) und eine Workflow-Engine. Nach unserer Meinung ist keiner dieser Bausteine zwingend erforderlich.

Kommunikationsinfrastruktur

Viele SOA-Initiativen zielen zunächst darauf ab, eine Kommunikationsinfrastruktur (Messaging) zu etablieren. Das passiert vor allem dort, wo die IT das SOA-Thema vorantreibt. Es ist zu beobachten, dass SOA nun als Vehikel benutzt wird, um weitere Gelder für solche Bereiche dort loszueisen, wo der EAI-Hype nach der Einführung großer Middelware-Boliden zum Teil eher ernüchternde Ergebnisse gebracht hat und nicht mehr zieht. Die Festlegung auf ein unternehmensweit einheitliches Messaging, sei es ein Standard wie Java Messaging Service (JMS) oder gar ein Produkt, ist aus unserer Sicht nicht so entscheidend, mitunter sogar kontraproduktiv. Denn die Anforderungen an die Kommunikation können sehr unterschiedlich sein.

Warum sollte es daher verboten werden, Services innerhalb eines Containers, technisch etwa innerhalb einer Java Virtual Machine, direkt aufzurufen, also ohne den Overhead eines XML Mashalling? Was eigentlich vermieden werden soll, so referierte kürzlich Markus Völter, unabhängiger Softwarearchitekt, im Rahmen einer kritischen SOA-Betrachtung auf der Enterprise-Architektur-Konferenz in Wiesbaden, sind Abhängigkeiten bei der Implementierung der Geschäftslogik von Kommunikations- und Integrationsdetails. Denn diese Techniken (etwa MQ-Series, Tuxedo, Corba, Soap oder JMS) sind deutlich kurzlebiger als die Geschäftslogik des Unternehmens.

Was Analysten sagen

Einer aktuellen Umfrage der Aberdeen Group zufolge werden neun von zehn Unternehmen in diesem Jahr Erfahrungen mit SOA sammeln. Befragt wurden die CIOs und IT-Leiter von über 120 Unternehmen weltweit. Sie wollen sich verstärkt mit den Design- und Programmiermodellen von SOA auseinandersetzen. Dabei sagen die Analysten dem Konzept eine große Zukunft voraus: 53 Milliarden Dollar an IT-Kosten können allein die TOP-2000-Companies durch SOA einsparen, indem die Entwicklungsaufwendungen sinken. Bevor das jedoch eintritt, gilt es, Geschäftsprozesse neu zu gestalten und sich mit dem SOA-Paradigma und den konkreten Auswirkungen für das Unternehmen auseinander zu setzen.

Die Konsequenz kann also nicht sein, eine Kommunikationstechnik festzulegen und einzufrieren. Vielmehr ist es notwendig, durch einen geeigneten Entwicklungsprozess diese hinderlichen Abhängigkeiten zu vermeiden. Die Protagonisten der Model Driven Architecture (MDA) machen es vor: Die Geschäftslogik sollte plattform- und technologieunabhängig modelliert werden, die konkrete Implementierung sollte über plattformspezifische Modelle und Transformationen generiert werden. Wer seine Entwicklungsmethodik nicht gleich so radikal umstellen möchte, kann zumindest versuchen, erst bei Serviceaufrufen die Bindung an die konkrete Kommunikationstechnik zu generieren.