Netztopologien für die Interoperation mit einer IBM MQ-Serververbindung und gemeinsam genutzten Warteschlangen von IBM MQ for z/OS
Diese Beispiel veranschaulichen einfache und komplexe Topologien, die WebSphere Application Server die Interoperation mit IBM MQ über eine IBM MQ-Serververbindung ermöglichen, und eine Topologie für die Verwendung von IBM MQ-Serververbindungen mit gemeinsamen Warteschlangen von IBM MQ for z/OS, um ein hoch verfügbares Messaging-System zu erstellen.
- Einzelner Anwendungsserver von WebSphere Application Server, der mit einem einzelnen IBM MQ-Warteschlangenmanager bzw. einer einzelnen IBM MQ-Gruppe mit gemeinsamer Warteschlange verbunden ist
- Mehrere Anwendungen, die in separaten Anwendungsservern ausgeführt werden, die mit einem IBM MQ-Warteschlangenmanager verbunden sind
- Verwendung gemeinsam genutzter Warteschlangen von IBM MQ for z/OS über eine IBM MQ-Serververbindung
Der Vollständigkeit halber gehören zu den Topologien, die in diesem Artikel beschrieben werden, auch Cluster- und hoch verfügbare Topologien. Beachten Sie, dass Sie für das Clustering und die Hochverfügbarkeit die Network Deployment-Version oder die z/OS-Version des Produkts verwenden müssen.
Warteschlangenziele mit IBM MQ-Serververbindungen
Mit einem regulären Warteschlangenziel im Service Integration Bus befindet sich die Warteschlange selbst in einem Busmember in WebSphere Application Server. Das Busmember kann ein Anwendungsserver oder möglicherweise ein Cluster von Anwendungsservern sein. Die Warteschlange wird von mindestens einer Messaging-Engine im Busmember verwaltet. Die Messaging-Engines können Nachrichten in die Warteschlange stellen, Nachrichten aus der Warteschlange abrufen und bei Bedarf Kopien der Nachrichten auf der Platte verwalten. Wenn eine Anwendung eine Verbindung zum Service Integration Bus herstellt, kann sie eine Verbindung zu einer Messaging-Engine herstellen, die sich nicht dort befindet, wo sich die Warteschlange befindet. In diesem Fall kommuniziert die Messaging-Engine, in dem die Anwendung die Verbindung herstellt, mit der Messaging-Engine, in der sich die Warteschlange befindet, und verwendet diese.
Mit einer IBM MQ-Serververbindung können Sie ein SIB-Warteschlangenziel konfigurieren, damit sich die Warteschlange selbst in einem IBM MQ-Warteschlangenmanager oder einer IBM MQ-Gruppe mit gemeinsamer Warteschlange befindet. In diesem Fall befinden sich der Warteschlangenmanager oder die Gruppe mit gemeinsamer Warteschlange als Busmember im Service Integration Bus. Die Messaging-Engines für die Serviceintegration im Bus kommunizieren mit einem IBM MQ-Warteschlangenmanager und verwenden diesen, um auf die Warteschlange zuzugreifen.
Eine IBM MQ-Serververbindung ermöglicht Anwendungen, Get- und Put-Operationen ausführen. über eine IBM MQ-Linkverbindung hingegen können Anwendungen nur Put-Operationen ausführen.
Eine IBM MQ-Serververbindung kann eine Verbindung im Modus "Bindungen" (Aufrufzuordnung) oder eine Verbindung im "Clientmodus" (TCP/IP-Verbindung) verwenden. Eine Verbindung im Modus "Bindungen" kann nur verwendet werden, wenn der Anwendungsserver und der Warteschlangenmanager oder die Gruppe mit gemeinsamer Warteschlange auf demselbenHost oder in derselben logischen Partition (LPAR) ausgeführt werden. Wenn der Anwendungsserver und der Warteschlangenmanager bzw. die Gruppe mit gemeinsamer Warteschlange auf verschiedenen Hosts ausgeführt werden, muss eine Verbindung im "Clientmodus" verwendet werden.
Einzelner Anwendungsserver von WebSphere Application Server, der mit einem einzelnen IBM MQ-Warteschlangenmanager bzw. einer einzelnen IBM MQ-Gruppe mit gemeinsamer Warteschlange verbunden ist
In diesem Basisszenario wird ein Service Integration Bus mit einer einzelnen Messaging-Engine verwendet. Der Bus enthält ein Warteschlangenziel, das für die Verwendung einer gemeinsam genutzten Warteschlange von IBM MQ konfiguriert ist. Eine einzelne Anwendung stellt eine Verbindung zum Service Integration Bus her und greift auf das Warteschlangenziel zu.
Wenn die Anwendung eine Nachricht an das Ziel sendet, kommuniziert die Messaging-Engine mit dem IBM MQ-Warteschlangenmanager und verwendet diesen, um die Nachricht der gemeinsam genutzten Warteschlange hinzuzufügen. Wenn die Anwendung eine Nachricht vom Ziel empfängt, kommuniziert die Messaging-Engine mit dem IBM MQ-Warteschlangenmanager Serververbindung und verwendet diesen, um die Nachricht aus der gemeinsam genutzten Warteschlange abzurufen.
Wenn eine Anwendung mit IBM MQ über eine IBM MQ-Serververbindung kommuniziert, weiß sie nur, dass sie mit einer lokalen Messaging-Engine für die Serviceintegration kommuniziert. Die Messaging-Engine kommuniziert für die Anwendung mit IBM MQ. Der IBM MQ-Warteschlangenmanager betrachtet die Messaging-Engine für die Serviceintegration als IBM MQ-Client.
In der folgenden Abbildung zeigt die mit A gekennzeichnete Verbindungslinie, dass sich der Warteschlangenmanager der Messaging-Engine für die Serviceintegration als Member des lokalen Busses darstellt. Die mit B gekennzeichnete Verbindungslinie zeigt, dass sich die Messaging-Engine für die Serviceintegration dem Warteschlangenmanager als weiterer Warteschlangenmanager darstellt.

