Pager サンプルについて

Pager サンプルの Text Messenger および SurfWatch は、異なるメッセージングのスタイルを使用してメッセージを ページャー・アプリケーションに送信する方法を例示します。 Text Messenger サンプルは、送信側アプリケーションがメッセージの宛先を知っている point-to-point メッセージングのデモを行います。一方、SurfWatch サンプルは、送信側および受信側アプリケーションが相互に切り離されているパブリッシュ/サブスクライブ・メッセージングのデモを行います。 パブリッシュ/サブスクライブ・スタイルのメッセージングは、掲示板にメッセージを書き込むことに似ています。メッセージを書き込む人は、だれがそのメッセージを読むことになるのかを必ずしも知っているわけではありません。また、そのメッセージを読む人は、掲示板にそれを書いたのがだれかを必ずしも知っているわけではありません。

このトピックでは、Pager アプリケーションに送信されたメッセージを処理するために Pager サンプルが使用する メッセージ・フローおよびメッセージ・セットについて説明します。 詳細については、WebSphere Message Broker の資料で メッセージ・フロー メッセージ・モデル、および Pager メッセージ・フローのノードについて調べてください。

Text Messenger サンプル (point-to-point メッセージング)

Text Messenger アプリケーションを使用してメッセージを Pager サンプルに送信する場合、メッセージは TextMessenger メッセージ・フローによって処理されます。メッセージ・フローは、メッセージ・テキストの末尾に「Powered by IBM」というテキストを付加し、それを Pager アプリケーションに渡します。

TextMessenger メッセージ・フロー

次の図は、TextMessenger メッセージ・フローを示しています。

TextMessenger メッセージ・フローの画面取り

下の表では、TextMessenger メッセージ・フローで使用されるノードのタイプをリストしています。

ノード・タイプ ノード名
MQInput TEXTMESSENGER
Mapping Add IBM Text
MQOutput TEXTMESSENGER_FAIL; PAGER

TextMessenger メッセージ・フローは以下のアクションを実行します。

  1. メッセージが Text Messenger アプリケーションによって TEXTMESSENGER キューに入れられると、TEXTMESSENGER ノードはメッセージをキューから受け取ります。
  2. TEXTMESSENGER ノードは、メッセージの構造が定義されているメッセージ・セットの情報を参照して、メッセージの構造が 正しいことを確認します。 メッセージの構造が正しい場合、TEXTMESSENGER ノードは Out ターミナルを介してそのメッセージを Add IBM Text ノードに渡します。 あるいは、メッセージの識別に問題があった場合、TEXTMESSENGER ノードは Failure ターミナルを介してそのメッセージを TEXTMESSENGER_FAIL ノードに渡します。 このノードは、メッセージを TEXTMESSENGER_FAIL キューに入れます。
  3. Add IBM Text ノードは、メッセージ・テキストに「Powered by IBM」という語を付加する ことにより、メッセージを変換します。 Add IBM Text ノードは、メッセージ・セットを参照してメッセージの構造を理解 (つまり構文解析 ) します。
  4. PAGER ノードは、変更を加えたメッセージを PAGER キューに入れます。Pager アプリケーションは、その後 PAGER キューからメッセージを受け取ります。

ページャー・メッセージの定義

メッセージにテキストを付加するとき、Text Messenger メッセージ・フローはメッセージの構造を理解していなければなりません。メッセージの構造は外部メッセージ・セットで定義され、これをメッセージ・フローが参照します。このメッセージ定義なしでは、メッセージ・フローの中のより複雑なノード (Mapping ノード (Add IBM Text) など) は受信した情報を処理できなくなります。Mapping ノードは、メッセージを処理するために、メッセージ定義の情報を参照する必要があります。

例えば、「This is my message to the pager.」というメッセージを Text Messenger アプリケーションを使って 送信すると、メッセージ・フローに入るメッセージは次のようになります。

<pager>
<text>This is my message to the pager.</text>
</pager>

Mapping ノード Add IBM Text は、「Powered by IBM」というテキストをメッセージ・テキストの 末尾に付加することにより、メッセージを変更します。 メッセージ・フローからメッセージが出て行く際には、次のようになっています。

