Das Beispielprogramm 'JMS-Knoten' ist eine Beispielanwendung für einen Nachrichtenfluss, die veranschaulicht, wie JMSEmpfangs- und JMSSendeknoten jeweils als JMS-Nachrichtenkonsumenten und -produzenten für einen externen JMS-Provider verwendet werden können. Für das Beispielprogramm wird WebSphere MQ als JMS-Provider verwendet.
Das Beispielprogramm enthält zwei Nachrichtenflüsse: der eine stellt einen externen JMS-Provider dar, während der andere veranschaulicht, wie die JMS-Knoten in einem Broker verwendet werden. Die Rechenknoten in beiden Nachrichtenflüssen enthalten detaillierte ESQL-Kommentare, in denen exakt erläutert wird, welche Schritte zum Erreichen des erforderlichen Verhaltens ausgeführt wurden.
Dieser Nachrichtenfluss stellt einen JMS-Provider dar.
In diesem Nachrichtenfluss wird eine XML-Nachricht verwendet. Beim Weiterleiten der Nachricht durch den Nachrichtenfluss wird sie im Rechenknoten durch Hinzufügen des aktuellen Datums im Element '<Timestamp>' (Zeitmarke) geändert:
<Parent>
<First>1</First>
<SaleList>
<Invoice>
<Timestamp>2005-01-01 10:10:59</Timestamp>
.
.
.
</Invoice>
</SaleList>
<Last>Test</Last>
</Parent>
Anschließend wird die Nachricht in die Nachricht eines Produzenten umgewandelt und in einer Warteschlange eingereiht, aus der sie vom Nachrichtenfluss 'JMSInput_Publication' abgerufen wird.
In diesem Fluss ist der JMSEmpangsknoten ein Nachrichtkonsument eines externen JMS-Providers (in diesem Beispielprogramm handelt es sich hierbei um WebSphere MQ). Die empfangene Nachricht wird dann in eine Veröffentlichung umgewandelt und in die Veröffentlichungssteuerkomponente gestellt.
Der JMSEmpfangsknoten ruft die XML-Nachricht aus der Warteschlange ab und leitet sie an
den Rechenknoten weiter. Der Rechenknoten erstellt eine neue Veröffentlichungsnachricht
im Thema 'update/stock' (Aktualisierung/Börse) und gibt die gesamte Nachricht
als neue Rechnung aus.
Die Testnachricht, die zur Steuerung des Beispielprogramms verwendet wird, ist eine ganz normale XML-Nachricht, die Rechnungsdaten für einen Kunden enthält:
<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>Games</Category>
<Price>00.30</Price>
<Quantity>01</Quantity>
</Item>
<Item>
<Code>02</Code><Code>03</Code><Code>01</Code>
<Description>The Times Newspaper</Description>
<Category>Books and Media</Category>
<Price>00.20</Price>
<Quantity>01</Quantity>
</Item>
<Balance>00.50</Balance>
<Currency>Sterling</Currency>
</Invoice>
</SaleList>
<Last>Test</Last>
</Parent>