Determinazione dei nodi da utilizzare

Prima di iniziare:

Leggere l'argomento relativo a nodi del flusso di messaggi.

WebSphere Message Broker include un numero elevato di nodi di elaborazione dei messaggi che è possibile utilizzare all'interno dei propri flussi di messaggi. Esso fornisce inoltre un'interfaccia che è possibile utilizzare per definire i propri nodi, noti come nodi definiti dall'utente.

La decisione su quali nodi utilizzare dipende dal tipo di elaborazione che si desidera effettuare sui messaggi. I nodi integrati possono essere suddivisi in diverse categorie e sono visualizzati nel workbench raggruppati in tali categorie (sebbene questo raggruppamento non abbia effetti sul loro funzionamento). E' possibile categorizzare allo stesso modo anche i nodi definiti dall'utente. Le categorie sono:

Input e output
I nodi input e output definiscono punti nel flusso di messaggi ai quali i client inviano messaggi (nodi di input quali MQInput) e da cui i client ricevono messaggi (nodi di output quali MQOutput). Le applicazioni client interagiscono con questi nodi inserendo i messaggi o richiamandoli dalla risorsa I/O specificata dal nodo come origine o destinazione dei messaggi. Sebbene un flusso di messaggi debba includere almeno un nodo di input, non è necessario che includa un nodo di output.
  • Se si sta creando un flusso di messaggi che si desidera distribuire ad un broker, è necessario includere almeno un nodo Input per ricevere messaggi. La scelta del nodo di input dipende dall'origine dei messaggi di input e da dove, nel flusso, si desidera ricevere i messaggi:
    MQInput
    Se i messaggi arrivano al broker in una coda WebSphere MQ e il nodo deve essere all'inizio del flusso di messaggi.

    Inizio modificaL'utilizzo dei flussi di messaggi in cui sono contenuti i nodi MQeInput in WebSphere Message Broker Versione 6.0 è obsoleto. Progettare nuovamente i flussi di messaggi per rimuovere i nodi MQe e sostituirli con nodi MQ configurati in modo specifico e coordinati con la configurazione del Gateway MQe. Per ulteriori dettagli, consultare Migrazione di un flusso di messaggi che contiene i nodi di WebSphere MQ Everyplace.Fine modifica

    MQGet
    Se i messaggi arrivano al broker in una coda WebSphere MQ e il nodo non deve essere all'inizio del flusso di messaggi.
    SCADAInput
    Se i messaggi sono inviati da un'unità di telemetria.
    HTTPInput
    Se i messaggi sono inviati da un client dei servizi Web.
    Real-timeInput o Real-timeOptimizedFlow
    Inizio modificaSe i messaggi sono inviati da un'applicazione multicast o JMS. Il nodo Real-timeInput è un flusso di messaggi completo che fornisce un flusso di messaggi pubblicazione/sottoscrizione ad alte prestazioni.Fine modifica
    Inizio modificaJMSInputFine modifica
    Inizio modificaSe i messaggi sono inviati da un'applicazione JMS.Fine modifica
    Nodo di input definito dall'utente
    Se l'origine dei messaggi è un client o un'applicazione che utilizza un tipo di protocollo o di trasporto diverso.
    Nodo Input
    Se si sta creando un flusso di messaggi che si desidera incorporare in un altro flusso di messaggi (un flusso secondario) che non verrà distribuito come flusso di messaggi autonomo è necessario includere almeno un nodo Input per ricevere i messaggi nel flusso secondario.

    Un'istanza del nodo Input rappresenta un terminale di input. Ad esempio, se è stata inclusa un'istanza del nodo Input, l'icona del flusso secondario mostra un terminale di input che è possibile connettere ad altri nodi nel flusso principale nello stesso modo in cui si connette qualsiasi altro nodo.

    E' possibile distribuire solo flussi di messaggi che abbiano almeno un nodo di input. Se il flusso di messaggi non contiene alcun nodo di input, non è possibile aggiungerlo al file bar (broker archive). Il nodo di input può trovarsi nel flusso principale o in un flusso di messaggi che è incorporato nel flusso principale.

    E' possibile utilizzare più di un nodo di input in un flusso di messaggi. Per ulteriori informazioni, consultare Utilizzo di più di un nodo di input.

  • Se si desidera inviare i messaggi prodotti dal flusso di messaggi ad un'applicazione di destinazione, si possono includere uno o più nodi di output. La scelta del nodo dipende dal trasporto tramite cui l'applicazione di destinazione prevede di ricevere quei messaggi:
    Publication
    Se si desidera distribuire i messaggi utilizzando la rete di pubblicazione/sottoscrizione per le applicazioni che eseguono sottoscrizioni al broker attraverso tutti i protocolli supportati. Un nodo Publication è un nodo di output che utilizza le destinazioni di output che sono identificate dai sottoscrittori le cui sottoscrizioni corrispondono alle caratteristiche del messaggio attuale.
    MQOutput
    Se l'applicazione di destinazione prevede di ricevere i messaggi su una coda WebSphere MQ o su una coda WebSphere MQ di risposta specificata nell'MQMD del messaggio di input.

    Inizio modificaL'utilizzo dei flussi di messaggi in cui sono contenuti i nodi MQeOutput in WebSphere Message Broker Versione 6.0 è obsoleto. Progettare nuovamente i flussi di messaggi per rimuovere i nodi MQe e sostituirli con nodi MQ configurati in modo specifico e coordinati con la configurazione del Gateway MQe. Per ulteriori dettagli, consultare Migrazione di un flusso di messaggi che contiene i nodi di WebSphere MQ Everyplace.Fine modifica

    MQReply
    Se l'applicazione di destinazione prevede di ricevere i messaggi sulla coda WebSphere MQ di risposta specificata nell'MQMD del messaggio di input
    SCADAOutput
    Se un'unità di telemetria è la destinazione dei messaggi di output e il nodo Publication non è adatto
    HTTPReply
    Se i messaggi sono per il client dei servizi Web
    HTTPRequest
    Se il flusso di messaggi interagisce con un client dei servizi Web
    Real-timeOptimizedFlow
    Se l'applicazione di destinazione è un'applicazione multicast o JMS
    Inizio modificaJMSOutputFine modifica
    Inizio modificaSe i messaggi sono per una destinazione JMSFine modifica
    Nodo di output definito dall'utente
    Se la destinazione è un client o un'applicazione che utilizza un protocollo o un trasporto differente
    Nodo Output
    Se si sta creando un flusso di messaggi che si desidera incorporare in un altro flusso di messaggi (un flusso secondario) che non verrà distribuito come flusso di messaggi autonomo, è necessario includere almeno un nodo di Output per trasmettere i messaggi ai nodi successivi connessi al flusso secondario.

    Un'istanza del nodo Output rappresenta un terminale di output. Ad esempio, se sono state incluse due istanze del nodo di Output, l'icona del flusso secondario mostra due terminali di output che è possibile connettere ad altri nodi nel flusso principale nello stesso modo in cui si connette qualsiasi altro nodo.

