Este tema solo se aplica a la configuración de IBM
Business Automation Workflow Advanced.

Patrones de uso común

Existen siete patrones de uso común que facilitan el proceso de implementar las soluciones de conectividad e integración. Los patrones resumen algunas de las soluciones más habituales del espacio de conectividad. Estos patrones son casos de utilización habituales que se deben poder utilizar en todas las tecnologías de Enterprise Service Bus (ESB).

Patrón de proxy de servicio simple

El patrón de proxy de servicio simple crea una correlación de uno a uno entre el solicitante de servicio y el proveedor de servicios. La colocación de un ESB entre los dos servicios oculta la ubicación real del proveedor de servicios. El patrón de proxy de servicio simple es también de especial valor al proporcionar un punto para el control de accesos, solicitar rastreo o auditoría.

Puede utilizar este patrón cuando:
  • Desea proporcionar acceso a un servicio a través de un punto de control sin mostrar a los clientes la ubicación real (dirección de punto final) del servicio.
  • Debe aplicar alguna forma de control (gestión de acceso, autorización, auditoría o registro) cada vez que se accede a un servicio.

La Figura 1 muestra el patrón de proxy de servicio simple. El servicio de destino se oculta mediante el despliegue de una mediación ESB que implementa la misma interfaz. Esta mediación actúa como servicio virtual (o proxy) que redirige todas las solicitudes hacia el proveedor de servicios real.

Un registro de servicio es un repositorio de datos que describen un conjunto de servicios y sus propiedades asociadas y comportamientos. Este registro puede ser consultado por el ESB para determinar el punto final del proveedor de servicios.

Figura 1. Patrón de proxy de servicio simple
Esta imagen muestra un solicitante de servicio conectado a un proveedor de servicios a través de una mediación ESB

Por ejemplo, a menudo es necesario, como requisito legal, auditar las operaciones de una aplicación bancaria. El patrón de proxy de servicio simple se puede utilizar para implementar este requisito de negocio que garantiza que se auditarán todas las solicitudes y elimina la necesidad de que el proveedor de servicio implemente la función.

Patrón de selector de servicio

El patrón de selector de servicio proporciona varias implementaciones de una misma interfaz de servicio para agruparlas bajo una misma dirección de punto final. Cada implementación puede tener una calidad de servicio o comportamiento diferentes, y cada solicitud del cliente se puede asociar a una implementación determinada establecida por criterios diferentes, tales como el contenido del mensaje en el ESB.

Puede utilizar este patrón cuando:
  • Existen varias implementaciones de un servicio concreto que comparten la misma interfaz.
  • Diferentes implementaciones proporcionan diferentes calidades de servicio.
  • Solicitudes de diferentes clientes deben direccionarse a una implementación concreta de acuerdo con un conjunto de criterios predefinidos.

La Figura 2 muestra el patrón de selector de servicio, que implementa la lógica necesaria para seleccionar una dirección de punto final específica basándose en el contexto o el contenido de cada solicitud de cliente.

Un registro de servicio es un repositorio de datos que describen un conjunto de servicios y sus propiedades asociadas y comportamientos. Este registro puede ser consultado por el ESB para determinar el punto final del proveedor de servicios.

Figura 2. Patrón de selector de servicio
Esta imagen muestra un solicitante de servicio conectado a 3 proveedores de servicio a través de una mediación ESB

Un ejemplo de utilización del patrón de selector de servicio cuando una empresa (ficticia) desea diferenciarse de sus competidores ofreciendo niveles escalonados de servicio. El objetivo de la empresa es ofrecer cotizaciones de acciones de forma diferida a sus clientes estándar y cotizaciones en tiempo real a sus clientes especiales, que pagan una cuota.

La aplicación del solicitante de servicio proporciona una consulta que contiene un símbolo de cotización y un ID de cliente al direccionador basado en el contenido, el cual procesa la consulta. Se determina el nivel de suscripción del cliente y, dependiendo del nivel de suscripción, la consulta se encamina hacia el proveedor de servicios apropiado. A continuación, la cotización bursátil devuelta por el proveedor de servicios se devuelve a la aplicación cliente. Encontrará más información sobre este escenario en los Escenarios de ejemplo.

Patrón de conversor de servicio

El modelo de conversor de servicios proporciona acceso a una implementación de servicio con una interfaz o protocolo diferente de la interfaz o protocolo utilizado por el solicitante de servicio. Puede seleccionar que las operaciones se restrinjan o se reestructuren en algunas interfaces, y también puede convertir datos y darles formato para usuarios de interfaces específicas.

Puede utilizar este patrón cuando:
  • Desea restringir el acceso a determinadas funciones en la interfaz de usuario.
  • Es necesario modificar la interfaz para ajustarse a los requisitos de determinados departamentos.
  • Los servicios solicitantes esperan utilizar diferentes interfaces o protocolos.

La Figura 3 muestra el patrón de conversor de servicios, que transforma la solicitud y, a continuación, la direcciona al proveedor de servicios real. La mediación también debe procesar las respuestas del servicio de destino, transformándolas de nuevo al formato esperado por el cliente.

Figura 3. Patrón de conversor de servicio
Esta imagen muestra un solicitante de servicio conectado a un proveedor de servicios a través de una mediación ESB

