Procedimientos recomendados: cambiar un servicio externo sin interrupción

Cuando esté diseñando un sistema o desarrollando módulos, a veces podrá obtener obtener ventajas de colocar un módulo intermediario entre un módulo y un servicio externo que esté invocando. Solo puede utilizar el método descrito aquí si utiliza enlaces SCA.

Una ventaja de utilizar un módulo intermediario consiste en que puede cambiar la aplicación o el servicio externo que su aplicación está invocando sin que se produzca una interrupción. En este ejemplo se utiliza una importación de servicio Web para ilustrar el concepto.

La primera figura muestra el módulo A con una importación que invoca un servicio remoto a través de una conexión directa. Si quería que el módulo A invocar otro servicio remoto, debía actualizar la lógica. Debía detener la versión antigua del módulo y desinstalarla del servidor. Entonces podía instalar e iniciar la versión nueva del módulo. Durante este proceso se interrumpe el servicio para el módulo A.


La figura muestra un módulo conectado directamente a un servicio Web.

Si utiliza un módulo intermediario en la aplicación y lo conecta al módulo A con un enlace SCA, tendrá más flexibilidad. La figura siguiente muestra esta configuración. El módulo A tiene una importación conectada a la exportación de un módulo intermediario o módulo de mediación, módulo B. Los módulos deben tener interfaces coincidentes. En el escenario descrito en este tema, los módulos deben tener un enlace SCA. El módulo B invoca el servicio. El módulo B es una fachada; el módulo A contiene la lógica de negocio real.

El diagrama también muestra otro servicio, el servicio Web remoto 2. Como preparación para utilizar ese servicio, el módulo C y la importación de servicio Web correspondiente se han construido y probado utilizando el Entorno de prueba de WebSphere.


La segunda figura muestra el módulo A conectado a un servicio a través de un módulo intermediario, el módulo B.

Cuando ese nuevo módulo está listo para el despliegue, puede utilizar la consola administrativa de WebSphere Process Server para señalar la importación SCA en el módulo A del módulo destino antiguo (módulo B) a la exportación SCA en el módulo nuevo (módulo C), creando una transición sin costuras con el servicio actualizado. La figura siguiente muestra el despliegue nuevo. Este método permite actualizar una aplicación sin originar ninguna interrupción en el servicio.


La tercera figura muestra el módulo nuevo conectado a un servicio nuevo a través de un módulo intermediario nuevo.

El patrón anterior también puede utilizarse para exportaciones externas. Por ejemplo, un módulo puede exponer un servicio a través de una exportación de servicio Web. Normalmente, si la lógica del módulo debe actualizarse, habrá una interrupción en el servicio. Sin embargo, si se utiliza un módulo de fachada para la exportación de servicio Web, podrá actualizarse la lógica de negocio sin una interrupción del servicio.

Este principio de diseño se explica con más detalle en la documentación de WebSphere Process Server; consulte las instrucciones para aislar módulos y destinos y para cambiar destinos.

Comentarios
(C) Copyright IBM Corporation 2005, 2006. Reservados todos los derechos.