Manipolazione, miglioramento e trasformazione dei messaggi

La maggior parte delle aziende dispongono di applicazioni che sono state sviluppate nel corso di molti anni, su sistemi diversi, utilizzando linguaggi di programmazione diversi e metodi di comunicazione diversi. WebSphere Message Broker fa sì che le applicazioni non debbano interpretare queste differenze poiché fornisce la capacità di configurare flussi di messaggi che trasformano i messaggi da un formato all'altro.

Ad esempio, i nomi personali sono registrati in diversi formati nelle diverse applicazioni. Cognome per primo o per ultimo, con o senza le iniziali, maiuscolo o minuscolo: queste sono solo alcune delle possibili variazioni. Dal momento che si può configurare il flusso di messaggi in modo che riconosca i requisiti di ogni applicazione, ogni messaggio può essere trasformato nel formato corretto senza modificare l'applicazione di invio o di ricezione.

E' possibile gestire il contenuto del messaggio per aggiornarlo in diversi modi. In questo caso, le scelte possono dipendere dalla eventualità che il flusso di messaggi debba gestire messaggi predefiniti (basati su modello) o messaggi a definizione automatica (ad esempio, XML) o entrambi.

Un flusso di messaggi può ricreare completamente un messaggio, convertirlo da un formato all'altro (se per formato si intende l'ordine dei campi, l'ordine dei byte, il linguaggio e così via), rimuovere il contenuto dal messaggio o immettere in esso dati specifici. Ad esempio, un nodo può interagire con un database per richiamare informazioni aggiuntive o per memorizzare una copia del messaggio (totale o parziale) nel database per l'elaborazione non in linea.

