Enterprise Service Bus Christopher Weiß 25.01.2010
Gliederung 1 Motivation und Einordung Integrationsformen 2 Definition und Eigenschaften Definitionen Eigenschaften 3 Aufbau und Konzepte Aufbau Produkte am Markt
Einzelintegration Nachteile: fest gekoppelt und unflexibel aufwendige Schnittstellenpflege Logik zum Routing steckt in einzelnen Anwendungen kein einheitliches Kommunikationsprotokoll keine zentralen Dienste (Monitoring)
Enterprise Application Integration Nachteile: EAI-Projekte sind sehr umfangreich und benötigen damit enorme Budget zu grobe Granularität für eine effektive Wiederverwendung EAI-Frameworks basieren im Wesentlichen auf eigenen proprietären Standards in Form einer Hub-and-Spoke Topologie angeordneter Integrationsbroker kann zum Flaschenhals werden
SOA Definition Unter einer SOA versteht man eine Systemarchitektur, die vielfältige, verschiedene und eventuell inkompatible Methoden oder Applikationen als wiederverwendbare und offen zugreifbare Dienste repräsentiert und dadurch eine plattformund sprachenunabhängige Nutzung und Wiederverwendung ermöglicht. Zielstellungen: Vermeidung von redundanten Daten und Funktionalitäten Unabhängigkeit von der Umgebung (Hard- und Software) Integration von Anwendungen und Diensten lose Kopplung einheitliche Standards an Geschäftsprozessen und deren Änderungen orientierter Aufbau
Fragestellungen Was ist ein ESB? Architektur, Konzept, Produkt,... Welchem Zweck dient der ESB? Was sind die Aufgaben bzw. Eigenschaften des ESB wodurch wird er charakterisiert? Wie lässt sich ein ESB realisieren? Wo kommt der ESB zum Einsatz innerhalb eines Unternehmens oder auch darüber hinaus?
Definition Defintion nach Garnter (2002) Ein ESB ist eine neue Architektur, die Web Services, nachrichtenorientierte Middleware, intelligentes Routing und Transformation nutzt. ESBs fungieren als ein leichtgewichtiges, allseits verfügbares Integrationsgerüst, durch welches Softwaredienste und Anwendungskomponenten fließen.
Definition Defintion nach Chappell (2004) Das ESB-Konzept ist ein neuer Ansatz in Bezug auf Integration, der das Fundament für ein lose gekoppeltes, hoch verteiltes Integrationsnetzwerk bildet[... ]. Ein ESB ist eine standardbasierte Integrationsplattform, die sowohl Nachrichten, Web Services, Datentransformation als auch intelligentes Routing miteinander verbindet, um eine erhebliche Zahl unterschiedlichster Anwendungen entlang erweiterter Unternehmen zuverlässig zu verbinden, ihre Interaktionen zu koordinieren und für transaktionale Integrität zu sorgen. [... ] Der ESB dient als Backbone, auf dem man eine SOA aufbauen kann.
Eigenschaften Durchdringung und Durchgängigkeit (Pervasiveness) standardbasierte Integration hoch verteilte Integration und wählbares Deployment verteilte Datentransformation Erweiterbarkeit durch überlagerte Services XML als Grundlage Durchsatz in Echtzeit Sicherheit und Zuverlässigkeit
Eigenschaften (2) Ereignissteuerung Prozessunterstützung entfernte Konfiguration und Management operationale Überwachung Autonomie aber föderierte Umgebung inkrementelle Anpassung
Fragestellungen Aus welchen Komponenten setzt sich der ESB zusammen? Welche Architektur liegt dem ESB zugrunde? Welche Funktionen stellt der ESB bereit? Wie anpass- und kombinierbar sind ESB? Welche Produkte gibt es auf dem Markt?
Bus, Endpunkte und Adapter Bus allgemein: Untersystem, das Daten oder Energie zwischen Teilen des Systems überträgt ESB: Kommunikationsinfrastruktur, die gemeinsam durch alle Dienstanbieter und Dienstnutzer verwendet wird Endpunkte Dienste verbinden ihre Dienstschnittstellen über Endpunkte mit dem Bus Eintritts- wie Austrittsendpunkte werden der Prozessschicht zur Verfügung gestellt Adapter technische Eigenschaften von Dienstanbietern und Dienstnutzern unterscheiden sich in heterogenen Anwendungslandschaften beträchtlich Dienstanbieter und Dienstnutzer werden durch Adapter mit der Middleware verbunden
Aufbau
Integrationsdienste und -fähigkeiten Transformationsdienste Transformation von Daten und Modellen Routingdienste Entgegennahme von Nachrichten und Weiterleitung nach vordefinierten Regeln Content-Basend Routing, Message-Filter Orchestrierungsdienste Steuerung des Nachrichtenflusses zwischen Dienstanbietern und Dienstnutzern basierend auf Prozessmodellen
ESB-Prozess
Integration verschiedener Systeme
Überblick von Produkten am Markt Sun Microsystems: Java CAPS (Composite Application Platform Suite) Sun Microsystems: Open ESB IBM: WebSphere Enterprise Service Bus Microsoft: Biztalk Server Oracle: Oracle ESB JBoss: JBoss ESB Progress Software: Progress Sonic ESB
Zusammenfassung ESB als Schlüsseltechnologie für den Aufbau einer SOA Architektur aus lose-gekoppelten Services, die Geschäftsprozesse kapselt und Flexibilität der Unternehmens-IT erhöht Entwickler müssen sich hoher Komplexität bewusst sein
Quellen & Literatur Dave A. Chappell, Enterprise Service Bus, O Reilly, 2004 Steffen Hiekel: Bedeutung und Qualitätseigenschaften des Enterprise Service Bus im Kontext von serviceorientierten Architekturen, Diplomarbeit, 2007 Interview mit Dave Chappell, JavaSPEKTRUM, 3/2005 http://www.sigs-datacom.de/fileadmin/user_ upload/zeitschriften/js/2005/03/interview_ JS_03_05.pdf Markus Demolsky: Enterprise Service Bus, Artikel, 2008 http://it-republik.de/jaxenter/artikel/ Enterprise-Service-Bus-1662.html Kristian Köhler: Mit Open Source schrittweise zu SOA, http://www.oio.de/m/konf/omg2007/ MitOpenSourceSchrittweiseZurSOA_final.pdf
Danke für Ihre Aufmerksamkeit!