Wüste der Integration

Auf Kamelen durch die Wüste der Integration

Wissensbeitrag - Teil 2

Im ersten Blog Artikel zum Thema “Auf Kamelen durch die Wüste der Integration” wurde das Open Source Framework Apache Camel betrachtet. In diesem fortsetzenden Beitrag wird das Thema von der WebSphere Message Broker Seite beleuchtet.

1 - Einführung

Der Websphere Message Broker von IBM bietet eine graphische Oberfläche, in der die Integrationsrouten, beim Broker Message Flows genannt, durch graphische Knoten realisiert werden. Die Knoten können individuell konfiguriert werden, zusätzliche Programmierung erfolgt über sogenannte Compute Nodes, die für verschiedene Sprachen zur Verfügung stehen. Der Standard Compute Node nutzt ESQL, eine abgewandelte Form der SQL-Notation, die speziell für den Message Broker angepasst wurde. Des Weiteren stehen allerdings auch beispielsweise für Java oder PHP Knoten zur Verfügung.

Der Message Broker baut auf Websphere MQ auf, daher muss ein entsprechender Queue Manager zur Verfügung stehen, auf dem ein Message Broker eingerichtet wird. Dieser stellt wiederum eine Execution Group zur Verfügung, auf der der Message Flow läuft.

Der Start des Flows kann dann über verschiedene Input Knoten geschehen. Im Beispiel wurde ein MQ Input als Eingangspunkt gewählt. Die Ländercodes wurden hierbei zum Starten des Flows im XML-Format auf einer Queue abgelegt und von dort ausgelesen.

Es wurde XML gewählt, da dies vom Message Broker nativ gelesen werden kann und so leichter auf die Daten zugegriffen werden konnte.

Es musste an zusätzlicher Konfiguration nur der ODBC-Adapter für die DB2 Datenbank angepasst werden. Der Adapter wurde bereits bei der Installation des Message Brokers installiert und konnte nach Ändern einer initialisierungsdatei und einiger Umgebungsvariablen unter Linux direkt verwendet werden.

2 - Programmstruktur

Der Message Flow besteht aus fünf Knoten plus zusätzlichen Knotenpunkten für Logging und Exception Handling.

Zusätzlich wurde je ein ESQL Skript für die Generierung der REST-Aufrufe und der Datenbankqueries verwendet.

3 - Ablauf

Es wird eine XML-Datei auf einer Queue abgelegt, die alle möglichen Ländercodes für den REST-Service enthält.

Ein Compute Node spaltet die einzelnen Ländercodes auf und setzt für jede so entstehende Nachricht den zugehörigen REST-Aufruf im Header der Nachricht.

Von dort wird vom http-Request Knoten die Adresse des REST-Services ausgelesen und selbiger aufgerufen.

Da der Message Broker in neueren Versionen von Haus aus die JSON-Domäne unterstützt musste die Transformation in ein Java-Objekt hier nicht durchgeführt werden und im Datenbankskript konnte direkt über die JSON-Struktur auf die einzelnen Felder zugegriffen werden.

Zum Abschluss wurden die JSON-Objekte nach dem Schreiben in die Datenbank auf eine Out-Queue abgelegt.

4 - Erweiterbarkeit, Modifizierbarkeit

Die Grafische Oberfläche des Message Broker ist sehr überschaubar und neue Knoten zur Erweiterung können durch Drag-and-Drop hinzugefügt werden. Durch Doppelklick können bestehende Knoten konfiguriert werden.

Der ESQL-Code ist normalem SQL-Code sehr ähnlich und damit sehr leicht verständlich.

5 - Logging und Monitoring

Der Message Broker stellt zum einen Trace-Knoten zur Verfügung, über die an bestimmten Punkten in einem Message Flow eine Log-Nachricht mit im Knoten festgelegtem Inhalt erzeugt wird. Diese wird dann wahlweise in ein Log oder eine Datei ausgegeben.

Zudem besitzt jeder Knoten ein Konfigurationstab für Monitoring, welches weitere Funktionalität für bestimmte Events zur Verfügung stellt.

6 - Exception Handling

Um Fehler abzufangen besitzt der Message Broker zum einen an jedem Knoten Ausgänge für Fehlerbehandlung, so dass zu jedem Zeitpunkt des Flows Fehler abgefangen und behandelt werden können.

Diese Terminals können dann weiter mit Knoten verbunden werden und so behandelt werden.