I seguenti esempi mostrano come possa essere importante la trasformazione dei messaggi:

  • Un'applicazione relativa alle voci dell'ordine ha un ID Parte nel contenuto del messaggio, ma l'applicazione partner relativa alla disponibilità in magazzino lo prevede nell'intestazione del messaggio. Il messaggio viene indirizzato a un flusso di messaggi che riconosce i due diversi formati e può quindi riformattare l'informazione come necessario.
  • Un'applicazione di immissione dati crea messaggi che contengono informazioni relative alla vendita delle merci in magazzino. Alcune delle applicazioni che ricevono questo messaggio richiedono le informazioni così come sono fornite, ma altre necessitano di informazioni ulteriori aggiunte al messaggio circa il rapporto prezzo/guadagno. I messaggi relativi alla vendita delle merci in magazzino sono indirizzati a un flusso di messaggi che trasmette il messaggio invariato ad alcuni nodi di output, ma calcola e aggiunge le ulteriori informazioni per gli altri nodi. Il flusso di messaggi effettua questa operazione consultando il prezzo attuale della merce in magazzino in un database e utilizza questo valore e le informazioni commerciali nel messaggio originale per calcolare il valore PE prima di trasmettere il messaggio aggiornato.

E' possibile anche creare flussi di messaggi che interagiscono tra loro utilizzando questi nodi. Sebbene l'operazione predefinita di un flusso di messaggi non influisca sull'operazione di un altro flusso di messaggi, è possibile forzare questo impatto configurando i flussi di messaggi in modo che memorizzino e richiamino le informazioni in un'origine esterna come ad esempio un database.

Compute
E' possibile manipolare il contenuto dei messaggi, trasformare in qualche modo il messaggio e interagire con un database per modificare il contenuto del messaggio o il contenuto del database e trasmettere uno o più nuovi messaggi utilizzando il nodo Compute. E' possibile utilizzare questo nodo per manipolare messaggi predefiniti e a definizione automatica.

Utilizzare l'editor ESQL per create un modulo ESQL, specifico per questo nodo, che contenga le istruzioni che definiscono le azioni da eseguire sul messaggio o sul database. Non utilizzare il codice ESQL sviluppato per l'utilizzo in un nodo Compute in altri tipi di nodi.

E' possibile controllare la modalità in cui questo nodo accede al database specificando le informazioni relative alla password e all'utente per l'origine dati specificata nella proprietà del nodo. Utilizzare il comando mqsisetdbparms per inizializzare e gestire questi valori.

E' possibile controllare la modalità in cui questo nodo accede al database specificando le informazioni relative alla password e all'utente per l'origine dati specificata nella proprietà del nodo. Utilizzare il comando mqsisetdbparms per inizializzare e gestire questi valori.

Se i requisiti di manipolazione del messaggio sono complessi, completare queste operazioni all'interno di un singolo nodo Compute. Pochi e più complessi nodi Compute operano meglio di un numero superiore di nodi più semplici, poiché il broker analizza il messaggio al momento dell'immissione su ciascun nodo Compute.

Mapping
E' possibile creare un nuovo messaggio da un messaggio di input eseguendo la mappatura del contenuto degli elementi del messaggio di output dagli elementi del messaggio di input o dal contenuto del database, utilizzando il nodo Mapping. E' anche possibile estrarre parti del messaggio ed eventualmente modificarne il contenuto, per creare un nuovo messaggio di output che sia una copia parziale del messaggio ricevuto dal nodo. Il nodo Mapping gestisce solo i messaggi predefiniti.

