Beziehung zwischen JMS-Zielen und Serviceintegrationszielen

Die meisten Anwendungen von WebSphere Application Server verwenden die JMS-APIs, um auf die Services zuzugreifen, die vom Service Integration Bus (SIB) bereitgestellt werden. JMS definiert JMS-Ziele, bei denen es sich um die Java-Objekte handelt, an die JMS-Anwendungen Nachrichten senden und von denen JMS-Anwendungen Nachrichten empfangen. Zu den Attributen eines JMS-Ziels gehört die Adresse dem Ziel, das der Messaging-Provider verwendet. Beim Messaging-Provider der Serviceintegration ist diese Adresse der Name eines Serviceintegrationsziels (der Name einer Warteschlange oder eines Topicbereichs) und ein Busname. Auf diese Weise kann ein JMS-Ziel ein SIB-Ziel identifizieren.

Gewöhnlich fordert eine JMS-Anwendung ein JMS-Ziel über eine JNDI-Suche nach dem JNDI-Namen des Ziels an. Eine JMS-Anwendung kann ein JMS-Ziel aber auch auf andere Weise erhalten, z. B. über die Eigenschaft "JMSReplyTo" einer JMS-Nachricht.

JMS-Ziele - Warteschlangen und Topics

Die folgenden JMS-Zieltypen sind verfügbar:
JMS-Warteschlangenziel
Dieser Typ von JMS-Ziel wird für Punkt-zu-Punkt-Messaging verwendet, bei dem erzeugende Anwendungen (Erzeuger oder Produzenten) Nachrichten an eine Warteschlange senden. Der Messaging-Provider speichert nur eine einzige Kopie jeder Nachricht, bis eine konsumierende Anwendung (Konsument) die Nachricht erhält. Wenn mehrere Konsumenten vorhanden sind, erhält nur ein einziger Konsument eine Kopie der Nachricht. Sind keine Konsumenten vorhanden, wird die Nachricht in die Warteschlange eingereiht.

Bei der Serviceintegration hat ein Objekt des Typs "JMS-Warteschlangenziel" (neben anderen Eigenschaften) einen Warteschlangennamen und einen Busnamen.

JMS-Topicziel
Dieser Typ von JMS-Ziel wird für Publish/Subscribe-Messaging verwendet, bei dem erzeugende Anwendungen (Publisher oder Bereitsteller) Nachrichten (Veröffentlichungen) an ein Topic senden. Der Messaging-Provider stellt jeder konsumierenden Anwendung (Subskribent) eine Kopie jeder Veröffentlichung zu. Wenn keine Subskribenten vorhanden sind, verwirft die Serviceintegration die Veröffentlichung.

Ein weiterer Unterschied im Vergleich mit dem Punkt-zu-Punkt-Messaging besteht darin, dass Subskribenten Nachrichten von mehreren ähnlichen Topics konsumieren können, indem Platzhalterzeichen in einen Topicnamen eingefügt werden (Publisher können keine Platzhalterzeichen in einen Topicnamen einfügen).

Bei der Serviceintegration hat ein Objekt des Typs "JMS-Topicziel" (neben anderen Eigenschaften) einen Topicnamen, einen Namen für den Topicbereich und einen Busnamen.

JMS-Ziele - Beziehung zu Serviceintegrationsziele

In der Serviceintegration identifiziert ein JMS-Ziel ein Serviceintegrationsziel. Die Eigenschaft "Warteschlangenname" bzw. "Topicbereichsname" dieses Ziels gibt den Namen des Serviceintegrationsziels an. Die Eigenschaft "Busname" dieses Ziels gibt den Namen des Service Integration Bus an, der das Ziel enthält.

Sie können die Eigenschaft "Busname" bei der Definition des JMS-Ziels weglassen. In diesem Fall identifiziert das JMS-Ziel das Serviceintegrationsziel im lokalen Bus, d. h. den Bus, zu dem die JMS-Anwendung eine Verbindung herstellt. Dies kann hilfreich sein, wenn es nur einen einzigen Service Integration Bus gibt oder wenn alle Busse ein Ziel mit demselben Namen enthalten.

