Agregación de flujo de mensajes

La agregación es la creación y despliegue de peticiones relacionadas derivadas de un solo mensaje de entrada y la recopilación de las respuestas correspondientes para producir un solo mensaje de respuesta agregado.

La petición inicial recibida por el flujo de mensajes, que representa un conjunto de elementos de petición relacionados, se divide en el número adecuado de peticiones individuales para satisfacer las subtareas de la petición inicial. Este proceso se denomina abanico de salida y lo proporciona un flujo de mensajes que incluye nodos de agregación.

Las respuestas de las subtareas se combinan y fusionan en una sola respuesta que se devuelve al peticionario original (o a otra aplicación destino) para indicar la finalización del proceso. Este proceso se denomina abanico de entrada y también lo proporciona un flujo de mensajes que incluye nodos de agregación.

Puede iniciar la agregación enviando un mensaje a un flujo de mensajes desde una aplicación cliente que esté conectada al intermediario a través de cualquier protocolo soportado; la respuesta agregada también se puede enviar a una aplicación cliente a través de todos estos protocolos. Los mensajes emitidos por el flujo de mensajes de abanico de salida y las respuestas recibidas por el flujo de mensajes de abanico de entrada deben ser mensajes de petición/respuesta. Por consiguiente, está limitado a aplicaciones cliente que se conectan utilizando WebSphere MQ Enterprise Transport (enviando y recibiendo mensajes a y desde los nodos MQInput y MQOutput) o a clientes que utilizan otro protocolo soportado por nodos de entrada y salida definidos por el usuario que se ajustan al modelo de comunicaciones de petición/respuesta.

WebSphere Message Broker proporciona tres nodos de flujos de mensajes que soportan la agregación:

Cuando incluye estos nodos en sus flujos de mensajes, las diversas peticiones del abanico de salida se emiten en paralelo desde dentro de un flujo de mensajes. A diferencia del funcionamiento estándar del flujo de mensajes, en el que cada nodo efectúa su proceso en secuencia.

También puede utilizar estos nodos para emitir peticiones a aplicaciones fuera del entorno de intermediario; los mensajes se pueden enviar de forma asíncrona a servicios o aplicaciones externas, y las respuestas se pueden recuperar de esas aplicaciones y combinarse para proporcionar una sola respuesta al mensaje de petición original.

Estos nodos también proporcionan una oportunidad para mejorar el tiempo de respuesta, puesto que las peticiones lentas se pueden realizar en paralelo y no tienen que realizarse secuencialmente. Si las subtareas pueden procesarse independientemente y no tienen que manejarse como parte de una sola unidad de trabajo, pueden procesarse por flujos de mensajes aparte.

Puede diseñar y configurar un flujo de mensajes que proporcione una función similar sin utilizar los nodos agregados, emitiendo las peticiones de subtareas a otra aplicación (por ejemplo, utilizando el nodo HTTPRequest) y registrando los resultados en el entorno local. Después de completar cada subtarea, puede fusionar los resultados del entorno local en un nodo Compute y crear el mensaje de respuesta combinado para propagar a la aplicación destino. Si lo hace, todas las subtareas se realizan secuencialmente y no se obtienen los beneficios en cuanto a rendimiento que sí se obtiene de la operación en paralelo que puede realizar utilizando los nodos de agregación.

En el ejemplo de Reserva de vuelos en Línea aérea que se proporciona con WebSphere Message Broker se suministra un ejemplo de un flujo de agregación utilizando los nodos de agregación. Esta aplicación de flujo de mensajes simula peticiones relacionadas con un servicio de reservas de línea aérea, e ilustra las técnicas asociadas a los flujos de agregación.

Conceptos relacionados
Nodos de flujo mensajes
Tareas relacionadas
Diseño de un flujo de mensajes
Definición del contenido del flujo de mensajes
Configuración de flujos de agregación
Referencia relacionada
Nodos incorporados
Nodo AggregateControl
Nodo AggregateReply
Nodo AggregateRequest
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión
Copyright IBM Corporation 1999, 2005 Última actualización: 11/11/2005
ac00660_