Questo argomento contiene le seguenti sezioni:
Utilizzare il nodo FlowOrder per controllare l'ordine in cui un messaggio viene elaborato da un flusso di messaggi. Il messaggio di input è trasmesso al primo terminale di output e la sequenza dei nodi connessi a questo terminale elabora il messaggio. Quando l'elaborazione del messaggio è completa, il controllo ritorna al nodo FlowOrder. Se l'elaborazione del messaggio termina con esito positivo, il messaggio di input è trasmesso al secondo terminale di output e la sequenza dei nodi connessi a questo terminale elabora il messaggio.
Il messaggio trasmesso attraverso il secondo terminale di output è il messaggio di input; questo non è modificato in alcun modo, anche se la sequenza dei nodi connessi al primo terminale ha modificato il messaggio.
E' possibile includere questo nodo in un flusso di messaggi in qualunque punto in cui è importante l'ordine di esecuzione dei nodi successivi.
Se si connettono più nodi al primo terminale di output, al secondo terminale di output o ad entrambi, l'ordine in cui vengono elaborate le connessioni multiple su ogni terminale è casuale imprevedibile. Tuttavia, il messaggio è trasmesso a tutti i nodi di destinazione connessi al primo terminale di output, che si devono completare tutti con esito positivo, prima che il messaggio sia trasmesso a qualsiasi nodo connesso al secondo terminale di output.
Le prestazioni del flusso di messaggi possono trarre vantaggio dall'inclusione del nodo FlowOrder in una situazione in cui una sequenza di elaborazione richiesta per un messaggio è sensibilmente più corta di un'altra. Se si connette la sequenza più corta al primo terminale, qualsiasi errore viene identificato rapidamente e impedisce l'esecuzione della una seconda sequenza più lunga di elaborazione.
Il nodo FlowOrder è rappresentato nel workbench dalla seguente icona:
Per avere un esempio di come utilizzare questo nodo, ipotizziamo che la propria società riceva ordini da clienti che utilizzano Internet. Quando si riceve l'ordine, questo viene elaborato dai nodi connessi al primo terminale di un nodo FlowOrder per addebitare il livello di merce in magazzino nel database ed emettere una fattura. Viene eseguito una verifica per controllare se il cliente ha indicato che i propri dettagli possono essere inviati ad altri fornitori. Se il cliente ha indicato che non desidera che queste informazioni vengano divulgate, questo controllo ha esito negativo e non si verifica una ulteriore elaborazione. Se il cliente chiede che i propri dettagli siano condivisi con altre società (la verifica, cioè ha esito positivo), il messaggio di input è trasmesso al secondo terminale in modo che i dettagli del cliente possano essere aggiunti ad un indirizzario di posta elettronica.
Una volta inserita un'istanza del nodo FlowOrder in un flusso di messaggi, è possibile configurarla. Fare clic con il tasto destro del mouse sul nodo nella vista dell'editor e fare clic su Proprietà. Vengono visualizzate le proprietà del nodo.
Tutte le proprietà obbligatorie, per le quali è necessario immettere un valore (quelle per le quali non è specificato un valore predefinito), sono contrassegnate con un asterisco nella finestra di dialogo delle proprietà.
Configurare il nodo FlowOrder come segue:
Fare clic su Annulla per chiudere la finestra di dialogo ed eliminare tutte le modifiche apportate alle proprietà.
Il nodo FlowOrder non dispone di proprietà configurabili che hanno effetti sulle sue operazioni. Si stabilisce la sua modalità operativa connettendo il primo e il secondo terminale di output ai nodi successivi nel flusso di messaggi.
Il messaggio trasmesso attraverso il secondo terminale è identico a quello trasmesso attraverso il primo terminale. Tutte le modifiche introdotte come risultato della prima fase di elaborazione sono ignorate da questo nodo.
Se la prima fase di elaborazione ha esito negativo, il nodo FlowOrder non riprende il controllo e non trasmette il messaggio attraverso il secondo terminale.
I terminali del nodo The FlowOrder sono descritti nella seguente tabella.
Terminale | Descrizione |
---|---|
In | Il terminale di input che accetta un messaggio affinché venga elaborato dal nodo. |
Failure | Il terminale di output a cui è instradato il messaggio se si rileva un errore durante il calcolo. |
Primo | Il terminale di output a cui è instradato il messaggio di input nella prima istanza. |
Secondo | Il terminale di output a cui è instradato il messaggio di input nella seconda istanza. Il messaggio è instradato a questo terminale solo se l'instradamento sul primo ha esito positivo. |
La seguente tabella descrive le proprietà del nodo; la colonna con l'intestazione O indica se la proprietà è obbligatoria (contrassegnata con un asterisco nella finestra di dialogo delle proprietà se è necessario immettere un valore quando non è specificato alcun valore predefinito), la colonna con l'intestazione C indica se la proprietà è configurabile (è possibile modificare il valore quando si aggiunge un flusso di messaggi al file bar per distribuirlo).
Le proprietà Descrizione del nodo FlowOrder sono descritte nella seguente tabella.
Proprietà | O | C | Valore predefinito | Descrizione |
---|---|---|---|---|
Descrizione breve | No | No | Una breve descrizione del nodo. | |
Descrizione completa | No | No | Testo che descrive lo scopo del nodo nel flusso di messaggi. |