Viele ESBs, viele Möglichkeiten

Top Ten ESB: Zehn Enterprise Service Buses im Vergleich

Jörg Wissmeier und Adrian Kraus

Der Begriff „ESB“ (Enterprise Service Bus) ist in der IT-Welt in aller Munde. Doch was genau ist überhaupt ein ESB? Diese Frage lässt sich so leicht beantworten wie die Frage nach dem Wetter. ESB ist ein Schlagwort oder neudeutsch Buzzword, das erstmals im Jahr 2002 vom amerikanischen Analysegiganten Gartner verwendet wurde, um die Technik XML-basierter Nachrichtenbusse zu beschreiben. Bis heute gibt es allerdings keine eindeutige Definition von einer unabhängigen Organisation wie etwa der Object Management Group (OMG). Das Ende der 1980er gegründete Konsortium legt herstellerunabhängig Programmier- und Softwarestandards fest, u. a. für BPMN, CORBA oder UML – bisher aber nicht für den ESB.

Apache Enterprise Integration

Passend zum Apache Integration Day der W-JAX 2011 präsentieren wir auf JAXenter Artikel, Interviews und Tutorials rund um die Themen Apache Camel, Apache CXF, Apache ServiceMix, Apache ActiveMQ und Apache Karaf.

Apache Integration Day

  • Flexibles Service Enabling mit Apache CXF
  • Apache CXF Transporte: Architektur, Design und Customizierung
  • OSGi auf dem Server. Mit Apache Karaf noch besser
  • Integration ganz einfach mit Apache Camel
  • How to build a Integration Application using Talend ESB based on Apache Projects
  • Integrationsprojekte auf dem Weg zur Continuous Delivery

Alle Infos zu den Sessions auf dem W-JAX-Zeitplaner!

Im ersten Teil des Artikels wird geklärt, was nach heutiger Auffassung unter einem ESB zu verstehen ist, und wo dieses Architektur- und Softwarekonzept in der IT-Welt anzusiedeln ist. In der Praxis hat das Fehlen eines allgemein anerkannten Standards zu einer recht heterogen anmutenden Ansammlung von ESB-Produkten geführt – zumindest was die zehn untersuchten Open Source ESBs angeht, die als Grundlage für diesen Vergleich dienen. Um einen ersten Überblick zu verschaffen, sind in dem folgenden Artikel die Systeme soweit wie möglich nach sinnvollen Kategorien geordnet. Anschließend werden die Open Source ESBs einander in einem Vergleich gegenübergestellt und die möglichen Einsatzszenarien der untersuchten Produkte genannt.

SOA ist die Lösung – der ESB ist das Werkzeug

Ein ESB ist in den meisten Fällen sehr eng mit einer serviceorientierten Architektur (SOA) verknüpft. Auch der Begriff „SOA“ ist ein Buzzword und recht unscharf. Die Autoren der deutschen Wikipedia haben sich bis heute noch nicht auf eine gemeinsame, gültige Definition einigen können. Nichtsdestotrotz: Der Enterprise Service Bus als Middleware-Anwendung dient beim Aufbau einer SOA zum einen als Integrationswerkzeug und zum anderen als das Datendrehkreuz bei der Integration der verteilten Diensten in heterogenen, gewachsenen Anwendungslandschaften. Kurz: Ein ESB fungiert als eine Art Dolmetscher zwischen Diensten verschiedener Softwareprodukte und -technologien und sorgt für die reibungslose Kommunikation zwischen diesen Diensten. Idealerweise sollten dabei keine Änderungen an den (Legacy-)Anwendungen selbst nötig sein.

In diesem Zusammenhang liefert Dave Chappell, amerikanischer Autor des einzigen, allgemein anerkannten Standardwerks mit dem schlichten Titel „Enterprise Service Bus“ [2], eine erste Definition für einen ESB: „An ESB is a standard-based integration platform that combines messaging, web services, data transformation, and intelligent routing to reliably connect and coordinate the interaction of significant numbers of diverse applications across extended enterprises with transactional integrity.“

Anhand der beiden folgenden Grafiken soll der Nutzen eines ESB weiter verdeutlicht werden:
Abbildung 1 zeigt eine typische IT-Landschaft ohne ESB. Um die verschiedenen Systeme miteinander integrieren zu können, muss jede Verbindung von und zu einem System individuell erstellt werden. Dabei müssen die jeweiligen Systemspezifika berücksichtigt werden. Ab einer bestimmten Anzahl von IT-Systemen nimmt der Verwaltungs- und Administrationsaufwand für diese Verbindungen exponentiell zu. Man spricht auch häufig von einer „Spaghettistruktur“. Spätestens jetzt macht es Sinn, sich über die Einführung eines ESB Gedanken zu machen.

Abb. 1: IT-Landschaft ohne ESB: Heterogenes, gewachsenes IT-System

Abbildung 2 veranschaulicht die gleiche IT-Landschaft wie Abbildung 1, jedoch mit einem ESB als Integrationsplattform.

Abb. 2: Homogenes, geordnetes System nach einer SOA-/ESB-Einführung

Hier gibt es nur noch eine Verbindung, nämlich die vom ESB zum System. Auch hier ist die Richtung von Bedeutung, allerdings bindet sich der ESB an das System an und nicht umgekehrt, sodass an den Systemen selbst keine Anpassungen nötig sind. Die Konfiguration des Routings erfolgt zentral (im ESB) in einem einheitlichen Format (meist XML). Das bedeutet eine extreme Entlastung bei der Verwaltung der Verbindungen. Die Kernaufgaben eines ESB sind demnach Folgende:

  • Anwendungsintegration mithilfe von Standards: in der Praxis hat sich bei der Anbindung von Anwendungen XML als bevorzugtes Nachrichtenformat herausgebildet. Message-oriented Middleware (MOM), also die Basisanwendung von vielen ESBs, nutzt aber auch XPath, XQuery, XSLT, JMS, SOAP oder JBI sowie die so genannten Enterprise Integrations Patterns (EIP2, nach Gregor Hophe). Diese liefern Modelle, die Entwickler bei ihren Integrationsaufgaben unterstützen. Auf welche Technologien die einzelnen ESBs setzen, zeigt Tabelle 1.
  • Intelligentes Routing und Transformation der zu übertragenden Nachrichten/Daten: Auch hier verwenden viele ESB-Systeme EIPs.
  • Skalierbarkeit: Mitwachsen des ESB-Systems bei steigenden Anforderungen.
  • Sicherstellung der Qualität der implementierten Services.
  • Integrationsplattform (wenn der Begriff „ESB“ weiter gefasst wird): der ESB als Werkzeug für EAI und/oder SOA.

Tabelle 1: ESB-Übersicht (Teil 1)Tabelle 1: ESB-Übersicht (Teil 1) (Vergrößern)

Tabelle 1: ESB-Übersicht (Teil 2)Tabelle 1: ESB-Übersicht (Teil 2) (Vergrößern)

Geschrieben von
Jörg Wissmeier und Adrian Kraus
Kommentare
  1. Warum Informationsmanagement Strategien so wichtig sind2016-01-27 13:15:24

    […] können Strategien für das Daten- und Informationsmanagement mit Hilfe zahlreicher Plattformen unterschiedlicher Anbieter umgesetzt werden. So stellt bspw. der Open-Source-Anbieter „Talend“, neben vielen anderen […]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.