Publish/Subscribe-Messaging und Topicbereiche

Publish/Subscribe-Messaging bietet Ihnen die Möglichkeit, eine Nachricht für viele Subskribenten zu veröffentlichen. Eine erzeugende Anwendung veröffentlicht eine Nachricht in einem bestimmten Themenbereich oder Topic. Das Topic für eine bestimmte Nachricht (Veröffentlichung) ist eine Eigenschaft der Nachricht. Konsumierende Anwendungen, die sich für das Topic subskribiert haben, empfangen jeweils eine Kopie der Nachricht. Ein Topicbereich ist eine Hierarchie von Publish/Subscribe-Topics. Für diese Topics werden automatisch Veröffentlichungspunkte in jeder Messaging-Engine des zugehörigen Service Integration Bus definiert.

Eine Topicbereichsziel der Serviceintegration befindet sich nicht in einem bestimmten Busmember. Die Serviceintegration verwaltet eine Liste mit Subskriptionen im Topicbereich und gleicht jede Veröffentlichung mit dieser Liste ab. Wenn eine neue Veröffentlichung mit einer oder mehreren Subskriptionen im Topicbereich übereinstimmt, stellt die Serviceintegration jedem Subskribenten eine Kopie der Veröffentlichung zu. Bei Bedarf kann die Serviceintegration die Veröffentlichungsnachricht so lange in eine Warteschlange stellen, bis der Subskribent für den Empfang der Nachricht bereit ist. Wenn die neue Veröffentlichung keiner Subskription entspricht, wird sie von der Serviceintegration verworfen.

Der Topicbereich besitzt einen Satz von Publish/Subscribe-Standardberechtigungen für alle Topics in der Hierarchie. Ein Administrator kann einzelne Publish/Subscribe-Topics mit bestimmten Berechtigungen und Medations konfigurieren. Publish/Subscribe-Topics übernehmen solche Konfigurationen von übergeordneten Publish/Subscribe-Topics in der Topicbereichshierarchie und vom Topicbereich selbst.

Publish/Subscribe-Topics desselben Namens können in mehreren Topicbereichen vorhanden sein, aber der Name eines Topicbereichs in einem Bus muss eindeutig sein. Stellen Sie sich beispielsweise eine Publish/Subscribe-Topic-Hierarchie vor, die in die folgenden Topicbereiche aufgeteilt ist:
library
Topics für die Dokumentverwaltung.
sales
Topics für Marketing und Vertrieb.
Das Publish/Subscribe-Topic "volumes" kann in beiden Topicbereichen der Topichierarchie erscheinen und in jedem Bereich eine andere Bedeutung haben.

Eine erzeugende Anwendung kann auf jede Messaging-Engine im Bus zugreifen. Die Nachrichten werden in dem Nachrichtenspeicher der Messaging-Engine gespeichert, mit der der Erzeuger verbunden ist. Deshalb kann ein Topicbereich Nachrichten in mehreren Nachrichtenspeichern in verschiedenen (erzeugenden) Messaging-Engines im Bus speichern. Nachrichten für ein Publish/Subscribe-Topic werden an einem Veröffentlichungspunkt veröffentlicht und automatisch an alle anderen Veröffentlichungspunkte weitergeleitet, an denen Subskribenten für dieses Topic vorhanden sind.

Abbildung 1. Publish/Subscribe-Messaging
Diese Abbildung wird im Begleittext beschrieben.

Der Standard-Messaging-Provider unterstützt die Verwendung permanenter Subskriptionen für Publish/Subscribe-Topics. Damit hat ein Subskribent die Möglichkeit, eine Kopie aller in einem Topic veröffentlichten Nachrichten zu empfangen, selbst wenn die Nachrichten zu einem Zeitpunkt veröffentlicht wurden, zu dem der Subskribent nicht mit dem Server verbunden war. Alle Publish/Subscribe-Nachrichten für eine bestimmte JMS-Verbindungsfactory oder Aktivierungsspezifikation, die permanenten Subskriptionen zugestellt werden sollen, werden am Veröffentlichungspunkt der Messaging-Engine gespeichert, die über die Eigenschaft "Home-Verzeichnis für permanente Subskriptionen" angegeben wurde. Wenn diese Messaging-Engine nicht verfügbar ist, können Subskribenten keine Nachrichten abrufen. Diese nicht zugestellten Nachrichten werden gespeichert und an die permanenten Subskriptionen gesendet, nachdem die Messaging-Engine erneut gestartet wurde.


Symbol, das den Typ des Artikels anzeigt. Konzeptartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cjo0002_
Dateiname:cjo0002_.html