L'esempio Nodi JMS è un'applicazione di esempio flusso di messaggi che mostra come utilizzare i nodi JMSInput e JMSOutput come cliente e produttore JMS rispettivamente in un provider JMS esterno. L'esempio utilizza WebSphere MQ come provider JMS.
Vi sono due flussi di messaggi nell'esempio, uno che rappresenta un provider JMS esterno ed uno che mostra un esempio di come utilizzare i nodi JMS in un broker. I nodi Compute in ogni flusso di messaggi contengono commenti ESQL dettagliati che spiegano con esattezza cosa è stato fatto per realizzare il funzionamento richiesto.
Questo flusso rappresenta un provider JMS.
Questo flusso utilizza un messaggio XML. Quando il messaggio viene trasmesso al flusso, esso viene modificato nel nodo Compute aggiungendo la data corrente nell'elemento <Timestamp>:
<Parent>
<First>1</First>
<SaleList>
<Invoice>
<Timestamp>2005-01-01 10:10:59</Timestamp>
.
.
.
</Invoice>
</SaleList>
<Last>Test</Last>
</Parent>
Il messaggio quindi viene trasformato in un messaggio produttore ed inserito in una coda perché il flusso JMSInput_Publication possa raccoglierlo.
In questo flusso, il nodo JMSInput è un cliente di messaggi in un Provider JMS esterno, che è WebSphere MQ nel presente esempio. Il messaggio ricevuto viene quindi trasformato in una pubblicazione ed inserito nel motore di pubblicazione.
Il nodo JMSInput richiama il messaggio XML dalla coda e lo trasmette al
nodo Compute. Il nodo Compute crea un nuovo messaggio di pubblicazione nell'argomento update/stock ed emette l'intero messaggio come nuova fattura.
Il messaggio di prova utilizzato per eseguire l'esempio è un messaggio XML lineare che contiene i dettagli della fattura per un cliente:
<Parent>
<First>1</First>
<SaleList>
<Invoice>
<Timestamp></Timestamp>
<Initial>T</Initial>
<Initial>D</Initial>
<Surname>Montana</Surname>
<Item><Code>00</Code>
<Code>01</Code><Code>02</Code>
<Description>Twister</Description>
<Category>Giochi</Category>
<Price>00,30</Price>
<Quantity>01</Quantity>
</Item>
<Item>
<Code>02</Code><Code>03</Code><Code>01</Code>
<Description>Il quotidiano The Times</Description>
<Category>Libri e Media</Category>
<Price>00,20</Price>
<Quantity>01</Quantity>
</Item>
<Balance>00,50</Balance>
<Currency>Sterlina</Currency>
</Invoice>
</SaleList>
<Last>Test</Last>
</Parent>