WebSphere Message Broker ermöglicht den Fluss von Informationen, die als Nachrichten gepackt sind, zwischen verschiedenen Geschäftsanwendungen, wobei diese von traditionellen Großsystemen bis hin zu unbemannten Geräten wie Sensoren oder Pipelines reichen können.
WebSphere Message Broker kann Nachrichten auf zwei Arten verarbeiten.
Nachrichten können auf Basis des Nachrichteninhalts vom Sender an den Empfänger weitergeleitet werden.
Die von Ihnen entworfenen Nachrichtenflüsse steuern die Nachrichtenweiterleitung. Ein Nachrichtenfluss beschreibt die Operationen, die für die eingehende Nachricht ausgeführt werden sollen, sowie die Ausführungsreihenfolge.
Jeder Nachrichtenfluss setzt sich aus folgenden Punkten zusammen:
IBM stellt für viele häufig verwendete Funktionen integrierte Knoten und Beispielprogramme zur Verfügung. 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:
Umsetzungen können von verschiedenen Knoten in einem Nachrichtenfluss vorgenommen werden. Bevor ein Nachrichtenflussknoten jedoch eine Operation an einer eingehenden Nachricht ausführen kann, muss er die Struktur dieser Nachricht kennen und 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 Sie mit XSLT-Scripts erweitern können, wird zur Erstellung der Web Services Description Language (WSDL) und der Dokumentation verwendet.
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 können viele Broker vorhanden sein, wovon jeder einzelne auf einem anderen System ausgeführt werden kann. Auf diese Weise ist ein Fehlerschutz möglich, und die Arbeit kann auf verschiedene Abteilungen eines Unternehmens verteilt werden.
Der Systemadministrator erstellt den Konfigurationsmanager über eine Anweisung in der Befehlszeile. Der Konfigurationsmanager verwendet ein internes Repository zur Speicherung der auf die Brokerdomäne bezogenen Informationen.
Der Systemadministrator erstellt auf ähnliche Weise einen oder mehrere Broker, wobei er jeden Broker mit einem bestimmten Konfigurationsmanager verknüpft. Auf diese Weise werden sie zum Bestandteil der Domäne, 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 der Brokerdomäne erstellt und verbunden hat, erstellt und ändert ein Anwendungsentwickler mit Hilfe der Workbench Nachrichtenflüsse und Nachrichtendefinitionen.
Mit verschiedenen Perspektiven in der Workbench werden auch Nachrichtenflüsse und Nachrichtengruppen erstellt sowie eine oder mehrere Brokerdomänen verwaltet.
Zur Bereitstellung der Zugriffs- und Versionssteuerung kann ein Repository verwendet werden. Mit Hilfe eines Repositorys können auch mehrere Entwickler parallel mit denselben Ressourcen 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. Die 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 Weise wird die Verschiebung von Definitionen zwischen Systemen vereinfacht.
Der Konfigurationsmanager öffnet die "Hülle" mit den eingebundenen Daten, entfernt den Inhalt, erstellt einen Datensatz der empfangenen Informationen und leitet die Informationen an die entsprechenden Broker weiter. (Die "Hülle" wird gelöscht, sobald die darin enthaltenen Informationen abgerufen wurden.) Jeder Broker speichert die Informationen in seiner eigenen lokalen Datenbank. Wenn ein Broker also über genügend Informationen verfügt, kann er Nachrichten auch dann weiter verarbeiten, wenn er nicht mehr mit seinem 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 übergibt die veröffentlichte Nachricht an die Anwendungen, die Interesse an diesem Thema angemeldet haben. Der Publisher und der Subskribent kennen einander nicht.
Der Broker übernimmt die Verteilung der Nachrichten zwischen den veröffentlichenden und den subskribierenden Anwendungen. Anwendungen können viele verschiedene Themen veröffentlichen bzw. diese abonnieren (subskribieren) und auch ausgereiftere Filterverfahren anwenden.
Ein optionaler Benutzernamensserver in der Brokerdomäne steuert, wer zur Veröffentlichung oder Subskription von Themen berechtigt ist. Die themenbasierte Sicherheit wird über die Workbench eingerichtet und verwaltet.
Mit Hilfe von Zugriffssteuerungslisten werden die Benutzerberechtigungen auf individueller oder auf Gruppenebene festgelegt.