Zusätzlich stehen spezielle Try/Catch- und Throw-Knoten zur Verfügung, mit denen Fehler abgehandelt werden können.

Fazit

Die angegebene Problemstellung ließ sich sowohl mit Apache Camel als auch mit dem Message Broker komfortabel lösen. Beide Programme bieten hierbei eine ähnliche Herangehensweise, auch wenn die Bedienung des Message Brokers sich, dank der grafischen Oberfläche, etwas einfacher und intuitiver gestaltete.

Rechner mit Programmiercode

Auch war beim Message Broker weniger Vorkonfiguration von Abhängigkeiten notwendig, was sich vor allem bei größeren Projekten schnell bemerkbar macht. Ebenfalls zeigte sich hier das Monitoring um einiges leichter.

Die Vorzüge von Apache Camel lagen eindeutig auf der Vielfalt der Aufbaumöglichkeiten. Die Camel Route kann sowohl als Standalone Anwendung mit einem kurzen Java-Programm als auch in einem Container verwendet werden. Beim Message Broker wird immer Websphere MQ vorrausgesetzt.

Insgesamt bietet Apache Camel vor allem in kleineren Projekten eine echte Alternative zu lizenzpflichtigen Produkten. In einem größeren Umfang, mit vielen Endpunkten und langen Routen ist allerdings von Camel als Stand-Alone Lösung abzuraten. In diesem Falle lohnt es sich auf kommerzielle Produkte wie Message Broker zurückzugreifen oder zumindest die Routen als OSGi-Bundle in einem Container wie Websphere Application Server oder Apache Servicemix aufzusetzen.

Für den längeren Betrieb stellt sich auch immer die Frage des Supports. Es gibt zwar von Fuse ein Support-Lizenz Modell für Camel, jedoch hat man damit natürlich auch nicht mehr den Vorteil der gesparten Lizenzkosten, die Apache Camel bietet.

Wüste der Integration
Wissen

Auf Kamelen durch die Wüste der Integration

Im Rahmen eines Kundenprojektes sollte die Anbindung eines RESTful Webservices an eine DB2 Datenbank realisiert werden. Open Source Integrationsframework Apache Camel lieferte die Lösung. Der Blogartikel geht ins Detail.

Services für Apache Camel
Technologie

Services für Apache Camel

Opensource Framework um Integrationslösungen nach den Enterprise Integration Patterns umzusetzen. Zur Umsetzung wird der FUSE Mediation Router eingesetzt – eine ausgeführlich getestete Version von Apache Camel.

Wissen

Mediation mittels Transformation und Routing

Wie kann durch Mediation auf der Basis eines Messagingsystems lose Kopplung zwischen Anwendungen erzielt werden? Gibt es bei der Umsetzung der Mediation Unterschiede zwischen Open Source und kommerziellen Lösungen? Dieser Blogartikel beantwortet diese Fragen.

Schweizer Taschenmesser zur Visualisierung der Bündelung von Funktionen
Wissen

Brave New Message Broker

Der WebSphere Message Broker ist das „Schweizer Taschenmesser“ unter den ESB-Produkten der IBM. Im Blogbeitrag möchten wir einige dieser neuen Funktionen und Verbesserungen zur aktuellen Version kurz vorstellen.

Puzzleteil zur Visualisierung von Integration
Wissen

IBM Integration Bus 9 – Der neue Message Broker

Auf der Impact 2013 in Las Vegas wurde Version 9 des bewährten WebSphere Message Brokers (WMB) unter dem Namen IBM Integration Bus (IIB) vorgestellt. Der Grund für die Umbenennung ist sicher die neue ESB-Strategie der IBM. Der Blogartikel liefert Einzelheiten.

Newtonkugeln
Wissen

Aus zwei mach eins – Das „neue“ IBM Integration Bus

Die IBM hat sich jetzt entschieden den Message Broker und den WebSphere ESB zu einem Produkt zusammenzufassen, IBM Integration Bus (IIB). Dieser Artikel beschäftigt sich mit den Vorteilen und den Migrationswegen von WMB und WESB hin zu IIB.

Puzzleteile zur Visualisierung von Integration
Wissen

Migration WebSphere Message Broker

Der WebSphere Message Broker (WMB) wurde ab Version 9 in IBM Integration Bus (IIB) umbenannt. In diesem Blogeintrag werden das allgemeine Migrationsvorgehen sowie einige Probleme beschrieben, die dabei auftreten können.

Wissen

Message Broker: Kleines Fixpack mit großer Wirkung

