Méthodes conseillées : Changement de service externe sans interruption

Lorsque vous concevez un système ou développez des modules, vous avez parfois intérêt à placer un module intermédiaire entre un module et un service externe appelé par ce module. Si vous utilisez des liaisons SCA, vous devez suivre la procédure décrite ici.

L'un des avantages à utiliser un module intermédiaire consiste à pouvoir modifier le service ou l'application externe appelé par votre application sans interruption. Cet exemple utilise une importation de services Web pour illustrer ce concept.

La première figure ci-dessous montre le module A avec une importation qui appelle un service distant par une connexion directe. Si vous souhaitez que le module A appelle un autre service distant, vous devez mettre à jour la logique. Vous devrez ensuite arrêter l'ancienne version du module et la désinstaller du serveur. La nouvelle version du module peut ainsi être installée et démarrée. Pendant ce processus, il y une interruption de service du module A.


Module connecté directement à un service Web

Si vous utilisez un module intermédiaire dans votre application et que vous le connectez au module A par une liaison SCA, vous bénéficiez d'une plus grande souplesse. La figure ci-dessous montre cette configuration. Le module A utilise une importation connectée à l'exportation d'un module intermédiaire, ou de médiation, le module B. Les modules doivent avoir des interfaces compatibles. Dans le scénario présenté ici, ils doivent utiliser des liaisons SCA. Le module B appelle le service. Le module B est une façade ; c'est le module A qui contient la véritable logique métier.

Le schéma montre également un autre service, le service Web distant 2. Dans l'optique de l'utilisation de ce service, le module C et son importation de services Web ont été compilés et testés à l'aide de l'Environnement de test WebSphere.


La deuxième figure montre le module A connecté à un service via un module intermédiaire, le module B.

Lorsque ce nouveau module est prêt à être déployé, vous pouvez utiliser la console d'administration WebSphere Process Server pour pointer l'importation SCA dans le module A depuis l'ancien module cible (module B) vers l'exportation SCA dans le nouveau module (module C), créant ainsi une transition transparente vers le service mis à jour. La figure ci-dessous montre le nouveau déploiement. Cette méthode vous permet de mettre à jour une application sans provoquer d'interruption de service.


La troisième figure montre le nouveau module connecté à un nouveau service par un nouveau module intermédiaire.

Le modèle ci-dessus peut également être utilisé pour les exportations externes. Par exemple, un module peut exposer un service via une exportation de services Web. Généralement, lorsque la logique d'un module doit être mise à jour, il y a une interruption de service. Cependant, si un module façade est utilisé pour l'exportation de services Web, la logique métier peut être mise à jour sans interrompre le service.

Ce principe de conception est plus largement présenté dans la documentation de WebSphere Process Server ; reportez-vous aux instructions relatives à l'isolement des modules et des cibles, ainsi qu'aux changements de module.

Commentaires en retour
(C) Copyright IBM Corporation 2005, 2006. All Rights Reserved.