La struttura ad albero Environment fa parte della struttura ad albero logica del messaggio in cui è possibile memorizzare le informazioni mentre il messaggio passa attraverso il flusso di messaggi.
La root della struttura ad albero Environment viene denominata Environment. Questa struttura ad albero è sempre presente nel messaggio di input; una struttura ad albero Environment vuota è creata quando il nodo di input riceve e analizza un messaggio. E' possibile utilizzare questa struttura ad albero come si preferisce e crearne sia il contenuto che la struttura.
Esiste una situazione in cui WebSphere Message Broker fa riferimento (ma non lo crea mai) ad un campo in questa struttura ad albero. Se è stata richiesta la raccolta dati per statistiche e account del flusso di messaggi ed è stato indicato che è necessario il supporto di base per l'origine di account, il broker controlla se esiste il campo Environment.Broker.AccountingOrigin. Se il campo esiste, il broker ne utilizza il valore per impostare l'origine di account per il record dei dati attuali. Per ulteriori informazioni circa l'utilizzo di questo campo, consultare Impostazione origine account di statistiche e account del flusso di messaggi. (Confrontare con Struttura ad albero LocalEnvironment, che il broker utilizza in diverse situazioni.)
La struttura ad albero Environment si differenzia dalla struttura ad albero LocalEnvironment in quanto per tutto il flusso di messaggi viene mantenuta una singola istanza di tale struttura. Se si include un nodo Compute nel flusso di messaggi, non è necessario specificare se si desidera che la struttura ad albero Environment sia inclusa nel messaggio di output. Questo avviene automaticamente e l'intero contenuto della struttura ad albero Environment di input è conservato nella struttura ad albero Environment di output, soggetto a qualsiasi modifica effettuata utilizzando ESQL nel nodo. Tutte le modifiche che si effettuano, sono disponibili per i nodi successivi nel flusso di messaggi e per i nodi precedenti se il messaggio torna indietro (ad esempio, ad un nodo FlowOrder o TryCatch).
Si consiglia di creare informazioni nella struttura ad albero Environment all'interno di una struttura ad albero secondaria denominata Variables (anche se questa non viene applicata).
Un esempio di struttura ad albero Environment è mostrato di seguito.
E' possibile utilizzare le seguenti istruzioni ESQL per creare il contenuto mostrato sopra.
SET Environment.Variables = ROW('granary' AS bread, 'riesling' AS wine, 'stilton' AS cheese); SET Environment.Variables.Colors[] = LIST{'yellow', 'green', 'blue', 'red', 'black'}; SET Environment.Variables.Country[] = LIST{ROW('UK' AS name, 'pound' AS currency), ROW('USA' AS name, 'dollar' AS currency)};
Quando l'elaborazione del flusso di messaggi è completata, la struttura ad albero Environment viene eliminata.