Un nodo de flujo de mensajes es un paso de proceso de un flujo de mensajes.
Recibe un mensaje, efectúa un conjunto de acciones en el mensaje y opcionalmente pasa el mensaje al nodo siguiente del flujo de mensajes. Un nodo de flujo de mensajes puede ser un nodo incorporado , un nodo definido por el usuario, o un nodo de subflujo.
Un nodo de flujo de mensajes tiene un número fijo de puntos de entrada y salida que se conocen como terminales. Puede efectuar las conexiones entre los terminales para definir las rutas que puede tomar un mensaje a través de un flujo de mensajes.
Para obtener información sobre todos los nodos incorporados proporcionados por WebSphere Event Broker, consulte Nodos incorporados.
Cuando se intercala en un flujo principal, el subflujo se representa mediante un nodo de subflujo que tiene un icono exclusivo. El icono se muestra con el número de terminales correcto para representar los nodos de entrada y de salida que ha incluido en la definición del subflujo.
El uso de subflujos se muestra en el Ejemplo Manejador de errores y el Ejemplo de respuesta de petición coordinada. El ejemplo de manejador de errores utiliza un subflujo para atrapar información sobre errores y almacenar la información en una base de datos. El ejemplo de respuesta de petición coordinada utiliza un subflujo para encapsular el almacenamiento de los valores de ReplyToQ y ReplyToQMgr en un mensaje de WebSphere MQ para que la lógica de proceso se pueda volver a utilizar en otros flujos de mensajes y para permitir que se sustituyan implementaciones alternativas.
Un nodo no siempre genera un mensaje de salida para cada terminal de salida: a menudo, genera un nodo de salida para un solo terminal basándose en el mensaje recibido o en el resultado de la operación del nodo.
Si se conecta más de un terminal, el nodo envía el mensaje de salida en cada terminal pero sólo envía al terminal siguiente cuando el proceso ha terminado para el terminal actual. Las actualizaciones efectuadas en un mensaje no se propagan nunca a nodos ejecutados anteriormente, sólo a nodos que van a continuación del nodo en el que se ha efectuado la actualización. El orden en el que se propaga el mensaje a los diferentes terminales de salida lo determina el intermediario y este orden no se puede modificar.
El flujo de mensajes puede aceptar un mensaje nuevo para su proceso sólo cuando se han completado todas las vías de acceso a través del flujo de mensajes, esto es, todos los nodos conectados desde todos los terminales de salida.
El Ejemplo Reserva de vuelos utiliza variables de entorno en el ejemplo XML_Reservation para almacenar información que se ha tomado de una tabla de base de datos y pasar dicha información a un nodo en sentido descendente en el flujo de mensajes.