Un nodo del flusso di messaggi è una fase di elaborazione in un flusso di messaggi.
Esso riceve un messaggio, esegue una serie di azioni sul messaggio e facoltativamente trasmette il messaggio al nodo successivo nel flusso di messaggi. Un nodo del flusso di messaggi può essere un nodo integrato, un nodo definito dall'utente, o un nodo del flusso secondario.
Un nodo del flusso di messaggi ha un numero fisso di punti di input e di output detti terminali. E' possibile stabilire delle connessioni tra i terminali per definire gli instradamenti che può prendere un messaggio in un flusso di messaggi.
Per informazioni su tutti i nodi integrati forniti da WebSphere Event Broker, consultare Nodi integrati.
Il flusso secondario, quando è integrato in un flusso principale, viene rappresentato da un nodo del flusso secondario, che dispone di un'icona univoca. L'icona è visualizzata con il numero di terminali corretto per rappresentare i nodi Input e Output inclusi nella definizione del flusso secondario.
L'utilizzo dei flussi secondari è dimostrato nell'Esempio Programma di gestione degli errori e nell'esempio Richiesta/Replica coordinate. L'esempio Programma di gestione degli errori utilizza un flusso secondario per reperire informazioni relative agli errori e memorizzare tali informazioni in un database. L'esempio Richiesta/Replica coordinate utilizza un flusso secondario per racchiudere l'archivio dei valori ReplyToQ e ReplyToQMgr in un messaggio WebSphere MQ in modo che la logica di elaborazione possa essere riutilizzata in altri flussi di messaggi e per consentire la sostituzione di implementazioni alternative.
Un nodo non produce sempre un messaggio di output per ogni terminale di output: spesso produce un output per un singolo terminale in base al messaggio ricevuto o al risultato dell'operazione del nodo.
Se è connesso più di un terminale, il nodo invia il messaggio di output ad ogni terminale, ma lo invia al terminale successivo solo quando l'elaborazione per il terminale corrente è completata. Gli aggiornamenti ad un messaggio non sono mai trasmessi ai nodi eseguiti precedentemente, solo ai nodi che seguono il nodo in cui è stato effettuato l'aggiornamento. L'ordine in cui il messaggio è trasmesso ai diversi terminali di output è determinato dal broker; non è possibile modificare questo ordine.
Il flusso di messaggi può accettare un nuovo messaggio per l'elaborazione solo quando tutti i percorsi nel flusso di messaggi (cioè, tutti i nodi connessi da tutti i terminali output) sono stati completati.
L'Esempio Prenotazioni per compagnie aeree utilizza le variabili di ambiente contenute nell'esempio XML_Reservation per memorizzare le informazioni che sono state tratte da una tabella di database e per trasmettere tali informazioni ad un nodo successivo in un flusso di messaggi.