Publish/Subscribe-Messaging über mehrere Busse
In der Serviceintegration verwendet das Publish/Subscribe-Messaging Topicbereichsziele. Jedes Topicbereichsziel stellt eine Gruppe von "Publish/Subscribe"-Topics dar. Wenn mehrere Busse über einen SIB-Link miteinander verbunden sind, sind die in einem Topicbereich in einem Bus veröffentlichten Nachrichten für Subskribenten eines Topicbereichs in einem anderen Bus zugänglich.
Das Topic für eine bestimmte Nachricht (Veröffentlichung) ist eine Eigenschaft der Nachricht. 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. Falls die neue Veröffentlichung keiner Subskription entspricht, verwirft die Serviceintegration nicht Veröffentlichung.
Subskribenten können Topics empfangen, die in einem fernen Bus veröffentlicht werden, solange eine Verbindung zwischen den Bussen konfiguriert ist. Sie können einen Bus konfigurieren, zu dem Sie zum Austausch von Nachrichten mit anderen Messaging-Netzen eine Verbindung herstellen möchten. Hierfür müssen Sie eine fremde Busverbindung konfigurieren. Eine fremde Busverbindung kapselt Informationen, die sich auf das ferne Messaging-Netz beziehen, wie z. B. den Typ des fremden Busses und die Einstellung, ob Messaging-Anwendungen Nachrichten an den fremden Bus senden dürfen.
Zum Verbinden von Topicbereichszielen in benachbarten Bussen konfigurieren Sie Topicbereichszuordnungen, wenn Sie eine fremde Busverbindung erstellen. Jeder Eintrag in der Zuordnung ordnet ein lokales Topicbereichsziel einem Topicbereich im fremden Bus zu. Anschließend können Subskribenten von Topics im Topicbereich im lokalen Bus Nachrichten empfangen, die in diesen Topics im Topicbereich im fremden Bus veröffentlicht werden. Publish/Subscribe-Anwendungen erstellen Erzeuger und Subsriptionen für Topicbereiche in ihrem lokalen Bus und nicht im fremden Bus (anders als Punkt-zu-Punkt-Anwendungen und Warteschlangenziele). Sie müssen die Topicbereichszuordnungen konfigurieren, damit die Nachrichten, die von den Anwendungen veröffentlicht werden, ordnungsgemäß weitergeleitet werden.

Wenn Subskriptionen in beiden Bussen vorhanden sind und Publisher über beide Busse veröffentlichen können, ist eine Topicbereichszuordnung in beiden Bussen erforderlich, damit Veröffentlichungen zwischen allen Publishern und Subskribenten in den beiden Bussen weitergeleitet werden können.
Wenn Topicbereiche in mehr als zwei Bussen miteinander verbunden werden, bestehen in Bezug auf die Art und Weise, on der die Busse miteinander verbunden werden können, keine Einschränkungen. Es gibt jedoch eine Einschränkung in Bezug darauf, wie die Topicbereiche der Busse über Topicbereichszuordnungen verbunden werden. Anleitungen zum Erstellen von Topicbereichszuordnungen finden Sie im Artikel Topicbereichszuordnungen zwischen SIBs konfigurieren.
Wie in Abbildung 2 gezeigt, kann ein Busnetz in seiner Topologie Schleifen enthalten. Miteinander verbundene Topicbereiche müssen einem hierarchischen Baumstrukturaufbau folgen. Diese Struktur kann anschließend in der zugrunde liegenden Bustopologie mit Topicbereichszuordnungen überlagert werden, wie Abbildung 2 zeigt. Wie in Abbildung 3 gezeigt, ist es nicht zulässig, dass eine Gruppe miteinander verbundener Topicbereiche eine Schleife über mehrere Busse hinweg bildet.


Das gültige Beispiel in Abbildung 2 zeigt, dass Nachrichten, die in Bus 2 veröffentlicht werden, automatisch über Bus 1 an Bus 3 weitergeleitet werden, wenn Bus 3 eine geeignete Subskription für diese Nachrichten besitzt. Sie erstellen eine Zuordnung zwischen dem Topicbereich im Bus 1 und dem Topicbereich im Bus 2 und eine weitere Zuordnung zwischen dem Topicbereich im Bus 3 und dem Topicbereich im Bus 1.
Wenn Sie auch eine Zuordnung vom Topicbereich in Bus 2 zum Topicbereich in Bus 3 erstellt haben, wie in Abbildung 3 gezeigt, erstellen Sie eine Schleife, und die veröffentlichten Nachrichten können in eine Endlosschleife geraten und kontinuierlich zwischen den drei Bussen übertragen werden.
Ist eine zusätzliche Subskription für die Nachrichten in Bus 2 vorhanden und auch ein Publisher mit Bus 3 verbunden, sind Topicbereichszuordnungen in der entgegengesetzten Richtung erforderlich, damit Nachrichten an alle Subskriptionen im System weitergeleitet werden können, wie in Abbildung 4 gezeigt wird.
