Wenn Sie ein System entwerfen oder Module entwickeln, ist es in manchen Fällen von Vorteil, zwischen einem Modul und einem externen Service, der von diesem Modul aufgerufen wird, ein Vermittlermodul zu platzieren. Die hier beschriebene Strategie kann nur bei Verwendung von SCA-Bindings eingesetzt werden.
Ein Vorteil der Verwendung eines Vermittlermoduls besteht darin, dass dabei der externe Service bzw. die externe Anwendung, den/die Ihre Anwendung aufruft, geändert werden kann, ohne dass dadurch eine Unterbrechung entsteht. In diesem Beispiel wird ein Web-Service-Import zur Erläuterung des Konzepts verwendet.
Die erste Abbildung unten zeigt Modul A mit einem Import, das einen fernen Service über eine Direktverbindung aufruft. Wenn Modul A einen anderen fernen Service aufrufen soll, müssen Sie die Logik aktualisieren. Danach müssen Sie die alte Version des Moduls stoppen und vom Server deinstallieren. Die neue Version des Moduls kann dann installiert und gestartet werden. Im Verlauf dieses Prozesses kommt es zu einer Unterbrechung des Service für Modul A.
Wenn Sie in Ihrer Anwendung ein Vermittlermodul verwenden und dieses mit Hilfe einer SCA-Binding mit Modul A verbinden, erreichen Sie eine größere Flexibilität. Die unten stehende Abbildung zeigt diese Konfiguration. Modul A weist einen Import auf, der mit dem Export eines Vermittlermoduls oder Mediationsmoduls, Modul B, verbunden ist. Die Module müssen übereinstimmende Schnittstellen aufweisen. Bei dem in diesem Abschnitt beschriebenen Szenario muss dies eine SCA-Binding sein. Modul B ruft den Service auf. Modul B ist eine Fassade; Modul A enthält die tatsächliche Geschäftslogik.
Das Diagramm zeigt darüber hinaus auch einen weiteren Service, den fernen Web-Service 2. Als Vorbereitung für die Verwendung dieses Service wurden Modul C und der zugehörige Web-Service-Import mit Hilfe der WebSphere-Testumgebung erstellt und getestet.
Wenn dieses neue Modul bereit für die Implementierung ist, können Sie die Administrationskonsole von WebSphere Process Server dazu verwenden, den SCA-Import in Modul A vom alten Zielmodul (Modul B) an den SCA-Export im neuen Modul (Modul C) zu verweisen. Dadurch wird ein nahtloser Übergang zum aktualisierten Service erstellt. Die unten stehende Abbildung zeigt die neue Implementierung. Diese Methode ermöglicht die Aktualisierung einer Anwendung, ohne dass es zu einer Unterbrechung des Service kommt.
Das obige Muster kann auch für externe Exporte verwendet werden. Beispielsweise kann ein Modul einen Service über einen Web-Service-Export zugänglich machen. Normalerweise kommt es zu einer Unterbrechung des Service, wenn die Logik des Moduls aktualisiert werden muss. Wenn jedoch für den Web-Service-Export ein Fassadenmodul verwendet wird, kann die Geschäftslogik ohne Unterbrechung des Service aktualisiert werden.
Dieses Entwurfsprinzip wird in der Dokumentation für WebSphere Process Server umfassender erläutert. Informationen dazu finden Sie bei den Anweisungen zum Isolieren von Modulen und Zielen sowie zum Ändern von Zielen.