Patrón Fachada de servicio

Utilice un patrón Fachada de servicio a proporcionar acoplamiento abierto entre un solicitante de servicio y la funcionalidad proporcionada por una aplicación o prestación que no está habilitada por servicio. El acoplamiento abierto oculta las complejidades del proveedor y presenta una interfaz de servicio web estándar.

Un patrón Fachada de servicio también introduce un punto de mediación para la aplicación de funciones estándar como, por ejemplo, el registro.
Un diagrama que muestra el comportamiento del patrón. Las aplicaciones envían solicitudes de servicio al intermediario, que satisface estas solicitudes utilizando una funcionalidad que no proporciona una interfaz de servicio.

El contexto

Cuando una arquitectura empresarial evoluciona hacia una arquitectura orientada a servicios, a menudo es necesario acomodar existente los sistemas heredados existentes que hacen funcionar partes importantes de la actividad, pero no tienen una prestación de servicio. Estas aplicaciones suelen utilizar funciones que deben ser accesibles para paquetes de software más recientes habilitados para servicios, pero que sólo ofrecen acceso a través de adaptadores, mensajería u otras técnicas de integración no orientadas a servicios.

El problema

Las aplicaciones heredadas no encajan naturalmente en un entorno de arquitectura orientada a servicios (SOA) y los cambios en esos sistemas son costosos y requieren escasos conocimientos. El problema es encontrar una forma de integrar esos sistemas con paquetes y aplicaciones más recientes orientados a servicios. En particular, es necesario crear un puente entre el protocolo HTTP síncrono que se utiliza generalmente con servicios web y los protocolos de mensajería que a menudo utilizan las aplicaciones heredadas.

Orientación sobre la selección

Este patrón es adecuado cuando una empresa desea presentar una interfaz de servicio a clientes solicitantes como parte de un entorno SOA, pero las aplicaciones de proveedor no pueden actualizarse fácilmente para proporcionar interfaces de servicio.

Este patrón se utiliza en los casos en que las aplicaciones de proveedor proporcionan una interfaz XML y las aplicaciones clientes dan soporte a las llamadas a servicios web. El patrón puede ampliarse con transformaciones para dar soporte a una fachada de servicio a aplicaciones con interfaces no XML a través de WebSphere MQ.