Im Beispielprogramm 'Scribble' wird die Publish/Subscribe-Nachrichtenübertragung zum Transport von Daten verwendet. Weitere Informationen finden Sie in der Dokumentation zu WebSphere Message Broker in den Themen über Publish/Subscribe-Nachrichtenübertragung.
Die Anwendungen 'Scribble-Publisher' und 'Scribble-Subskribent' können Veröffentlichungsdaten mit Hilfe der WebSphere MQ-Übertragung oder WebSphere MQ Real-time-Übertragung verarbeiten. Die Nachrichten werden dem Transporttyp gemäß formatiert, den Sie beim Starten der jeweiligen Anwendung ausgewählt haben, und über das Nachrichtenformat wird festgelegt, wie die Nachrichten in den Nachrichtenfluss eintreten und diesen wieder verlassen. Alle Veröffentlichungsnachrichten werden - ungeachtet des Nachrichtenformats - durch den Nachrichtenfluss geleitet.
Mit dem Beispielprogramm 'Scribble' wird Folgendes ausgeführt:
In folgenden Abschnitten werden die Ressourcen des Beispielprogramms ausführlicher erläutert:
Das Beispielprogramm 'Scribble' verwendet zwei JMS-Nachrichtenformate:
Allen Nachrichten ist eine standardmäßige Nachrichtenschablone zugeordnet, die folgende Teile enthält:
<map> <x1>point</x1> <y1>point</y1> <x2>point</x2> <y2>point</y2> </map>
Wenn die Anwendung 'Scribble-Publisher' Nachrichten unter Verwendung der Real-time-Nachrichtenübertragung veröffentlicht, unterscheidet sich das Format der Veröffentlichungsnachricht von dem Format, das bei Verwendung der WebSphere MQ-Nachrichtenübertragung zur Anwendung kommt. Der Filterknoten im Nachrichtenfluss 'ScribblePublish' kann jedoch nur Nachrichten syntaktisch analysieren, die für die WebSphere MQ-Übertragung formatiert wurden. Aus diesem Grund wandelt der Knoten 'Real-time Input' das Format von Real-time-Nachrichten in WebSphere MQ-Nachrichten um, damit die Knoten im Nachrichtenfluss die Nachrichten syntaktisch analysieren können.
Der Veröffentlichungsknoten im Nachrichtenfluss veröffentlicht WebSphere MQ-Nachrichten für Anwendungen des Typs 'Scribble-Subskribent', die die WebSphere MQ-Nachrichtenübertragung verwenden. Wenn 'Scribble-Subskribent' jedoch die Real-time-Übertragung verwendet, wandelt der Veröffentlichungsknoten das Format der Nachrichten bei deren Veröffentlichung in Real-time um.
Weitere Informationen finden Sie in der Dokumentation zu WebSphere Message Broker in den Themen über JMS-Domänen.
Die folgende Abbildung zeigt den Nachrichtenfluss 'ScribblePublish', von dem die Veröffentlichungsnachrichten im Beispielprogramm 'Scribble' verarbeitet werden.
In der folgenden Tabelle sind die Knotentypen aufgelistet, die im Nachrichtenfluss 'ScribblePublish' verwendet werden.
Knotentyp | Knotenname |
---|---|
MQEmpfang | SCRIBBLE_PUBLICATION |
Echtzeiteingabe | Echtzeiteingabe |
Filter | Filter On Topic (Nach Thema filtern) |
Rechnen | Invert Coordinates (Koordinaten umkehren) |
Veröffentlichung | Veröffentlichung |
Weitere Informationen finden Sie in der Dokumentation zu WebSphere Message Broker in den Themen über die Knoten im Nachrichtenfluss 'ScribblePublish'.
Der Nachrichtenfluss 'ScribblePublish' wandelt die Koordinaten um, die von der Anwendung 'Scribble-Publisher' veröffentlicht wurden, und veröffentlicht anschließend die neuen Koordinaten für die Anwendung 'Scribble-Subskribent'. Weitere Informationen finden Sie in der Dokumentation zu WebSphere Message Broker in den Themen über Nachrichtenflüsse und Nachrichtenumsetzung.
Der Nachrichtenfluss 'ScribblePublish' führt folgende Aktionen aus:
Die Nachrichten werden (wie oben beschrieben) durch den Nachrichtenfluss übergeben, und zwar unabhängig von der Nachrichtenübertragungsart, die von den Publisher- und Subskribentenanwendungen verwendet wird. Da die Filter- und Rechenknoten im Nachrichtenfluss jedoch nur Nachrichten syntaktisch analysieren können, die für die WebSphere MQ-Übertragung formatiert wurden, wandelt der Knoten für Echtzeiteingabe Real-time-Nachrichten in WebSphere MQ-Nachrichten um. Analog hierzu werden vom Veröffentlichungsknoten WebSphere MQ-Nachrichten in Real-time-Nachrichten umgewandelt, wenn er diese für den Real-time-Port veröffentlicht.
Gehen Sie folgendermaßen vor, um den ESQL-Code, der im Nachrichtenfluss 'ScribblePublish' verwendet wird, in der Workbench anzuzeigen:
Der ESQL-Code für den Knoten 'Filter On Topic' ist im Modul 'ScribblePublish_Filter' enthalten, und der ESQL-Code für den Knoten 'Invert Coordinates' befindet sich im Modul 'ScribblePublish_Compute'. Weitere Informationen finden Sie in der Dokumentation zu WebSphere Message Broker in den Themen über ESQL-Code.
Die Anwendungen 'Scribble-Publisher' und 'Scribble-Subskribent' veröffentlichen Informationen in JMS-Nachrichten. Beide Anwendungen können die Nachrichten mit Hilfe der WebSphere MQ- oder Real-time-Nachrichtenübertragung transportieren.
Wenn eine Scribble-Anwendung zur Übertragung der Veröffentlichungsnachrichten WebSphere MQ verwendet, interagiert sie mit lokalen WebSphere MQ-Warteschlangen. Dies ist in der folgenden Tabelle dargestellt.
Warteschlange | Verwendung der Warteschlange durch den Nachrichtenfluss |
---|---|
SCRIBBLE_PUBLICATION | Der Nachrichtenfluss ruft Ereignisveröffentlichungen ab, die zuvor von der Anwendung 'Scribble-Publisher' für die Warteschlange veröffentlicht wurden. |
SYSTEM.JMS.ND.SUBSCRIBER.QUEUE | Der Nachrichtenfluss reiht Veröffentlichungen in die Warteschlange ein, die von der Anwendung 'Scribble-Subskribent' abgerufen und für den Broker veröffentlicht werden können. |
Weitere Informationen zu WebSphere MQ finden Sie in der zugehörigen Produktdokumentation.
Wenn eine Scribble-Anwendung zur Übertragung ihrer Veröffentlichungsnachrichten Real-time verwendet, findet keine Interaktion mit WebSphere MQ-Warteschlangen statt. In diesem Fall werden die Nachrichten von 'Scribble-Publisher' für einen Real-time-Port veröffentlicht, und 'Scribble-Subskribent' ruft die Veröffentlichungen an diesem Real-time-Port ab. Im vorliegenden Beispielprogramm lautet die Real-time-Portnummer '1566'. Weitere Informationen finden Sie in der Dokumentation zu WebSphere Message Broker in den Themen über WebSphere MQ Real-time-Übertragung.