E' possibile controllare la modalità in cui questo nodo accede al database specificando le informazioni relative alla password e all'utente per l'origine dati specificata nella proprietà del nodo. Utilizzare il comando mqsisetdbparms per inizializzare e gestire questi valori.

Utilizzando un editor Mappatura, è possibile sviluppare mappature per eseguire semplici manipolazioni su messaggi predefiniti nel nodo Mapping. Non utilizzare le mappature sviluppate per l'utilizzo in un nodo Mapping in altri tipi di nodi.

Extract
E' possibile utilizzare il nodo Extract per creare un nuovo messaggio di output da elementi specificati del messaggio di input. E' possibile estrarre parti del messaggio ed eventualmente modificarne il contenuto, per creare un nuovo messaggio di output che sia una copia parziale del messaggio ricevuto dal nodo. Il nodo Extract gestisce solo i messaggi predefiniti.

Utilizzando un editor Mappatura, è possibile sviluppare mappature per eseguire semplici manipolazioni su messaggi predefiniti nel nodo Extract. Non utilizzare le mappature sviluppate per l'utilizzo in un nodo Extract in altri tipi di nodi.

Database
Utilizzare il nodo Database per interagire con un database identificato dalle proprietà del nodo. Il nodo Database gestisce sia i messaggi predefiniti che quelli a definizione automatica. Utilizzando un editor ESQL, è possibile codificare le funzioni ESQL per aggiornare il contenuto del database dal messaggio, inserire nuove informazioni nel database ed eliminare informazioni dal database, probabilmente in base alle informazioni contenute nel messaggio. Non utilizzare il codice ESQL sviluppato per l'utilizzo in un nodo Database in altri tipi di nodi.

Questo nodo fornisce un'interfaccia molto flessibile con un'ampia gamma di funzioni. Esso dispone inoltre di proprietà che possono essere utilizzare per controllare in che modo l'interazione partecipa alle transazioni.

E' possibile controllare la modalità in cui questo nodo accede al database specificando le informazioni relative alla password e all'utente per l'origine dati specificata nella proprietà del nodo. Utilizzare il comando mqsisetdbparms per inizializzare e gestire questi valori.

E' possibile solo aggiornare un database da questo nodo; non è possibile aggiornare alcun contenuto del messaggio. Se si desidera aggiornare il contenuto del messaggio, utilizzare il nodo Compute o Mapping.

DataDelete, DataInsert, DataUpdate
I nodi DataDelete, DataInsert e DataUpdate sono forme specializzate del nodo Database che forniscono un'unica modalità di interazione (rispettivamente l'eliminazione di una o più righe, l'inserimento di una o più righe o l'aggiornamento di una o più righe esistenti). I nodi DataDelete, DataInsert e DataUpdate gestiscono solo i messaggi predefiniti. Utilizzare l'editor Mappatura per sviluppare mappature che eseguano queste funzioni. Non utilizzare le mappature sviluppate per questi nodi in altri tipi di nodi. Questi nodi, inoltre, consentono di controllare le caratteristiche transazionali degli aggiornamenti che essi eseguono.

E' possibile controllare la modalità in cui questo nodo accede al database specificando le informazioni relative alla password e all'utente per l'origine dati specificata nella proprietà del nodo. Utilizzare il comando mqsisetdbparms per inizializzare e gestire questi valori.

E' possibile solo aggiornare i database da questi nodi: non è possibile aggiornare alcun contenuto del messaggio. Se si desidera aggiornare il contenuto del messaggio, utilizzare il nodo Compute o Mapping.

Warehouse
Il nodo Warehouse fornisce un'interfaccia di memorizzazione che può essere utilizzata per memorizzare il messaggio in modo totale o parziale in un database, ad esempio, per motivi di revisione contabile. Il nodo Warehouse gestisce solo i messaggi predefiniti. Utilizzare un editor Mappatura per sviluppare mappature che eseguano questa azione. Non utilizzare le mappature sviluppate per un nodo Warehouse in altri tipi di nodi.

E' possibile controllare la modalità in cui questo nodo accede al database specificando le informazioni relative alla password e all'utente per l'origine dati specificata nella proprietà del nodo. Utilizzare il comando mqsisetdbparms per inizializzare e gestire questi valori.

