Informationen zum Beispielprogramm 'Scribble'

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:

  1. Wenn Sie die Anwendung 'Scribble-Subskribent' starten, richtet diese eine Subskription für die Themen scribble/coords und scribble/clear ein.
  2. Sobald Sie im Fenster 'Scribble-Publisher' eine Zeichnung erstellen, werden die Koordinaten Ihrer Zeichnung von 'Scribble-Publisher' zum Thema scribble/coords für den Nachrichtenfluss 'ScribblePublish' veröffentlicht.
  3. Der Nachrichtenfluss überprüft, ob die Nachricht zum Thema scribble/coords veröffentlicht wurde, und wandelt die Koordinaten in der Veröffentlichungsnachricht um.
  4. Die Anwendung 'Scribble-Subskribent' empfängt die Nachrichten, die die umgewandelten Koordinaten enthalten, da es Veröffentlichungen zum Thema scribble/coords abonniert, d. h. eine Subskription dafür eingerichtet hat.
  5. Wenn Sie in der Anwendung 'Scribble-Publisher' auf Inhalt löschen klicken, wird von dieser Anwendung eine Nachricht zum Thema 'scribble/clear' für den Nachrichtenfluss 'ScribblePublish' veröffentlicht.
  6. Die Nachrichtendaten werden vom Nachrichtenfluss nicht umgewandelt, da die Nachricht nicht zum Thema scribble/coords veröffentlicht wurde.
  7. Die Anwendung 'Scribble-Subskribent' empfängt die Nachricht jedoch, da sie für Veröffentlichungen zum Thema scribble/clear eine Subskription eingerichtet hat.

In folgenden Abschnitten werden die Ressourcen des Beispielprogramms ausführlicher erläutert:

Die Nachrichten

Das Beispielprogramm 'Scribble' verwendet zwei JMS-Nachrichtenformate:

Allen Nachrichten ist eine standardmäßige Nachrichtenschablone zugeordnet, die folgende Teile enthält:

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.

Der Nachrichtenfluss

Die folgende Abbildung zeigt den Nachrichtenfluss 'ScribblePublish', von dem die Veröffentlichungsnachrichten im Beispielprogramm 'Scribble' verarbeitet werden.

Anzeigenerfassung des Nachrichtenflusses 'ScribblePublish'.

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:

  1. Ruft die Veröffentlichungsnachricht ab. Die Art und Weise, wie der Nachrichtenfluss die Eingabenachricht abruft, ist von der Formatierung der Nachricht abhängig:
  2. Filtert die Veröffentlichungsnachricht nach deren Thema:
  3. Wandelt die Koordinaten um, die zum Thema scribble/coords veröffentlicht wurden, so dass in der Anwendung 'Scribble-Subskribent' die umgekehrten Koordinaten angezeigt werden.
  4. Gibt die Nachricht aus. Die Art und Weise, wie die Nachricht den Nachrichtenfluss verlässt, ist abhängig von der Nachrichtendomäne der Subskribentenanwendung:

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.

Der ESQL-Code

Gehen Sie folgendermaßen vor, um den ESQL-Code, der im Nachrichtenfluss 'ScribblePublish' verwendet wird, in der Workbench anzuzeigen:

  1. Wechseln Sie in der Workbench in die Perspektive 'Brokeranwendungsentwicklung'.
  2. Klicken Sie in der Ansicht 'Ressourcennavigator' doppelt auf ScribblePublish.esql, um diese Ressource im ESQL-Editor aufzurufen.

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 Nachrichtenprotokolle

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.

WebSphere MQ-Übertragung

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.

WebSphere MQ Real-time-Übertragung

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.

Symbol für die Hauptseite   Zurück zum Beginn des Beispielprogramms