Punkt-zu-Punkt-Messaging zwischen mehreren Bussen

Beim Punkt-zu-Punkt-Messaging werden Warteschlangenziele verwendet, die jeweils eine Nachrichtenwarteschlange darstellen.

Ein Warteschlangenziel der Serviceintegration befindet sich in einem bestimmten Busmember (Anwendungsserver oder 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. Danach stellt die Messaging-Engine die Nachricht einem Konsumenten zu. Bei Bedarf stellt die Messaging-Engine die Nachricht so lange in eine Warteschlange, bis ein Konsument für deren Empfang bereit ist.

Anwendungen können Nachrichten an ein Warteschlangenziel in einem fernen Bus senden, sofern 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. Der lokale Bus ist über eine fremde Busverbindung über den Zielbus informiert. Wenn der Bus, der direkt mit dem lokalen Bus verbunden ist, das angegebene Ziel nicht enthält, werden weitere SIB-Links verwendet, um die Nachricht an den nächsten Bus auf der Route zum Zielbus weiterzuleiten. Wenn die Nachricht im Zielbus ankommt, versucht dieser Bus, die Nachricht dem geplanten Ziel zuzustellen.

Um Nachrichten an ein Ziel zu senden, die in einem fremden Bus definiert ist, gibt eine Anwendung den Busnamen (d. h. den fremden Bus) und den Zielnamen im JMS-Zielobjekt (Warteschlange oder Topic) an. Sie müssen keine Zielobjekte im lokalen Bus konfigurieren. Die Serviceintegration verwendet die Definition des fremden Busses, der im lokalen Bus konfiguriert ist, d. h. die fremde Busverbindung. Diese Definition enthält Standardwerte für die Zielatttribute, wie z. B. die Standardservicequalität. Diese Standardwerte gelten für alle Ziele in diesem fremden Bus.

Sie können ein Warteschlangenziel als fremdes Busziel oder Aliasziel konfigurieren. Verwenden Sie dazu die Beschreibung in den Informationen zu Buszielen.

Wenn eine Anwendung Nachrichten an ein Ziel sendet und kein fremdes Ziel oder Aliasziel konfiguriert ist, werden die Zielstandardeinstellungen von den Zielstandardeinstellungen abgeleitet, die für die fremde Busverbindung angegeben sind.

Beispiel: Eine Anwendung ist mit Bus 1 (ihrem lokalen Bus) verbunden. Die Anwendung sendet eine Nachricht an ein JMS-Ziel, das den Busnamen Bus 2 und den Zielnamen "targetQueue" spezifiziert. Die Nachricht wird wie folgt verarbeitet:
  • Die Serviceintegration leitet die Nachricht unter Verwendung der Definition in Bus 1 des fremden Busses Bus 2 an Bus 2.
  • Bus 2 stellt die Nachricht unter Verwendung der Definition in Bus 2 ihrer lokalen Warteschlange targetQueue an targetQueue zu.

In diesem Beispiel verwendet die Serviceintegration in Bus 1 Attribute ihrer Definition des fremden Busses Bus 2 als Standardeinstellungen für ihr Ziel "targetQueue" im fremden Bus. Die Serviceintegration kann keine Konfigurationsdaten verwenden, die einem fremden Bus zugeordnet sind. Die Serviceintegration in Bus 1 hat keine Kenntnis der Definition von targetQueue in Bus 2.

In der folgenden Abbildung sehen Sie, dass eine JMS-Anwendung, die mit Bus 1 verbunden ist, einen Erzeuger für eine Warteschlange in Bus 2 erstellt. Die Anwendung verwendet JNDI, um ein JMS-Zielobjekt abzurufen, das die SIB-Warteschlange in Bus 2 identifiziert. Eine Anwendung kann ein JMS-Ziel auch mit anderen Mitteln abrufen, z. B. über die Eigenschaft "JMSReplyTo" einer JMS-Nachricht.

Abbildung 1. Punkt-zu-Punkt-Messaging zwischen zwei Bussen einrichten
Die Abbildung wird im Begleittext beschrieben.
Schlüssel:
  1. Die JMS-Anwendung verwendet JNDI-Lookup-Operationen, um das JMS-Ziel abzurufen.
  2. Die JMS-Anwendung sendet die Nachricht an das JMS-Ziel. Dies ist ein logischer Nachrichtenfluss.
  3. Der lokale Bus, Bus 1, überträgt die Nachricht von der sendenden Anwendung an den fremden Bus, Bus 2, der das geplante Ziel enthält. Bus 1 wendet Standardeigenschaften und Zielrollen aus der fremden Busverbindung an.
  4. Der fremde Bus sendet die Nachricht an das geplante Ziel.

Die Information, dass ein Ziel vorhanden ist, hat nur der Bus, der das Ziel enthält. Damit eine Anwendung Nachrichten erfolgreich an ein Ziel in einem fremden Bus senden kann, müssen Sie sicherstellen, dass das Ziel vorhanden ist. Der lokale Bus kann nicht sicherstellen, dass das Ziel vorhanden ist. Wenn eine Nachricht über den SIB-Link für ein Ziel eingeht, die nicht im fremden Bus vorhanden ist, wird die Nachricht unter Verwendung der Konfiguration des empfangenden SIB-Links für die Ausnahmebehandlung weitergeleitet.

Anmerkung: Eine Anwendung kann keine Nachrichten von einem Ziel konsumieren, die sich in einem anderen Bus als dem befindet, mit dem die Anwendung verbunden ist. Jeder Versuch, einen Konsumenten für ein Ziel einem fremden Bus zu erstellen, wird zurückgewiesen.

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