Un ejemplo del patrón de conversor de servicio es una empresa ficticia, Personal Holidays, que reserva vuelos y comprueba la disponibilidad de vuelos en el plan de vuelos de una compañía aérea ficticia, My Airways. El sistema de reserva de Personal Holidays representa la información de forma diferente al sistema de reserva de My Airways. El patrón de conversor de servicio de la mediación ESB puede transformar los mensajes entrantes del solicitante de servicio al formato utilizado por My Airways para representar la información. Encontrará más información sobre este escenario en Escenarios de ejemplo.

Patrón de pasarela de servicio

El patrón de pasarela de servicio añade un punto de control y puede aportar un rango de servicios de bajo el control de un ESB sin necesidad de desarrollar mediaciones individuales para cada servicio. La pasarela de servicio proporciona un solo punto de acceso y actúa como proxy para varios servicios. Además, las pasarelas de servicio encapsulan transformaciones, el direccionamiento y el proceso común entre todos los servicios.

Puede utilizar este patrón cuando:
  • Desea direccionar los mensajes a varios puntos finales utilizando diversos protocolos.
  • Debe accederse a un conjunto de servicios del mismo modo sin necesidad de varias mediaciones.
  • Desea proporcionar un proceso genérico (por ejemplo, auditoría, punto de aplicación de seguridad) en todos los servicios.

La Figura 4 muestra el patrón de pasarela de servicio. Los mensajes entran en la pasarela y se identifica el servicio de destino. El proceso común se completa (tal como el proceso de auditoría) antes de encaminar el mensaje hacia un proveedor final.

Un registro de servicio es un repositorio de datos que describen un conjunto de servicios y sus propiedades asociadas y comportamientos. Este registro puede ser consultado por el ESB para determinar el punto final del proveedor de servicios.

Figura 4. Patrón de pasarela de servicio
Esta imagen muestra 3 solicitantes de servicio conectados a 3 proveedores de servicio a través de una mediación ESB

Por ejemplo, un banco tiene un número de servicios totalmente diferentes que se han de auditar como un requisito legal. Y desean que todos los servicios tengan el mismo nivel de auditoría. Se utiliza el patrón de pasarela de servicio para implementar este requisito de negocio.

Patrón de enriquecimiento de mensajes

El patrón de enriquecimiento de mensajes proporciona un método para modificar o añadir al contenido existente en un mensaje antes de ser remitido al proveedor de servicios. Un ejemplo del enriquecimiento de mensajes es recuperar datos de una base de datos y añadirlos a una ubicación determinada de un mensaje.

Puede utilizar este patrón cuando se envían mensajes que necesitan más información de una base de datos.

La Figura 5 muestra el patrón de enriquecimiento de mensajes. El mensaje que llega al ESB no contiene todos los datos que necesita el proveedor de servicios. ESB añade los datos antes de que se envíe el mensaje al proveedor de servicios. Por ejemplo, el solicitante de servicios tan solo conoce el ID de cliente y el ID de producto. El enriquecimiento de mensaje proporciona los datos completos del cliente y del producto para el pedido que se debe procesar.

Figura 5. Patrón de enriquecimiento de mensajes
Esta imagen muestra un solicitante de servicio conectado a un proveedor de servicios a través de una mediación ESB

Un ejemplo de cuándo se puede utilizar el patrón de enriquecimiento del servicio es si no existe un campo concreto en una estructura de mensaje. Se puede utilizar una primitiva de mediación Búsqueda de base de datos para establecer los detalles del campo en cualquier instancia determinada. Encontrará más información sobre este escenario en Enriquecimiento de servicio.

Patrón de agregación por lotes

El patrón de agregación por lotes proporciona un método para que una solicitud de entrada se correlacione con varias solicitudes de salida individuales para el proveedor de servicios. Las respuestas a estas solicitudes se pueden recoger en una sola respuesta para la solicitud original.

Puede utilizar este patrón cuando sea necesario que los mensajes incluyan varios registros y cada uno de ellos se pueda reenviar al proveedor de servicios individualmente.

La Figura 6 muestra el patrón de agregación por lotes, donde el mensaje de entrada a la mediación se divide en varias solicitudes de salida al proveedor de servicios y, a continuación, se recopila en un único mensaje para enviarlo al solicitante de servicio. El solicitante de servicio recibe toda la información relevante necesaria en un mensaje por lotes.

Figura 6. Patrón de agregación por lotes
Esta imagen muestra un solicitante de servicio conectado a un proveedor de servicios a través de una mediación ESB

Patrón de agregación de varios orígenes

El patrón de agregación de origen proporciona un método para que una solicitud de entrada se correlacione con varias solicitudes de salida individuales para varios proveedores de servicios. Las respuestas a estas solicitudes se pueden recoger en una sola respuesta para la solicitud original.

Puede utilizar este patrón cuando se envíe un único mensaje al ESB que requiera que dos o más proveedores de servicios procesen el mensaje, o partes del mensaje. Se reenvía una respuesta agregada al solicitante de servicio.

La Figura 7 muestra el patrón de agregación de varios orígenes, donde el mensaje de entrada a la mediación se divide en varias solicitudes de salida para varios proveedores de servicios. A continuación, los resultados se recogen de nuevo en un único mensaje para devolverlo al solicitante de servicios. Puede utilizar este patrón si la solicitud de entrada necesita información de diferentes proveedores de servicios como, por ejemplo, un sitio web de comparación de presupuestos.

Figura 7. Patrón de agregación de varios orígenes
Esta imagen muestra un solicitante de servicio conectado a 3 proveedores de servicio a través de una mediación ESB