E' possibile solo aggiornare un database da questo nodo; non è possibile aggiornare alcun contenuto del messaggio. Se si desidera aggiornare il contenuto del messaggio, utilizzare il nodo Compute o Mapping.

XMLTransformation

Se si desidera trasformare un messaggio XML di input in un altro formato utilizzando i fogli di stile XMLT, utilizzare il nodo XMLTransformation. E' necessario che i dati possano essere analizzati in un messaggio XML. Il risultato della trasformazione è un output in forma di messaggio BLOB. Il foglio di stile, utilizzando le regole definite in esso, può ordinare i dati; selezionare gli elementi dei dati da includere o da escludere in base a determinati criteri e trasformare i dati in qualche altro formato.

Il motore di trasformazione Xalan-Java (Processore Apache Xalan-java XSLT) è utilizzato come motore di trasformazione sottostante. Per i dettagli su XMLT, fare riferimento a W3C XSL Transformations.

E' possibile distribuire i fogli di stile e i file XML ai gruppi di esecuzione del broker, per facilitare la manutenzione dei fogli di stile e dei file XML.

Inizio modificaJMSMQTransformFine modifica
Inizio modificaUtilizzare il nodo JMSMQTransform per trasformare un messaggio con una struttura JMS in un a messaggio con una struttura compatibile con il formato dei messaggi prodotti dal provider JMS di WebSphere MQ.

E' possibile utilizzare il nodo JMSMQTransform per inviare messaggi a flussi di messaggi legacy e interagire con JMS di WebSphere MQ e le prestazioni di pubblicazione sottoscrizione di WebSphere Message Broker.

Fine modifica
Inizio modificaMQJMSTransformFine modifica
Inizio modificaUtilizzare il nodo MQJMSTransform per ricevere i messaggi che dispongono di un formato di struttura messaggio del provider JMS di WebSphere MQ e trasformarli in un formato compatibile con messaggi inviati a destinazioni JMS.

E' possibile utilizzare il nodo MQJMSTransform per inviare messaggi a flussi di messaggi legacy e interagire con JMS di WebSphere MQ e le prestazioni di pubblicazione sottoscrizione di WebSphere Message Broker.

Fine modifica
Inizio modificaMQOptimizedFlowFine modifica
Inizio modifica

Utilizzare il nodo MQOptimizedFlow per sostituire un flusso di messaggi di pubblicazione/sottoscrizione composto da un nodo MQInput connesso ad un nodo Publication e che utilizza JMS sul trasporto WebSphere MQ. Non è possibile utilizzare il nodo MQOptimizedFlow su sistemi z/OS.

Utilizzare il nodo MQOptimizedFlow per migliorare le prestazioni, in particolare quando un autore (Publisher) singolo produce una pubblicazione permanente per un singolo sottoscrittore.

Fine modifica
Definito dall'utente
E' possibile includere un nodo definito dall'utente per interagire con un database.

E' possibile controllare la modalità in cui questo nodo accede al database specificando le informazioni relative alla password e all'utente per l'origine dati specificata nella proprietà del nodo. Utilizzare il comando mqsisetdbparms per inizializzare e gestire questi valori.

La seguente tabella sintetizza cosa è possibile aggiornare in questi nodi.

Nodo Aggiornare il database? Aggiornare il messaggio? Aggiornare LocalEnvironment? E' richiesta la serie di messaggi?
Compute No
Database No No
DataDelete No
DataInsert No
DataUpdate No
Extract
Mapping
Warehouse No
Come decidere

E' possibile utilizzare i nodi che determinato l'ordine e il flusso del controllo all'interno del flusso di messaggi in vari modi per decidere come vengono elaborati i messaggi dal flusso. E' possibile anche utilizzare i nodi (TimeoutControl e TimeoutNotification) che determinano l'ora, e la frequenza della ricorrenza, di eventi all'interno del flusso di messaggi. L'instradamento è indipendente dalla trasformazione dei messaggi, anche se il percorso intrapreso da un messaggio può determinare esattamente che tipo di trasformazione verrà eseguita su di esso.

