Scribble サンプルは、パブリッシュ/サブスクライブ・タイプのメッセージングを使用して、データをトランスポートします。詳細については、WebSphere Message Broker の資料で パブリッシュ/サブスクライブ・メッセージングについて調べてください。
ScribblePublisher および ScribbleSubscriber は、WebSphere MQ トランスポートまたは WebSphere MQ リアルタイム・トランスポートを使用してパブリケーション・メッセージをトランスポートできます。メッセージは、個々のアプリケーションの始動時に選択したトランスポートのタイプに応じてフォーマット設定され、そのメッセージ・フォーマットによって、メッセージがメッセージ・フローに出入りする方法が決定されます。メッセージのフォーマットには関係なく、すべてのパブリケーション・メッセージはメッセージ・フローを移動します。
Scribble サンプルは以下のアクションを実行します。
以下のセクションでは、サンプルのリソースを詳細に説明しています。
Scribble サンプルは、2 つのフォーマットの JMS メッセージを使用します。
すべてのメッセージには標準メッセージ・テンプレートがあり、以下の部分がそのテンプレートに含まれています。
<map> <x1>point</x1> <y1>point</y1> <x2>point</x2> <y2>point</y2> </map>
ScribblePublisher アプリケーションが Real-time タイプのメッセージ・トランスポートを使用してメッセージをパブリッシュする場合のパブリケーション・メッセージの形式は、ScribblePublisher が WebSphere MQ タイプのメッセージ・トランスポートを使用してメッセージをパブリッシュする場合とは異なります。しかし、ScribblePublish メッセージ・フローの Filter ノードで解析できるのは、WebSphere MQ トランスポート用の形式のメッセージだけです。それで Real-time Input ノードでは、メッセージ・フローのノードがメッセージを解析できるようにするため、Real-time メッセージ・フォーマットが WebSphere MQ メッセージに変換されます。
メッセージ・フローの Publication ノードは、WebSphere MQ メッセージング・トランスポートを使用する ScribbleSubscriber アプリケーションに、WebSphere MQ メッセージをパブリッシュします。しかし、ScribbleSubscriber がリアルタイム・トランスポートを使用する場合、Publication ノードは、メッセージをパブリッシュする際にメッセージ・フォーマットを Real-time に変換します。
詳しくは、WebSphere Message Broker の資料で、JMS ドメインについて参照してください。
下の図は、Scribble サンプルでパブリケーション・メッセージを処理する ScribblePublish メッセージ・フローを示しています。
下の表では、ScribblePublish メッセージ・フローで使用されるノードのタイプをリストしています。
ノード・タイプ | ノード名 |
---|---|
MQInput | SCRIBBLE_PUBLICATION |
Real-timeInput | Real-timeInput |
Filter | Filter On Topic |
Compute | Invert Coordinates |
Publication | Publication |
詳しくは、WebSphere Message Broker の資料で、ScribblePublish メッセージ・フローのノードについて参照してください。
ScribblePublish メッセージ・フローは、ScribblePublisher アプリケーションがパブリッシュした座標を変換し、その新しい座標を ScribbleSubscriber アプリケーションにパブリッシュします。詳しくは、WebSphere Message Broker の資料で、メッセージ・フローとメッセージ変換について参照してください。
ScribblePublish メッセージ・フローは以下のアクションを実行します。
メッセージは、パブリッシャー・アプリケーションおよびサブスクライバー・アプリケーションで使用されるメッセージング・トランスポートには関係なく、説明のとおりにメッセージ・フローを移動します。しかし、メッセージ・フローの Filter ノードと Compute ノードで解析できるのは、WebSphere MQ トランスポート用の形式のメッセージだけなので、Real-timeInput ノードでは Real-time メッセージを WebSphere MQ メッセージに変換します。同じように、Publication ノードが WebSphere MQ メッセージを Real-time ポートにパブリッシュする場合には、それらのメッセージは Real-time メッセージに変換されます。
ScribblePublish メッセージ・フローで使用される ESQL をワークベンチで表示するには、次のようにします。
Filter On Topic ノードの ESQL は ScribblePublish_Filter モジュールに含まれ、Invert Coordinates ノードの ESQL は ScribblePublish_Compute モジュールに含まれます。詳しくは、WebSphere Message Broker の資料で、ESQL について参照してください。
ScribblePublisher アプリケーションと ScribbleSubscriber アプリケーションは、情報を JMS メッセージに入れてパブリッシュします。それらのアプリケーションは、WebSphere MQ または Real-time メッセージング・トランスポートを使用してメッセージをトランスポートできます。
Scribble アプリケーションでパブリケーション・メッセージのトランスポートに WebSphere MQ を使用する場合、このアプリケーションは、下記の表に示すように WebSphere MQ ローカル・キューと対話します。
キュー | メッセージ・フローによるキューの使用方法 |
---|---|
SCRIBBLE_PUBLICATION | メッセージ・フローは、ScribblePublisher アプリケーションがキューにパブリッシュしたイベント・パブリケーションを取得します。 |
SYSTEM.JMS.ND.SUBSCRIBER.QUEUE | メッセージ・フローは、ScribbleSubscriber アプリケーションのキュー上にパブリケーションを入れ、ブローカーにパブリッシュします。 |
WebSphere MQ についての詳細は、WebSphere MQ 製品資料を参照してください。
Scribble アプリケーションでパブリケーション・メッセージのトランスポートに Real-time を使用する場合、WebSphere MQ ローカル・キューと対話することはありません。 その場合、ScribblePublisher は Real-time ポートにパブリッシュし、ScribbleSubscriber は同じ Real-time ポートからパブリケーションを取得します。このサンプルの Real-time ポート番号は 1566 です。詳しくは、WebSphere Message Broker の資料で、WebSphere MQ リアルタイム・トランスポートについて参照してください。