Key Visual - Manage Your Business Integration
 

Okt

26

Brave New Message Broker?

By Thorsten Theelen on Mo, Oct/26/2009

Neuerungen in WebSphere Message Broker V7.0

Der WebSphere Message Broker ist das „Schweizer Taschenmesser“ unter den ESB-Produkten der IBM. Wenn die Anforderungen an Konnektivität und Transformationen aufgrund der Heterogenität einer IT-Umgebung durch andere ESBs wie z.B. den WebSphere ESB oder die WebSphere Datapower Appliance nicht erfüllt werden können, kommt der Message Broker zum Einsatz.

Die IBM wird Anfang November die neue Version 7 des Message Brokers veröffentlichen. Auf der diesjährigen „Websphere and Transaction & Messaging Technical Conference“ in Hamburg wurde diese das erste Mal der Öffentlichkeit vorgestellt und die neuen Features in einer Reihe von Vorträgen, Labs und Live Demos präsentiert. Im Folgenden möchte ich einige dieser neuen Funktionen und Verbesserungen zur aktuellen Version kurz vorstellen.

Vereinfachte Architektur


Anstatt den Message Broker nur um ein paar neue Funktionen wie z.B. neue Knoten zur Entwicklung von Message Flows zu erweitern, lag der Schwerpunkt bei WMB V7 in einem Redesign der Architektur. Bislang bestand der Broker aus unzähligen Komponenten, darunter neben der Broker Runtime selbst einem Queue Manager, der Broker-Datenbank, dem Config-Manager und optional einem User Name Server zur Publish-Subscribe-Unterstützung. Bis auf den Queue Manager fallen in Version 7 all diese Zusatzkomponenten weg.

Administrationswerkzeuge wie z.B. das Message Broker Toolkit oder die mitgelieferten Kommandozeilentools verbinden sich ab sofort nicht mehr mit einem Config-Manager, sondern direkt mit dem Broker. Durch das Wegfallen der Broker-Datenbank besteht keine Abhängigkeit mehr zu DB2, was die Installation vereinfacht und eine mögliche Fehlerquelle bei der Einrichtung beseitigt. Message Broker V7 nutzt die Publish-Subscribe-Funktionen von WebSphere MQ V7 und erweitert diese z. B. um inhaltsabhängige Verteilung der Nachrichten. Der eigene User Name Server, der bisher zur Authentisierung der Nutzer in Publish-Subscribe-Szenarien diente wird nicht mehr benötigt, da die entsprechenden MQ-Funktionen jetzt vom Broker mitbenutzt werden. Die Verwendung der MQ-Funktionen führt jedoch auch dazu, dass die neue Message Broker Version als einzige noch vorhandene Produktabhängigkeit WebSphere MQ in Version 7 voraussetzt.

Auch beim Deployment gibt es ein paar Veränderungen. Message Broker 7 bietet die Möglichkeit die Message Flows innerhalb einer Execution Group unabhängig voneinander zu starten und zu beenden. Des Weiteren ist es zukünftig möglich, einzelne Message Flows direkt in eine Execution Group zu deployen, ohne sie vorher in eine BAR-Datei verpacken zu müssen.

Patternbasierte Entwicklung


Auch für die eigentlichen Entwicklungsprozesse haben sich die Message Broker Entwickler etwas Neues ausgedacht. Anstatt wie bisher nach dem „Bottom Up“-Prinzip vorzugehen und einen Message Flow aus einzelnen Komponenten Schrittweise aufzubauen, unterstützt das Message Broker Toolkit mit der neuen, patternbasierten Entwicklung nun einen „Top Down“-Ansatz, indem fast fertige, wieder verwendbare Vorlagen für häufig auftretende Anwendungsfälle, zur automatischen Erzeugung von Message Flows verwendet werden können. Auf diese Weise lassen sich im Idealfall Entwicklungsprozesse beschleunigen und so ein schnellerer ROI erreichen.

Um dies zu ermöglichen verfügt das Toolkit für WMB7 über einen „Patterns Explorer“, in dem vordefinierte Patterns aus verschiedenen Kategorien gewählt werden können. Zu jedem Pattern gibt es eine ausführliche Beschreibung und ein Schaubild, um mögliche Anwendungsfälle und die genaue Funktionsweise des Patterns zu erläutern. Hat der Entwickler ein zu seinem Problem passendes Pattern gefunden, muss er noch eine Reihe von Parametern einstellen, wie z.B. Queue Manager Namen, Präfixe zum einhalten von Namenskonventionen oder auch Logging-Optionen. Ist dies geschehen wird automatisch ein Message Flow generiert, der das beschriebene Pattern mit den vom Entwickler eingegebenen Parametern implementiert. Als weitere Hilfestellung wird nach der Erzeugung des Message Flows eine Zusammenfassung angezeigt, die den erstellten Message Flow beschreibt und Anweisungen gibt, welche weiteren Schritte erforderlich sind um den neu erzeugten Flow in Betrieb zu nehmen (z.B. Erstellen von Queues, Überwachung von Logging-Queues).