Ad esempio, un'applicazione per il trasferimento di denaro invia sempre messaggi ad un'altra applicazione. Si potrebbe decidere che ogni messaggio con un valore di trasferimento superiore a $10,000 debba essere inviato anche ad una seconda applicazione, per abilitare la registrazione di tutte le transazioni con valore elevato.

In un altro esempio, un autoclub nazionale offre un servizio "premier" ai membri specifici per ordini al di sopra di un valore soglia. La maggior parte degli ordini sono instradati attraverso i canali usuali, ma, se il numero di tessera e il valore dell'ordine corrispondono a certi criteri, l'ordine riceve un trattamento speciale.

E' possibile anche stabilire un'opzione di instradamento più dinamica creando informazioni di instradamento aggiuntive nel messaggio quando viene elaborato. Serie di regole facoltative sono impostate per ricevere messaggi in base ai valori (destinazioni) specificati nel messaggio. E' possibile stabilire queste regole in modo che un messaggio venga elaborato da una o più serie di regole facoltative, in un ordine determinato dal contenuto aggiunto del messaggio.

Utilizzare i seguenti nodi per prendere decisioni sul percorso che un messaggio segue attraverso il flusso di messaggi:

Inizio modificaValidateFine modifica
Inizio modificaUtilizzare il nodo Validate per controllare che il messaggio in arrivo sul suo terminale di input sia quello previsto. È possibile controllare che il messaggio abbia le proprietà della maschera del messaggio previste (ossia, il dominio, la serie e il tipo di messaggio) e che il suo contenuto sia corretto. È possibile controllare il messaggio rispetto a una o più di queste proprietà.

il nodo Validate sostituisce il nodo Check obsoleto in WebSphere Message Broker Versione 6.0 e nei rilasci successivi. Il nodo Validate funziona allo stesso modo del nodo Check ma dispone di proprietà aggiuntive per consentire la convalida del contenuto del messaggio attraverso programmi di analisi che supportano tale capacità.

Fine modifica
Filter
E' possibile codificare un'istruzione ESQL per determinare il nodo successivo a cui viene inviato il messaggio da questo nodo. Non utilizzare il codice ESQL sviluppato per l'utilizzo con un nodo Filter in altri tipi di nodi.

I terminali del nodo sono true, false, unknown e failure; il messaggio viene trasmesso al terminale true se il test ha esito positivo e al terminale false se ha esito negativo. Se non è possibile risolvere l'istruzione (ad esempio, verifica il valore di un campo che non compare nel messaggio di input), il messaggio viene trasmesso al terminale unknown. Se viene individuato un errore, il messaggio viene trasmesso al terminale failure.

Il test nell'istruzione ESQL può dipendere dal contenuto del messaggio, dal contenuto del database o da una combinazione delle due cose.

È possibile controllare il modo in cui questo nodo accede ad un database specificando le informazioni relative a utente e password per ogni origine dati definita nel registro sul sistema broker. Sui sistemi distribuiti, utilizzare il comando mqsisetdbparms per inizializzare e gestire questi valori.

Su z/OS, utilizzare l'ID dell'attività avviata dal broker per accedere al database.

Utilizzare questo nodo piuttosto che il nodo Compute per fornire questa funzione; sebbene sia possibile configurare il nodo Compute per controllare la selezione e l'instradamento dei messaggi, il nodo Filter fornisce delle prestazioni migliori.

FlowOrder
E' possibile connettere i terminali di questo nodo per forzare l'elaborazione del messaggio da parte di una sequenza di nodi, seguita da una seconda sequenza di nodi.
Inizio modificaPassthroughFine modifica
Inizio modificaUtilizzare il nodo Passthrough per supportare la creazione di versioni di un flusso secondario durante il runtime. Il nodo Passthrough consente di aggiungere un'etichetta al flusso o al flusso secondario del messaggio. Combinando questa etichetta con la sostituzione della parola chiave dal sistema di controllo versione, è possibile identificare quale versione di un flusso secondario è inclusa in un flusso di messaggi distribuito. È possibile utilizzare questa etichetta per i propri scopi. Se sono state incluse le parole chiave della versione corrette nell'etichetta, è possibile visualizzare il valore dell'etichetta:
  • Memorizzata in un file BAR (broker archive) utilizzando il comando mqsireadbar
  • Distribuita a un determinato broker, sulle proprietà di un flusso di messaggi distribuito in Message Brokers Toolkit
  • Durante il run time, se si abilita la traccia utente per tale flusso di messaggi.
