WebSphere Message Broker - technischer Überblick

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 in Pipelines reichen können.

In diesem Diagramm sind die vier Hauptkomponenten von WebSphere Message Broker (Message Brokers Toolkit, Konfigurationsmanager, Broker und Benutzernamensserver) sowie deren Interaktionen dargestellt.

WebSphere Message Broker verarbeitet Nachrichten auf zwei Arten: Über das Nachrichtenrouting und die Nachrichtenumsetzung.

Nachrichtenrouting

Nachrichten können auf Basis des Nachrichteninhalts vom Sender an den Empfänger weitergeleitet werden.

Die von Ihnen entworfenen Nachrichtenflüsse steuern das Nachrichtenrouting. 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; siehe Überblick zu benutzerdefinierten Erweiterungen.

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.

Nachrichtenumsetzung

Nachrichten können vor ihrer Zustellung umgewandelt werden:
  • Sie können von einem Format in ein anderes umgewandelt werden. Auf diese Weise ist es möglich, den unterschiedlichen Anforderungen von Sender und Empfänger gerecht zu werden.
  • Die Umsetzung kann über die Änderung, Kombination, das Hinzufügen oder Entfernen von Datenfeldern erfolgen, wobei auch Informationen herangezogen werden können, die in einer Datenbank gespeichert sind. Zwischen den Nachrichten und Datenbanken können Informationen zugeordnet werden. Durch die Codierung von Extended SQL (ESQL) (ESQL, Erweiterte SQL) oder Java innerhalb von konfigurierbaren Knoten ist eine komplexere Bearbeitung der Nachrichtendaten möglich.
Umsetzungen können von verschiedenen Knoten in einem Nachrichtenfluss vorgenommen werden. Bevor ein Nachrichtenflussknoten eine Operation an einer eingehenden Nachricht ausführen kann, muss er die Struktur dieser Nachricht kennen und verstehen.
  • Einige Nachrichten enthalten eine Definition ihrer eigenen Struktur und ihres Formats. Bei diesen Nachrichten, die als 'selbstdefinierende Nachrichten' bezeichnet werden, sind für die Verarbeitung keine zusätzlichen Informationen zu Struktur und Format erforderlich; siehe Vordefinierte und selbstdefinierte Elemente und Nachrichten.
  • Sonstige Nachrichten enthalten keine Informationen hinsichtlich ihrer Struktur und ihres Formats. Zur Verarbeitung dieser Nachrichten müssen Sie eine Definition ihrer Struktur erstellen; siehe Nachrichtendefinitionsdateien.

Die Nachrichtendefinitionen, die Sie entwerfen, werden innerhalb einer Nachrichtengruppe, die eine oder mehrere Nachrichtendefinitionen enthält, erstellt. Die Nachrichtengruppen kategorisieren auch die Nachrichtendefinitionen. Die Kategoriefunktion, die mithilfe von XSLT-Scripts erweitert werden kann, wird für die Generierung der Web Services Description Language (WSDL) und Dokumentation verwendet; siehe Nachrichtenkategorien.

Wie Nachrichtenflüsse werden auch Nachrichtendefinitionen in der Workbench erstellt. Sie können zwei Arten von Informationen enthalten:
  • Die logische Struktur: die abstrakte Zusammenstellung und die Merkmale der Daten in Form einer Baumstruktur; siehe Das Nachrichtenmodell.
  • Mindestens ein physisches Format: die Art und Weise, wie Daten in einem physischen Bitstrom mit Begrenzern dargestellt werden; siehe Physische Formate in der MRM-Domäne.

Laufzeitumgebung erstellen

Das Routing und die Umsetzung von Nachrichten findet in einem Broker statt. Broker enthalten mehrere Ausführungsgruppen, bei denen es sich um Prozesse handelt, in denen Nachrichtenflüsse ausgeführt werden.

Broker werden in Brokerdomänen gruppiert. Jede Domäne wird von einem Konfigurationsmanager koordiniert. In einer einzigen Domäne 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 zum Speichern von Informationen über die zugehörige Brokerdomäne.

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; siehe Themenspezifische Sicherheit. Unter Publish/Subscribe an späterer Stelle in diesem Abschnitt finden Sie weitere Informationen zu Zugriffssteuerungslisten.

Anwendungen entwickeln

Nachdem der Systemadministrator die Komponenten der Brokerdomäne erstellt und verbunden hat, erstellt und ändert ein Anwendungsentwickler mithilfe der Workbench Nachrichtenflüsse und Nachrichtendefinitionen.

Mit verschiedenen Perspektiven in der Workbench werden Nachrichtenflüsse und Nachrichtengruppen erstellt sowie Brokerdomänen verwaltet; siehe Message Brokers Toolkit.

Zur Bereitstellung der Zugriffs- und Versionssteuerung kann ein Repository verwendet werden. Mithilfe eines Repositorys können auch mehrere Entwickler parallel mit denselben Ressourcen arbeiten; siehe Entwicklungsrepository.

Für die Kommunikation zwischen Anwendung und Brokern kann WebSphere MQ verwendet werden; siehe WebSphere MQ Enterprise Transport. Darüberhinaus können folgende Kommunikationsprotokolle verwendet werden:

Anwendungen in der Laufzeitumgebung implementieren

Nachdem die Nachrichtenflüsse und Nachrichtengruppen in der Workbench erstellt wurden, können ausführbare Daten auf einem oder mehreren Brokern implementiert (übertragen) werden; siehe Übersicht über die Implementierung.

Die Implementierung der Daten kann auf folgende Arten erfolgen:
  • Über die Workbench
  • Über einen Shellbefehl
  • Über die Konfigurationsmanager-Proxy-Anwendungsprogrammierschnittstelle

Bei der Implementierung werden Nachrichtenflüsse und Nachrichtengruppen zusammengefasst und in einer Brokerarchivdatei (BAR-Datei) kompiliert und an den Konfigurationsmanager gesendet (siehe Übersicht über die Implementierung). Die BAR-Datei enthält konfigurierbar 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. Durch diese Konfiguration 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.

Publish/Subscribe

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; siehe Anwendungskommunikationsmodelle. Publish/Subscribe stellt eine Alternative zur üblichen Nachrichtenübertragung dar.

Eine veröffentlichende Anwendung sendet eine Nachricht über ein benanntes Thema an einen Broker; siehe Themen. 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.

Mithilfe von Zugriffssteuerungslisten werden die Benutzerberechtigungen auf individueller oder auf Gruppenebene festgelegt; siehe Themenspezifische Sicherheit.

Weitere Informationen

Eine grundlegende Einführung in WebSphere Message Brokers finden Sie in der IBM Redbooks-Veröffentlichung WebSphere Message Broker Basics.

Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Feedback

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Letzte Aktualisierung : 2009-02-17 15:28:00

ab20551_