In der aktuellen Version, die im November veröffentlicht werden soll gibt es acht vordefinierte Patterns, diese Zahl soll jedoch stetig ansteigen. Neue Patterns können in Form von Eclipse-Plugins nachinstalliert werden, bislang besteht jedoch keine Möglichkeit für die User, eigene Patterns zu erstellen. Es gibt jedoch Pläne, eine „Pattern Capture“-Funktion zu entwickeln, die es dem User ermöglicht, aus eigenen Message Flows Patterns zu konstruieren.

Neue und verbesserte Knoten


Auch wenn der Fokus bei der Entwicklung der neuen Message Broker Version auf der Architektur lag, bietet sie eine Reihe von neuen Knoten und Verbesserungen an vorhandenen Knoten, die den Message Broker um sinnvolle Funktionen erweitern.

Die neuen SCA-Knoten ermöglichen eine direkte Anbindung des Message Brokers an den WebSphere Process Server. Der Message Broker Flow kann dabei sowohl als SCA-Endpunkt auftreten, als auch andere SCA-Endpunkte aufrufen.

Über die Sequence- und Resequence Knoten können Nachrichten, die in einer beliebigen Reihenfolge eintreffen, anhand einer konfigurierbaren Sequenznummer sortiert werden, bevor eine Weiterverarbeitung erfolgt. Dies ist immer dann nützlich, wenn eine Verarbeitung von Nachrichten in einer bestimmten Reihenfolge geschehen muss, die Nachrichtensequenz aber beispielsweise auf dem Transportweg nicht garantiert werden kann. Die Sequenznummer wird innerhalb der Nachricht gespeichert und kann flexibel festgelegt werden (z.B. fortlaufende Nummern, Timer-basiert,...).

Der PHP Compute Node war zwar schon für die aktuelle Version verfügbar, allerdings wurde die Plattformunterstützung und Performance verbessert. PHP ist eine weit verbreitete und leicht zu erlernende Scriptsprache, daher eignet sie sich gut als Ergänzung zu den vorhandenen ESQL und Java Compute Nodes.

Weitere, bereits vorhandene Knoten wurden ebenfalls verbessert. So können die Registry- und Endpoint-Lookup-Knoten zur Abfrage von Informationen aus WSRR-Verzeichnissen ab sofort neben Web Service Beschreibungen, auch auf in Form von MQ Service Definitions beschriebene MQ Services zugreifen. In WMB7 unterstützen die FileInput-Knoten auch SFTP. Die häufig verwendeten Adapter-Knoten für Anwendungen wie SAP, Siebel und PeopleSoft wurden ebenfalls verbessert und um neue Funktionen erweitert.

Verbesserte Entwicklungs- und Administrationstools


Neben der Funktionalität wurde auch an der Benutzerfreundlichkeit der Entwicklungs- und Administrationswerkzeuge gearbeitet. Im Message Broker Toolkit gibt es ab sofort nur noch eine Perspektive. Das ständige Umschalten zwischen der Development- und Administration-Ansicht entfällt. Das neue Deployment-Log erleichtert die Fehlersuche, falls beim deployen mal etwas schief läuft, und „Sticky Notes“ ermöglichen es, innerhalb des Message Flow Editors Kommentare anzubringen.

Der Message Broker Explorer, das bereits bekannte Plugin für den MQ Explorer wurde zu einem vollwertigen Administrationswerkzeug ausgebaut. Es verfügt jetzt über umfangreiche Monitoring- und Reporting-Funktionen. So lassen sich z.B. Nutzungsdaten für verschiedene Komponenten erfassen. Diese Daten werden ausgewertet und im MB Explorer grafisch dargestellt. Beispiele für überwachbare Komponenten sind die JVM (Speichernutzung, Threadanzahl, Heap Statistik,...), Parser (Speichernutzung, Nachrichtenelemente erstellt/gelöscht,...) und SOAP/HTTP( geöffnete Sockets, gesendete und empfangene Bytes).

Fazit


Die neuen Features und Verbesserungen im Message Broker 7 sind für mich ein großer Schritt in die richtige Richtung. Wenn man z.B. das neue Toolkit in Aktion sieht freut man sich fast darauf die aktuelle Version bald deinstallieren zu dürfen. Die vereinfachte Architektur und das Wegfallen von Abhängigkeiten zu anderen Anwendungen könnte die Installation und Konfiguration deutlich vereinfachen und auch die neuen Knoten erweitern den Message Broker um eine Reihe nützlicher Funktionen.

Die patternbasierte Entwicklung wirkt wie eine sinnvolle Erweiterung. Die einzelnen Patterns sind gut dokumentiert und die Werkzeuge zur Erzeugung von Pattern-Instanzen wirken gut durchdacht und ermöglichen es, innerhalb kurzer Zeit komplexe Message Flows zu generieren. Allerdings ist die in der aktuellen Version verfügbare Anzahl von Patterns noch sehr gering und es bleibt abzuwarten, ob die Pattern-Bibliothek wirklich so schnell anwächst wie versprochen, und diese Patterns dann tatsächlich eine gute „Out of the Box“-Lösung für reale Anwendungsfälle darstellen.



0 Kommentare

Einen Kommentar erstellen

Name
Thema
Text
Link(s)
Login
Login

Margin
Blog-Autor
Thorsten Theelen
Thorsten Theelen
Software Engineer
+49-221-97343-40