Software für die SOA-Praxis
Artikel erschienen in Swiss IT Magazine 2006/07
Die serviceorientierte Architektur der Unternehmensinformatik, kurz SOA, geistert als Kontrastvorstellung zum historisch gewachsenen Applikationsdschungel schon seit Jahren durch die Köpfe visionärer IT-Planer. Das Internet macht's nun möglich: Erst mit allgemein verbreiteten offenen Standards statt proprietären Messaging-Protokollen lassen sich einzelne Software-Services auf breiter Ebene und mit der gewünschten Flexibilität und Agilität zu punktgenau bedarfsgerechten Business-Anwendungen kombinieren.
Konsequent implementiert verhilft eine SOA gleichzeitig zwei anderen Konzepten zum Durchbruch: Der softwaregestützte Umgang mit Geschäftsprozessen, neudeutsch Business Process Management (BPM), gehört mehr oder weniger zwingend zu einer wohldurchdachten serviceorientierten Umgebung. Ähnliches gilt für den gemeinschaftlichen Einsatz mehrerer Softwareanwendungen. Was bisher unter der Bezeichnung Enterprise Application Integration (EAI) lief und sich meist auf einen punktuellen Informationsfluss zwischen bestimmten Applikationen beschränkte, wird in einer SOA zum essentiellen Bestandteil der Unternehmensinformatik.
Deshalb verschwimmen auch die Produktkategorien –ohne BPM-Funktionalität ist eine «SOA-Suite» nicht komplett, und eine moderne «BPM-Lösung» muss mehr hergeben als eine simple Workflow-Grafik ohne Direktverbindung mit den zugrundeliegenden Diensten und Anwendungen. Anbieter von EAI- und anderen Infrastrukturlösungen tummeln sich vermehrt auch im BPM-Teich.
Eine serviceorientierte Architektur mit Fokus auf Prozessunterstützung greift auf allen Ebenen in die Unternehmens-IT ein und bringt dann am meisten, wenn sie auf sieben Ebenen implementiert wird:
Services: Die Grundbausteine jeder SOA sind Softwaredienste, die sich stets um einen konkreten, einzelnen Geschäftsvorgang kümmern –zum Beispiel eine Lieferbestätigung. Services werden von Grund auf programmiert, typischerweise im Rahmen einer Java- oder .Net-Umgebung, als Teilfunktionalität einer bestehenden Anwendung genutzt oder von firmenexternen Anbietern bezogen.
Registry: Damit muss sich der passende Service finden lassen. Dazu braucht es ein unternehmensweites Verzeichnis. Eine Registry, die dem UDDI-Standard entspricht, ist unabdingbarer Bestandteil jeder SOA.
Messaging: Die Services müssen in konsistenter Weise kommunizieren. Die dafür nötige Infrastruktur nennt sich Enterprise Service Bus (ESB) und bringt unterschiedliche Messaging-Mechanismen von den proprietären Protokollen der Vergangenheit über Standards wie JMS bis zu den aktuellen Web-Service-Spezifikationen unter ein Dach.
Management: Web-Service-Standards und standardisierte Kommunikation sind notwendig, aber nicht ausreichend. Im Unternehmensumfeld spielen Sicherheit, Nachvollziehbarkeit, zuverlässige Verfügbarkeit und weitere Management-Aspekte eine ebenso zentrale Rolle. Zu einer SOA gehört demnach auch ein Management-Framework, das die Services und mit ihnen aufgebaute Prozesse und Anwendungen unabhängig von den Implementationsdetails einheitlich verwaltet.
Orchestration: Erst die Kombination verschiedener Services zur Unterstützung der Geschäftsprozesse bringt die Vorteile einer SOA zum Tragen. Die Services müssen dynamisch zu einer situationsgerechten Prozesskette zusammengesetzt werden. In Anlehnung an die Musik spricht man von Orchestration: Auch hier bringen die einzelnen Instrumente nur mit kombinierter Unterstützung durch die Partitur (vordefinierte Beziehungen und Regeln) und den Dirigenten (Runtime-Steuerung) eine Symphonie zum Klingen.
Analytics: Die beste Information ist nutzlos, wenn sie nicht verständlich präsentiert wird. Die IT muss Informationen in Echtzeit liefern und so aufbereiten, dass auch technisch unkundige Anwender –zum Beispiel das Management –daraus unternehmerischen Nutzen ziehen können. Diese Funktion wird meist Business Activity Monitoring genannt (BAM). Sie gehört zwar nicht zu den Grundfunktionen einer SOA, spielt aber in BPM-Systemen eine zunehmend wichtige Rolle.
User Interface: Aus den dank Orchestration kombinierten Services entstehen zusammengesetzte Anwendungen. Für die Bedienung solcher Composite Applications braucht es eine Benutzerschnittstelle, die alle benötigten Ein- und Ausgabeelemente zusammenfasst, oft in Form eines personalisierbaren Web-Portals. Eine umfassende SOA-Implementierung stellt dafür Entwicklungstools bereit.
Die BPM- und SOA-Lösungen in unserer Marktübersicht gewichten die sieben Ebenen je nach Herkunft und Stossrichtung des Anbieters unterschiedlich. Einige SOA-Suiten befassen sich zum Beispiel vornehmlich mit den Infastrukturschichten und bieten wenig Analyse-Funktionalität. Die traditionellen BPM-Anbieter stammen ursprünglich meist aus der Dokumentenmanagement-Szene: Sie stellen keine SOA-Infrastrukur bereit, sondern fungieren einfach als Konsumenten und Anbieter einzelner Web-Services.
Dreizehn Hersteller offerieren eine mehr oder weniger komplette SOA-Suite mit einem universell nutzbaren Enterprise Service Bus im Zentrum. Einige Highlights:
Bea Systems, bekannt durch den Applikationsserver Weblogic, hat die hauseigene Integrationsplattform Weblogic Integration (WLI) vor kurzem durch die Produktlinie Aqualogic mit ESB, Registry und Entwicklungstools für Composite Applications ergänzt. Durch Zukauf hat sich Bea ausserdem die BPM-Lösung von Fuego einverleibt und steht nun als SOA/BPM-Komplettanbieter da.
Sonic Software und Fiorano starteten als Anbieter von JMS-Lösungen (Java Message Service) und haben dieses Fundament im Lauf der Zeit mit einer Web-Service-Schicht zum ESB ausgebaut. Sonic Software offeriert heute auch eine Komplettsuite mit Orchestration und Schnittstellen zu verschiedenen Datenquellen. Die SOA 2006 Platform von Fiorano enthält darüber hinaus starke BPM-Funktionen mit Modeling-Tools und Prozessverarbeitungs-Engine.
Die vergleichsweise kleine Firma Cape Clear gilt als Pionier der ESB-Technologie und bietet heute eine umfassende SOA-Suite an, der es allerdings an weitergehenden BPM-Funktionen fehlt. Webmethods, ein anderer ESB-Pionier, bietet dagegen auch eine waschechte BPM-Lösung samt umfassender BAM-Funktionalität an.
Das Angebot von IBM im Dunstkreis von SOA und BPM ist ebenso umfassend wie unübersichtlich. Neben traditionellen Middleware-Produkten hat IBM mit Websphere Message Broker und Websphere ESB gleich zwei ESB-Implementationen im Programm: Während der Message Broker eine Vielzahl von Protokollen inklusive JMS, Biztalk und HIPAA beherrscht, konzentriert sich die «Light-Variante» Websphere ESB auf Web-orientierte Standards wie WSDL, SOAP und BPEL. Dazu kommen BPM-Produkte wie der Websphere Process Server und der Websphere Business Modeler.
Iona Technologies ist als High-End-Anbieter von Middleware bekannt und bietet neben einem ESB namens Artix auch eine Java-zentrierte Open-Source-Variante namens Celtix an.
Die Integration Suite von Polar Lake kümmert sich weniger um Web-Standards, bietet aber diverse Adapter zu teilweise älteren Enterprise-Umgebungen wie SAP R/3, CICS und IMS. Ausserdem offeriert Polar Lake eine Finance Edition, die Protokolle der Bankenwelt wie RiXML, FpML und SWIFT-Standards unterstützt.
SOA- und BPM-Lösungen von 27 Herstellern
(ubi)