Mehrere Anwendungen, die in separaten Anwendungsservern ausgeführt werden, die mit einem IBM MQ-Warteschlangenmanager verbunden sind
Mit einer IBM MQ-Serververbindung stellen Messaging-Engines für die Serviceintegration dynamisch einzelne Verbindungen zu IBM MQ-Warteschlangenmanagern her, wenn diese benötigt werden. Es gibt keine Gateway-Messaging-Engines oder Gateway-Warteschlangenmanager, wie es der Fall ist, wenn ein IBM MQ-Link verwendet wird.
Die folgende Abbildung zeigt zwei Anwendungen, die in separaten Anwendungsservern ausgeführt werden, die eine Verbindung zu einem WebSphere MQ-Warteschlangenmnager über eine WebSphere MQ-Serververbindung herstellen. Der Service Integration Bus enthält zwei Messaging-Engines und einen Warteschlangenmanager.

Verwendung gemeinsam genutzter Warteschlangen von IBM MQ for z/OS über eine IBM MQ-Serververbindung
IBM MQ-Serververbindungen ermöglichen Anwendungen von WebSphere Application Server, Get-Operationen auszuführen (Nachrichten aus IBM MQ-Warteschlangenmanagern empfangen). Sie können einen Vorteil erzielen, indem Sie mit einem IBM MQ-Server eine Verbindung zu einer Gruppe mit gemeinsamer Warteschlange von IBM MQ for z/OS herstellen. Über einen IBM MQ-Link können Anwendungen von WebSphere Application Server mit einer Gruppe mit gemeinsamer Warteschlange verbunden werden, aber die Anwendungen können die Vorteile gemeinsam genutzter Warteschlangen nicht ausschöpfen, da Anwendungen über einen IBM MQ-Link nur Put-Operationen ausführen können.
- Die verschiedenen Anwendungen (bzw. verschiedenen Instanzen derselben Anwendung) konkurrieren um die Verarbeitung der Nachrichten in derselben Warteschlange. Eine Instanz, die Nachrichten schneller verarbeiten kann (z. B., weil sie in einem leistungsstärkeren Prozessor oder einem Prozessor mit weniger last ausgeführt wird), verarbeitet automatisch einen höheren Anteil der Nachrichten in der Warteschlange, wodurch eine bessere Auslastung der verfügbaren Ressourcen und bessere Gesamtantwortzeiten erreicht werden. Dies wird als "Lastausgleich im Pull-Verfahren" bezeichnet.
- Wenn ein Warteschlangenmanager in einer Gruppe mit gemeinsamer Warteschlange ausfällt, können Anwendungen eine Verbindung zu einem anderen Warteschlangenmanager herstellen und weiterhin dieselbe gemeinsam genutzte Warteschlange verwenden. Auf diese Weise wird eine höhere Verfügbarkeit der Anwendungen erreicht. Ein spezielles Feature von Gruppen mit gemeinsamer Warteschlange, die sogenannte "Wiederherstellung auf Peerebene", bearbeitet die Fälle, in denen eine Anwendung eine Nachricht von einer gemeinsam genutzten Warteschlange empfängt, aber der Warteschlangenmanager ausfällt, bevor die Verarbeitung der Nachricht abgeschlossen ist. Sofern die Anwendung transaktionsorientiert ist, kann ein anderer Warteschlangenmanager in derselben Gruppe mit gemeinsamer Warteschlange die Nachricht an die gemeinsam genutzte Warteschlange zurückgeben, sodass diese verarbeitet werden kann, ohne die Wiederherstellung des ausgefallenen Warteschlangenmanagers abwarten zu müssen. Durch die Wiederherstellung auf Peerebene kann eine noch höhere Verfügbarkeit der Anwendungen erzielt werden.
- Gruppen mit gemeinsamer Warteschlange ermöglichen der Serviceintegration außerdem, über eine einzige Netzadresse für die Warteschlangenmanager in der Gruppe mit gemeinsamer Warteschlange, eine Verbindung zur Gruppe mit gemeinsamer Warteschlange herzustellen. Die Verbindung wird automatisch an einen geeigneten Warteschlangenmanager in der Gruppe mit gemeinsamer Warteschlange weitergeleitet. An welchen Warteschlangenmanager die Verbindung weitergeleitet wird, ist davon abhängig, welche Warteschlangenmanager verfügbar sind und welcher Warteschlangenmanager die beste Antwortzeit bietet. Dieses Feature erhöht sowohl die Verfügbarkeit als auch die Leistung der Anwendung.
Sie können diese Vorteile für Ihre Serviceintegrationsanwendungen nutzen, indem Sie Serviceintegrationsziele in gemeinsam genutzten Warteschlangen definieren, deren Eigner ein IBM MQ-Server aus einer Gruppe mit gemeinsamer Warteschlange ist. Die folgende Abbildung zeigt eine Messaging-Engine der Serviceintegration, die eine Verbindung zu einem Warteschlangenmanager (QM1) in einer Gruppe mit gemeinsamer Warteschlange herstellt. Die Verbindung ermöglicht einer Serviceintegrationsanwendung, Nachrichten aus einer gemeinsam genutzten Warteschlange abzurufen. Andere Serviceintegrationsanwendungen in demselben oder in einem anderen Anwendungsserver können andere Verbindungen (zu demselben oder zu anderen Warteschlangenmanagern, QM2 oder QM3, in derselben Gruppe mit gemeinsamer Warteschlange) verwenden, um Nachrichten aus derselben gemeinsam genutzten Warteschlange zu konsumieren.

Die folgende Abbildung zeigt, dass die Serviceintegration bei vorübergehender Nichtverfügbarkeit eines Warteschlangenmanagers (QM1) in der Gruppe mit gemeinsamer Warteschlange eine Verbindung zu einem anderen Warteschlangenmanager (QM2) herstellt, um den Anwendungen zu ermöglichen, die Verarbeitung der Nachrichten aus der Warteschlange fortzusetzen.