Fine modifica
RouteToLabel e Label
E' possibile definire un elenco di destinazioni in un nodo Compute su cui agisca il nodo RouteToLabel, che interroga le destinazioni e trasmette il messaggio al nodo Label corrispondente.
ResetContentDescriptor
E' possibile impostare le nuove proprietà del messaggio utilizzate quando il flusso di bit del messaggio viene successivamente analizzato dal nodo seguente nel flusso di messaggi.

Si potrebbe desiderare che un processo batch venga eseguito ogni giorno ad un'ora specifica o si potrebbe desiderare che le informazioni vengano elaborate e pubblicate a intervalli prefissati (ad esempio, i tassi di cambio in valuta estera sono calcolati e inviati alle banche) o si potrebbe desiderare di intraprendere un'azione di ripristino se alcune transazioni non sono state completate entro un tempo definito. In tutti questi casi vengono forniti due nodi di timeout (TimeoutControl e TimeoutNotification).

TimeoutControl
Utilizzare un nodo TimeoutControl e un nodo TimeoutNotification insieme in un flusso di messaggi per controllare eventi che si verificano ad un'ora specifica o ad intervalli di tempo definiti. Il nodo TimeoutControl riceve un messaggio di input che contiene una richiesta di timeout. Questo messaggio di input viene convalidato e memorizzato (tutto il messaggio o una parte) per essere trasmesso da un nodo associato TimeoutNotification nel flusso di messaggi. Il messaggio di input viene trasmesso invariato anche al nodo successivo nel flusso di messaggi.

è possibile associare più di un nodo TimeoutControl al nodo TimeoutNotification.

TimeoutNotification
Utilizzare un nodo TimeoutNotification autonomo per creare messaggi che sono trasmessi a orari o intervalli di tempo configurati al nodo successivo nel flusso di messaggi per un'ulteriore elaborazione.
Raccolta di richieste

E' possibile raccogliere richieste e risposte correlate utilizzando i nodi AggregateControl, AggregateReply e AggregateRequest. Utilizzare questi nodi per creare diverse richieste in risposta a un messaggio di input, per controllare e coordinare le risposte ricevute in risposta a quelle richieste e per mettere insieme le informazioni fornite dalle risposte per procedere nell'elaborazione.

Gestione e notifica degli errori

E' possibile utilizzare i nodi che influenzano la gestione e la notifica degli errori:

Trace
Quando si include un nodo Trace, è possibile creare una o più voci di traccia per registrare cosa sta accadendo nel flusso di messaggi in questo punto.
TryCatch
Quando si include un nodo TryCatch, è possibile controllare l'elaborazione dell'errore quando vengono generate delle eccezioni.
Throw
Quando si include un nodo Throw, è possibile forzare la generazione di un'eccezione e specificare l'identità dell'eccezione per facilitare la diagnosi del problema.

Ad eccezione dei nodi Compute, Extract e Mapping, il messaggio di input e il messaggio di output ricevuti da un nodo sono identici.

Concetti correlati
Panoramica dei flussi di messaggi
Supporto per l'applicazione utente finale
Struttura ad albero LocalEnvironment
Attività correlate
Impostazione di DB2
Progettazione di un flusso di messaggi
Accesso ai database dai flussi di messaggi
Creazione di un flusso di messaggi
Definizione del contenuto del flusso di messaggi
Utilizzo dei nodi per prendere decisioni
Distribuzione
Riferimenti correlati
Comando mqsisetdbparms
Nodi integrati
Supporto per l'applicazione utente finale
Informazioni particolari | Marchi | Download | Libreria | Supporto | Commenti
Copyright IBM Corporation 1999, 2006 Ultimo aggiornamento: ago 17, 2006
ac00330_