Mit WebSphere Message Broker können als Nachrichten verpackte Informationen zwischen verschiedenen Geschäftsanwendungen, von großen traditionellen Systemen bis hin zu bedienungsfreien Geräten, z. B. Sensoren auf Pipelines, fließen.
Es gibt zwei Methoden, wie WebSphere Message Broker Nachrichten bearbeiten kann.
Nachrichten können, abhängig von ihrem Inhalt, vom Sender zum Empfänger weitergeleitet werden.
Die von Ihnen entworfenen Nachrichtenflüsse steuern die Nachrichtenweiterleitung. Ein Nachrichtenfluss beschreibt die Operationen, die an der ankommenden Nachricht ausgeführt werden sollen, sowie die anzuwendende Reihenfolge.
Jeder Nachrichtenfluss besteht aus:
IBM liefert integrierte Knoten und Beispiele für viele gängige Funktionen. Falls Sie weitere Funktionen benötigen, können Sie Ihre eigenen benutzerdefinierten Knoten schreiben.
Die Nachrichtenflüsse werden im Message Brokers Toolkit erstellt; hierbei handelt es sich um eine integrierte Entwicklungsumgebung und eine Administrationskonsole für die Brokerdomäne.
Nachrichten können vor ihrer Zustellung umgewandelt werden:
Konvertierungen können von verschiedenen Knoten in einem Nachrichtenfluss vorgenommen werden. Bevor jedoch ein Nachrichtenflussknoten eine ankommende Nachricht bearbeiten kann, muss er die Struktur dieser Nachricht verstehen.
Die von Ihnen entworfenen Nachrichtendefinitionen werden in einer Nachrichtengruppe erstellt, die mindestens eine Nachrichtendefinition enthält. Die Nachrichtengruppen kategorisieren auch die Nachrichtendefinitionen. Die Kategoriefunktion, die mit Hilfe von XSLT-Scripts erweitert werden kann, wird für die Generierung der Web Services Description Language (WSDL) und Dokumentation verwendet werden.
Das Routing und die Umsetzung von Nachrichten findet in einem Broker statt. Broker enthalten mehrere Ausführungsgruppen; hierbei handelt es sich um Prozesse, in denen Nachrichtenflüsse ausgeführt werden.
Broker werden in Brokerdomänen gruppiert. Jede Domäne wird von einem Konfigurationsmanager koordiniert. Es kann viele verschiedene Broker geben, und jeder kann auf einem anderen System ausgeführt werden. Dies verhindert Störungen und kann die Arbeit der verschiedenen Bereiche eines Unternehmens aufteilen.
Der Systemadministrator erstellt den Konfigurationsmanager mit einer Anweisung in der Befehlszeile. Der Konfigurationsmanager verwendet ein internes Repository zur Speicherung der auf die Brokerdomäne bezogenen Informationen.
Auf die gleiche Art und Weise erstellt der Systemadministrator einen oder mehrere Broker und verbindet ihn mit einem bestimmten Konfigurationsmanager, so dass er Teil der Domäne wird, die von diesem Konfigurationsmanager gesteuert wird. Jeder Broker verwendet eine Datenbank zur Speicherung der Informationen, die er benötigt, um Nachrichten während der Ausführung zu verarbeiten.
Der Konfigurationsmanager zeigt die Benutzer und Gruppen auch in den Zugriffssteuerungslisten an, die Sie für die Festlegung der Benutzerberechtigungen verwenden. Weitere Informationen hierzu finden Sie im Abschnitt Publish/Subscribe.
Nachdem der Systemadministrator die Komponenten einer Brokerdomäne erstellt und verbunden hat, erstellt ein Anwendungsentwickler mit der Workbench Nachrichtenflüsse und Nachrichtendefinitionen und bearbeitet sie.
In der Workbench werden verschiedene Ansichten implementiert, um Nachrichtenflüsse und Nachrichtengruppen zu entwickeln und eine oder mehrere Brokerdomänen zu verwalten.
Zur Bereitstellung der Zugriffs- und Versionssteuerung kann ein Repository verwendet werden. In einem Repository können mehrere Entwickler gleichzeitig auf derselben Ressource arbeiten.
Nachdem die Nachrichtenflüsse und Nachrichtengruppen in der Workbench erstellt wurden, können ausführbare Daten an einen oder mehrere Broker implementiert (übertragen) werden.
Beim Einrichten werden Nachrichtenflüsse und Nachrichtengruppen zusammengefasst und in einer Brokerarchivdatei (BAR-Datei) kompiliert und an den Konfigurationsmanager gesendet. Eine BAR-Datei verfügt über konfigurierbare Systemeigenschaften. Sie können Eigenschaften wie die Namen der Warteschlangen und Datenbanken überschreiben, ohne dafür die Quellendatei zu ändern oder den Nachrichtenfluss neu zu entwickeln. Auf diese Art und Weise können Definitionen leichter zwischen den Systemen verschoben werden.
Der Konfigurationsmanager öffnet die BAR-Datei, entnimmt den Inhalt, zeichnet die empfangenen Informationen auf und leitet diese an den entsprechenden Broker weiter. (Nach dem Abruf der Informationen wird die BAR-Datei gelöscht). Jeder Broker speichert die Informationen in seiner eigenen lokalen Datenbank. Dies bedeutet, dass ein Broker, wenn er über ausreichend Informationen verfügt, die Verarbeitung von Nachrichten fortsetzen kann, auch wenn er nicht mehr länger mit dem Konfigurationsmanager verbunden ist.
Der Konfigurationsmanager koordiniert alle Aktivitäten (z. B. Änderungen der Nachrichtengruppe) zwischen der Workbench und den Brokern innerhalb der Domäne. WebSphere MQ-Messaging wird zwischen der Workbench, dem Konfigurationsmanager und den Brokern verwendet.
Die einfachste Art der Nachrichtensteuerung ist die Verwendung der Punkt-zu-Punkt-Nachrichtenübertragung, bei der Nachrichten direkt von einer Anwendung an eine andere gesendet werden. Die Publish/Subscribe-Funktion stellt eine Alternative zur üblichen Nachrichtenübertragung dar.
Eine veröffentlichende Anwendung sendet eine Nachricht über ein benanntes Thema an einen Broker. Der Broker leitet die bereitgestellte Nachricht an die Anwendungen weiter, die ein Interesse an diesem Thema angemeldet haben. Der Bereitsteller und der Subskribent wissen nicht voneinander.
Der Broker übernimmt die Verteilung der Nachrichten zwischen bereitstellenden und subskribierenden Anwendungen. Anwendungen können mehrere Themen bereitstellen oder subskribieren bzw. andere, ausgefeiltere Filtermechanismen ausführen.
Ein optionaler Benutzernamensserver in der Brokerdomäne steuert, wer zur Veröffentlichung oder Subskription von Themen berechtigt ist. Die thematisch geordneten Sicherheitsfunktionen werden auf der Workbench installiert und verwaltet.
Mit Hilfe von Zugriffssteuerungslisten werden die Benutzerberechtigungen auf individueller oder auf Gruppenebene festgelegt.