Bei der Serviceintegration gibt es die folgenden Zieltypen:
SIB-Warteschlangenziel
Ein Warteschlangenziel stellt eine Nachrichtenwarteschlange dar und wird für Punkt-zu-Punkt-Messaging verwendet. Ein Warteschlangenziel der Serviceintegration befindet sich in einem bestimmten Busmember (Anwendungsserver oder Anwendungs-Server-Cluster). Wenn ein Erzeuger eine Nachricht an das Warteschlangenziel sendet, stellt der Service Integration Bus die Nachricht einer Messaging-Engine in diesem Busmember zu. Anschließend stellt die Messaging-Engine die Nachricht einem Konsumenten zu. Sofern erforderlich, reiht die Messaging-Engine die Nachricht in eine Warteschlange ein, bis ein Konsument die Nachricht empfangen kann.

Gewöhnlich identifiziert ein JMS-Warteschlangenziel ein Warteschlangenziel für die Serviceintegration (kurz SIB-Warteschlangenziel genannt), d. h., der Busname des Ziels stimmt mit dem Namen des lokalen Busses und der Warteschlangenname des Ziels mit dem Namen eines SIB-Warteschlangenziels im lokalen Bus überein.

SIB-Topicbereichsziel
Ein Topicbereichsziel stellt eine Gruppe von "Publish/Subscribe"-Topics dar und wird für Publish/Subscribe-Messaging verwendet. 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. Wenn die neue Veröffentlichung keiner Subskription entspricht, wird sie von der Serviceintegration verworfen.

Gewöhnlich identifiziert eine JMS-Topicziel ein Topicbereichsziel für die Serviceintegration (kurz SIB-Topicbereichsziel genannt), d. h., der Busname des Ziels stimmt mit dem Namen des lokalen Busses und der Name für den Topicbereich mit dem Namen eines SIB-Topicbereichsziels im lokalen Bus überein. Wenn eine JMS-Anwendung eine Nachricht an das JMS-Topicziel sendet, setzt die Serviceintegration das Zieltopic der Nachricht auf den Topicnamen des JMS-Topicziels und sendet die Nachricht anschließend an das SIB-Topicbereichsziel.

Fremdes SIB-Ziel
Ein fremdes Ziel stellt ein Ziel dar, das in einem anderen Bus (einem fremden Bus) definiert ist. Sie können ein fremdes Ziel für Punkt-zu-Punkt-Messaging verwenden. Sie verwenden ein fremdes Ziel, wenn Sie Sicherheitseinstellungen oder Messaging-Standardeinstellungen für ein einzelnes Ziel in einem fremden Bus überschreiben müssen. Der fremde Bus kann ein anderer Service Integration Bus oder ein IBM MQ-Netz (d. h. ein oder mehrere miteinander verbundene IBM MQ-Warteschlangenmanager oder Gruppen mit gemeinsamer Warteschlange) sein. Wenn ein Erzeuger eine Nachricht an ein fremdes Ziel sendet, stellt die Serviceintegration die Nachricht dem fremden Bus zu. Anschließend ist der fremde Bus dafür verantwortlich, die Nachricht bei Bedarf auf der Basis der Zieldefinition in der Warteschlange einzureihen.

Ein JMS-Ziel kann ein fremdes SIB-Ziel identifizieren, d. h., der Busname und der Warteschlangenname bzw. der Name des Topicbereichs des Ziels können mit dem Namen des fremden Busses und dem Namen der Warteschlange bzw. des Topicbereichs des fremden Ziels übereinstimmen. Dies ist jedoch nicht immer erforderlich. Wenn es kein fremdes Serviceintegrationsziel mit einem übereinstimmenden Namen eines fremden Busses und einem übereinstimmenden Zielnamen (Warteschlange oder Topicbereich) gibt, sendet die Serviceintegration die Nachricht trotzdem an den angegebenen fremden Bus.


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=cjo_dest_jms
Dateiname:cjo_dest_jms.html