<pager> 
<text>This is my message to the pager. Powered by IBM.</text>
</pager>

SurfWatch サンプル (パブリッシュ/サブスクライブ・メッセージング)

Surf Report Publisher アプリケーションがメッセージをパブリッシュすると、メッセージは SurfWatch メッセージ・フローに よって処理されます。 SurfWatch メッセージ・フローは、サーフ・レポート・メッセージをプレーンなページャー・メッセージに変換してから、 各メッセージを海岸の名前に対応するトピックにパブリッシュします。 Surf Report Publisher アプリケーションを使用してサブスクライブしたトピックのメッセージは、Pager アプリケーションによって 受け取られます。 詳細については、 WebSphere Message Broker の資料でパブリッシュ/サブスクライブ・メッセージングについて調べてください。

SurfWatch メッセージ・フロー

下の図は、SurfWatch サンプル・メッセージ・フローを示しています。

SurfWatch メッセージ・フローの画面取り

下の表では、SurfWatch メッセージ・フローで使用されるノードのタイプをリストしています。

ノード・タイプ ノード名
MQInput SURFWATCH
Mapping Change The Message
MQOutput SURFWATCH_FAIL
Publication Publish Reports

SurfWatch メッセージ・フローは以下のアクションを実行します。

  1. メッセージが Surf Report Publisher アプリケーションによって SURFWATCH キューに入れられると、SURFWATCH ノードはキューからメッセージを受け取ります。
  2. SURFWATCH ノードは、メッセージの構造が定義されているメッセージ・セットの情報を参照して、メッセージの構造が正しいことを確認します。メッセージの構造が正しい場合、SURFWATCH ノードは Out ターミナルを介してそのメッセージを Change The Message ノードに渡します。あるいは、メッセージの識別に問題があった場合、SURFWATCH ノードは Failure ターミナルを介してそのメッセージを SURFWATCH_FAIL ノードに渡します。このノードはメッセージを SURFWATCH_FAIL キューに入れます。
  3. Change The Message ノードは、サーフ・レポート・メッセージをプレーンなページャー・メッセージに変換することにより、メッセージを変換します。Change The Message ノードは、メッセージ・セットを参照して入力メッセージの構造を理解 (つまり構文解析 ) し、出力メッセージを構成します。
  4. Publish Reports ノードは、メッセージをパブリッシュするトピック名と一致するサブスクリプションがないか検査します。そのトピックのサブスクリプションが存在する場合、Publish Reports ノードはメッセージを PAGER キューにパブリッシュします。Pager アプリケーションは、その後 PAGER キューからメッセージを受け取ります。

SurfWatch および Pager メッセージの定義

サーフ・レポート・フォーマットからページャー・フォーマットへメッセージを変換する際、SurfWatch メッセージ・フローは、サーフ・レポート入力メッセージの構造とページャー出力メッセージの構造を理解していなければなりません。メッセージの構造は外部メッセージ・セットで定義され、これをメッセージ・フローが参照します。これらのメッセージ定義なしでは、Mapping ノード (Change The Message) などのより複雑なノードは受信した情報を処理できなくなります。Mapping ノードは、メッセージを処理するために、メッセージ定義の情報を参照する必要があります。

たとえば、Haleiwa 海岸についてのサーフ・レポートをサブスクライブするために Surf Report Publisher アプリケーションを使用した場合、メッセージ・フローに入るメッセージは次のようになります。

<SurfWatch>
<TimeDate>21.05.03 09:52:13</TimeDate>
<Break>Pipeline</Break>
<Waves>4</Waves>
<Wind>Side-offshore</Wind>
</SurfWatch>

Mapping ノード Change The Message により、 メッセージはサーフ・レポート・メッセージからプレーンなページャー・メッセージに変換されます。メッセージ・フローからメッセージが出て行く際には、次のようになっています。

<Pager>
<text>SurfWatch 21.05.03 09:52:13 Pipeline: Side-offshore, waves 4m.</text>
</Pager>

メインページのアイコン   サンプルのホームに戻る