La agregación es la generación y la ramificación de peticiones relacionadas derivadas de un único mensaje de entrada y el abanico de entrada de las respuestas correspondientes para producir un único mensaje de respuesta agregado.
La petición inicial que recibe el flujo de mensajes, que representa una recopilación de elementos de peticiones relacionadas, se divide en el número adecuado de peticiones individuales a fin de satisfacer las subtareas de la petición inicial. Este proceso se conoce como ramificado y lo proporciona un flujo de mensajes que incluye nodos de agregación.
Las respuestas de las subtareas se combinan y fusionan en una única respuesta que se devuelve al peticionario original (u otra aplicación destino) para indicar la finalización del proceso. Este proceso se conoce como 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 a un intermediario a través de cualquier protocolo para el que se ofrezca soporte; la respuesta agregada también se puede enviar a una aplicación cliente a través de todos estos protocolos. Los mensajes que emite el flujo de mensajes ramificado y las respuestas que recibe el flujo de mensajes de abanico de entrada deben ser mensajes de petición/respuesta. Por consiguiente, está limitado a las aplicaciones cliente que se conectan utilizando WebSphere MQ Enterprise Transport (envío y recepción de mensajes de y a los nodos MQInput y MQOutput) o WebSphere MQ Mobile Transport (envío y recepción de mensajes de y a los nodos MQeInput y MQeOutput), o bien, a los clientes que utilizan otro protocolo para el que ofrezcan soporte los nodos de entrada y salida definidos por el usuario que cumplan con el modelo de comunicación de petición/respuesta.
WebSphere Business Integration Message Broker proporciona tres nodos de flujos de mensajes que ofrecen soporte para agregación:
Cuando incluye estos nodos en los flujos de mensajes, las múltiples peticiones de ramificación se emiten en paralelo desde un flujo de mensajes, a diferencia del funcionamiento estándar del flujo de mensajes, en el que cada nodo realiza su proceso secuencialmente.
También puede utilizar estos nodos para emitir peticiones a aplicaciones que están fuera del entorno del intermediario; los mensajes se pueden enviar de modo asíncrono a aplicaciones o servicios externos, las respuestas se recuperan de dichas aplicaciones, y las respuestas se combinan para facilitar una única respuesta al mensaje de solicitud original.
Estos nodos también proporcionan una oportunidad para una mejora en el tiempo de respuesta, puesto que las peticiones lentas se pueden llevar a cabo en paralelo y no deben seguir un orden secuencial. Si las subtareas se pueden procesar de modo independiente y no es necesario que se manejen como parte una única unidad de trabajo, pueden procesarlas flujos de mensajes separados.
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 para otra aplicación (por ejemplo, utilizando el nodo HTTPRequest) y registrando los resultados de cada una en LocalEnvironment. Una vez que se completa cada subtarea, puede fusionar los resultados de LocalEnvironment en un nodo Compute y crear el mensaje de respuesta combinado para propagarlo a la aplicación destino. En este caso, todas las subtareas se llevan a cabo en orden secuencial y no ofrecen las ventajas del rendimiento de la operación paralela que se pueden obtener utilizando los nodos agregados.
En el ejemplo de Línea aérea que se proporciona con WebSphere Business Integration Message Broker se muestra un flujo de agregación en el que se utilizan nodos agregados. En esta aplicación de flujo de mensajes se simulan peticiones relacionadas con una servicio de reservas en una línea aérea y se ilustran las técnicas asociadas a los flujos de agregación.
Conceptos relacionados
Nodos del flujo de mensajes
Tareas relacionadas
Utilización de la agregación con una base de datos DB2
Utilización de la agregación con una base de datos Sybase
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
Protocolos soportados para la agregación
Avisos |
Marcas registradas |
Descargas |
Biblioteca |
Soporte |
Información de retorno (feedback)
![]() ![]() |
ac00660_ |