Web-Service-Transaktionen, hohe Verfügbarkeit, Firewalls und zwischengeschaltete Knoten
Sie können Ihr System so konfigurieren, dass die Weitergabe von WS-AT-Nachrichtenkontexten (Web Services Atomic Transactions) und WS-BA-Nachrichtenkontexten (Web Service Business Activities) über Firewalls und außerhalb der Domäne von WebSphere Application Server möglich ist. Mit diesen Konfigurationen können Sie Web-Service-Anwendungen verteilen, die WS-AT oder WS-BA auf unterschiedlichen Systemen verwenden. Die Topologie, die Sie verwenden, kann sich auf die hohe Verfügbarkeit und das Affinitätsverhalten der Transaktionen auswirken.
Web-Service-Transaktionen (WS-AT und WS-BA) können alle transaktionsorientierten Hochverfügbarkeitsfunktionen verwenden. Dazu gehört die Peerwiederherstellung eines Servers durch einen anderen aktiven Server im selben Cluster und die Umleitung von Protokollnachrichten an den Peer-Server, damit die Arbeitseinheiten für den ausgefallenen Server abgeschlossen werden können. Zum Aktivieren der hohen Verfügbarkeit für Web-Service-Transaktionen lesen Sie den Artikel zur Konfiguration von Transaktionseigenschaften für die Peerwiederherstellung. Allgemeine Informationen zur hohen Verfügbarkeit und zur Peerwiederherstellung in WebSphere Application Server finden Sie im Artikel zur transaktionsorientierten hohen Verfügbarkeit.
Wenn Web-Service-Transaktionen auf Anwendungen in unterschiedlichen Servern oder Clustern oder an Systeme verteilt werden, die keine WebSphere Application Server-Systeme sind, müssen Sie die Affinität für das Transaktionsrouting der Web-Service-Anforderungen sowie die Auswirkungen auf die hohe Verfügbarkeit des Transaktionsservice in WebSphere Application Server berücksichtigen. Wenn ein ferner Client eine Reihe von Transaktionsanforderungen an einen Zielservice sendet, der in einem Cluster implementiert ist, soll gewöhnlich die erste Anforderung eine Transaktionsaffinität zwischen der Clientanwendung und dem Zielserver herstellen, sodass nachfolgende Anforderungen in derselben Transaktion demselben Zielserver zugestellt werden. Nach Abschluss der Transaktion werden auch die Transaktionsprotokollnachrichten an diesen Zielserver gesendet, sofern kein Failover der Transaktion zur Gewährleistung der hohen Verfügbarkeit stattfindet.
- Direkte Verbindung
Verwenden Sie diese Topologie für Konfigurationen ohne Cluster. In dieser Topologie ist kein zwischengeschalteter Knoten vorhanden. Der Client kommuniziert direkt mit dem jeweiligen WebSphere Application Server, in dem sich der Zielservice befindet. Diese Topologie unterstützt Transaktionsaffinität und hohe Verfügbarkeit, aber nur, wenn der Client unter WebSphere Application Server Version 6.0.2 oder höher in derselben Verwaltungszelle wie der Zielservice ausgeführt wird.
- Proxy-Server von WebSphere Application Server
Verwenden Sie diese Topologie, wenn der Client nicht zu derselben Verwaltungszelle wie der Zielservice gehört und wenn Sie Transaktionsaffinität oder hohe Verfügbarkeit für Ihre Transaktionen benötigen. In dieser Topologie kommuniziert der Client mit einem Proxy-Server für IBM® WebSphere Application Server, der die Clientanforderungen und Transaktionsprotokollnachrichten der Web-Services dynamisch an den entsprechenden Server in einem Cluster von WebSphere Application Server weiterleitet. Der Proxy-Server ist in derselben Verwaltungszelle wie der Zielservice konfiguriert.
Fehler vermeiden: WebSphere Application Server bietet keine ODR-Unterstützung (On Demand Router) für dieses Szenario. Nur der WAS-Proxy-Server kann als Proxy für Web-Service-Transaktionspunkte agieren. gotcha
Der Proxy-Server stellt die Routing-Unterstützung für die hohe Verfügbarkeit und Affinität der Transaktionen in der Peripherie der Verwaltungszelle bereit. Wie bei jeder HTTP-Proxy-Konfiguration müssen Sie URL-Informationen zum HTTP-Endpunkt bereitstellen, d. h., Sie müssen das URL-Präfix des HTTP-Servers für das Web-Service-Zielmodul konfigurieren.
Außerdem müssen Sie den Proxy-Server für Web-Service-Transaktionen konfigurieren, um dem entsprechenden WebSphere Application Server Protokollnachrichten für Web-Service-Transaktionen übermitteln zu können. Hierfür konfigurieren Sie das HTTP-Proxy-Präfix für den Transaktionsservice. Diesbezügliche Anweisungen können Sie dem Artikel zum Aktivieren von WebSphere Application Server für die Verwendung eines zwischengeschalteten Knotens für Web-Service-Transaktionen entnehmen.
- HTTP-Server, z. B. IBM HTTP Server
Verwenden Sie diese Topologie, wenn der Client keine hohe Verfügbarkeit und kein Affinitäts-Routing für Transaktionen erfordert, z. B., weil der Zielservice in einem Server implementiert ist, der nicht zu einem Cluster gehört.
In dieser Topologie kommuniziert der Client mit einem HTTP-Server, der die Clientanforderungen und Transaktionsprotokollnachrichten der Web-Services immer an einen bestimmten WebSphere Application Server weiterleitet. Wie bei jeder HTTP-Proxy-Konfiguration müssen Sie URL-Informationen zum HTTP-Endpunkt bereitstellen, d. h., Sie müssen das URL-Präfix des HTTP-Servers für das Web-Service-Zielmodul konfigurieren.Außerdem müssen Sie gewöhnlich den HTTP-Server für Web-Service-Transaktionen konfigurieren und zwar dahingehend, dass er Transaktionsprotokollnachrichten der Web-Services an den entsprechenden WebSphere Application Server übergibt. Hierfür konfigurieren Sie das HTTP-Proxy-Präfix für den Transaktionsservice. Diesbezügliche Anweisungen können Sie dem Artikel zum Aktivieren von WebSphere Application Server für die Verwendung eines zwischengeschalteten Knotens für Web-Service-Transaktionen entnehmen.
Der HTTP-Server kann weder Affinität noch hohe Verfügbarkeit für Transaktionen bereitstellen. Die Transaktionsintegrität ist jedoch garantiert, weil nach dem Neustart des ausgefallenen Servers eine Wiederherstellung stattfindet.Anmerkung: Sie können die hohe Verfügbarkeit weiterhin in WebSphere Application Server aktivieren. Clients, die keine WebSphere Application Server-Clients sind und über einen HTTP-Server auf diesen Server zugreifen, können im Gegensatz zu anderen Clients, die auf denselben Server zugreifen, die hohe Verfügbarkeit der Transaktionen nicht nutzen. Wenn sich der Client in WebSphere Application Server befindet, sind alle Hochverfügbarkeitsfunktionen weiterhin verfügbar, falls der Server, der als Client agiert, Transaktionsprotokollnachrichten direkt an den Anwendungsserver senden kann, ohne den HTTP-Proxy zu verwenden, der diese Protokollnachrichten weiterleitet. In diesem speziellen Szenario dürfen Sie kein HTTP-Proxy-Präfix für den Transaktionsservice angeben.Sie haben möglicherweise einen vorhandenen HTTP-Server, der ein Reverse Proxy für alle empfangenen Nachrichten ist, einschließlich Transaktionsprotokollnachrichten. Wenn dieser Server die Funktionen für hohe Verfügbarkeit und Workload-Management eines Proxy-Servers für IBM WebSphere Application Server haben soll, erstellen Sie einen Proxy-Server für IBM WebSphere Application Server und konfigurieren Sie den HTTP-Server so, dass er, wie im folgenden Szenario gezeigt, alle Anforderungen an den Proxy-Server weiterleitet.
- HTTP-Server mit einem Proxy-Server für IBM WebSphere Application Server
Verwenden Sie diese Topologie, wenn der Client nicht zu derselben Verwaltungszelle wie der Zielservice gehört und wenn Sie Transaktionsaffinität oder hohe Verfügbarkeit für Ihre Transaktionen benötigen. Diese Topologie gleicht der Topologie mit dem Proxy-Server für IBM WebSphere Application Server, unterstützt aber die Verwendung jedes HTTP-Servers als externen Reverse Proxy.
In dieser Topologie kommuniziert der Client mit einem HTTP-Server, den Sie durch Weiterleitung von Anforderungen von einem Plug-in zu einem Proxy-Server so konfigurieren, dass die Clientanforderungen und die Transaktionsprotokollnachrichten der Web-Services an einen Proxy-Server für IBM WebSphere Application Server weitergegeben werden. Der Proxy-Server leitet anschließend die Anforderungen dynamisch an den entsprechenden Server in WebSphere Application Server weiter. Der Proxy-Server ist in derselben Verwaltungszelle wie der Zielservice konfiguriert.
Der Proxy-Server stellt die Routing-Unterstützung für die hohe Verfügbarkeit und Affinität der Transaktionen in der Peripherie der Verwaltungszelle bereit. Wie bei jeder HTTP-Proxy-Konfiguration müssen Sie URL-Informationen zum HTTP-Endpunkt bereitstellen, d. h., Sie müssen das URL-Präfix des HTTP-Servers für das Web-Service-Zielmodul konfigurieren.
Außerdem müssen Sie den HTTP-Server und den Proxy-Server für Web-Service-Transaktionen konfigurieren, d. h., Sie müssen die beiden Server so konfigurieren, dass sie Transaktionsprotokollnachrichten der Web-Services an den entsprechenden WebSphere Application Server übergeben. Hierfür konfigurieren Sie das HTTP-Proxy-Präfix für den Transaktionsservice. Diesbezügliche Anweisungen können Sie dem Artikel zum Aktivieren von WebSphere Application Server für die Verwendung eines zwischengeschalteten Knotens für Web-Service-Transaktionen entnehmen.