Anfang Oktober 2012 wurde Fixpack 1 für WebSphere Message Broker Version 8 veröffentlicht. Der folgende Blogeintrag beschäftigt sich mit einigen der Neuerungen, die andeuten könnten, wohin sich der Message Broker in Zukunft entwickelt.

Arbeit am Laptop
Wissen

Qualität der Messagingsysteme

Welche Funktionalitäten bieten Messagesysteme? Wo liegen die Unterschiede zwischen frei verfügbaren und kommerziellen Messagingsystemen? Lesen Sie in diesem Artikel mehr.

Verschiedene Werkzeuge wie Hammer, Schraubenzieher, etc. auf einem Boden
Wissen

Standards von Opensource ESB's

Können bestehende, ausführbare Mediationen auf eine SOA Platform portiert werden? Wann wäre dieser Übergang sinnvoll? Was tragen OSGi und JBI zu einer SOA bei?

Puzzleteil zur Visualisierung von Integration
Wissen

Einlesen großer Dateien mit Camel

Wenn eine relativ große Datei über eine simple Java Anwendung zerlegt und die so gewonnen Daten in eine Datenbank geschrieben werden sollen, gibt es verschiedene Ansätze, die sowohl Vor- als auch Nachteile aufweisen.

Apache Lösungen
Technologie

Apache Lösungen

Lesen Sie alles zu ausgewählten Apache Messaging- und Connectivity- Produkten, die bei uns zum Einsatz kommen.

Puzzleteile zur Visualisierung von Integration
Wissen

Einführungsworkshop in Apache Integrationslösungen

Eine Schulung zu dem Thema „Einführung in die Apache Integrationslösungen“ beschäftigt sich intensiv damit, wie Wissen zu den Produkten Apache ActiveMQ, Camel, CXF und ServiceMix möglichst gut aufbereitet und effizient vermittelt werden kann.

Fortis Logo
Referenz

Fortis Finance Germany redesigned die Middleware

Fortis setzt auf eine X-INTEGRATE Business Integration Lösung basierend IBM WebSphere Message Broker und IBM WebSphere MQ, sowie der marktführenden Integrationsmethodik Baseline.

Person arbeitet am Computer
Wissen

What's new in Message Broker V8?

Liegt der Fokus beim Message Broker V8 auf neuen Features oder die Erweiterung bestehender Features? Bringen diese für Message Broker Entwickler und Administratoren Produktivitätsgewinne mit sich, die eine Migration auf V8 rechtfertigen? Dieser Blogartikel gibt Antwort darauf.

WebSphere MQ & Message Broker Migration
Technologie

WebSphere MQ & Message Broker Migration

Viele Unternehmen sehen sich mehr und mehr mit der Anforderung konfrontiert, ihre bestehende MQ / Message Broker V6.x Umgebung auf Version 7 zu migrieren. Gerne unterstützen wir Sie dabei!

Wolke zur Visualisierung der Cloud
Wissen

Impact Nachlese - Mobile, Cloud und Integration

Wie kann Technologie helfen bessere Geschäftsergebnisse zu erzielen? Das war das Motto der diesjährigen Impact Konferenz der IBM in Las Vegas mit ca. 8500 internationalen Teilnehmern. Dieser Blogartikel fasst unsere Eindrücke zusammen.

Wissen

Wiederverwendung bei der Integrationsentwicklung

Überträgt man das Konzept der Wiederverwendung auf die heutzutage angebotenen Integrationslösungen befinden wir uns, wie die WebSphere Technical Conference (WTC) gezeigt hat auf der Stufe der Entwurfsmuster, was EAI Integration angeht und auf Framework Ebene bei Cloud & SaaS Integration.

Wissen

Wie verarbeite ich 13 Millionen Nachrichten pro Sekunde?

Welche neuen Potentiale könnten Sie heben, wenn Ihre Unternehmensanwendung mit hundertausenden von mobilen Endgeräten je Sekunde kommunizieren könnte? Einige Möglichkeiten das zu realisieren wurden auf der diesjährigen IBM Impact Konferenz vorgestellt und diskutiert.

Literaturtipp: Enterprise Integration Patterns
Trendthemen 03.09.20

Literaturtipp: Enterprise Integration Patterns

Dieses Buch ist besonders herauszuheben, denn “Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions” von Gregor Hohpe und Bobby Woolf ist die Referenz zu Mustern im Bereich Integration und Enterprise Service Bus.