メッセージ・フローの作成
Video メッセージ・フローが提供されていますが、必要な場合は、メッセージ・フローを独自に作成することができます。
Video メッセージ・フローを作成するには、以下の手順に従ってください。
以下ステップのうちのいくつかについては、詳細な指示があります。
その指示にアクセスするには、各ステップの最後にあるリンクをクリックしてください。
- 「ブローカー・アプリケーション開発」パースペクティブに切り替えます。
- Video Message Flows という名前の新しいメッセージ・フローのメッセージ・フロー・プロジェクトを作成します。
その方法については、メッセージ・フロー・プロジェクトの作成を参照してください。
- Video_Test という名前の新規メッセージ・フローを作成します。
その方法については、メッセージ・フローの作成を
参照してください。
- メッセージ・フロー・エディターで、次の表にリストされているノードを
追加して名前変更します。
その方法については、ノードの追加を
参照してください。
ノード・タイプ |
ノード名 |
MQInput |
VIDEO_XML_IN |
MQInput |
VIDEO_TDS_IN |
MQInput |
VIDEO_CWF_IN |
MQOutput |
VIDEO_OUT |
MQOutput |
VIDEO_FAIL |
Compute |
Extract Fields |
- 次の表に示されているように、ノードを接続します。
その方法については、ノードの接続を
参照してください。
ノードが正しく接続されたかどうかを確認するには、Video メッセージ・フローについての図を
参照してください。
ノード名 |
ターミナル |
接続先のノード |
VIDEO_XML_IN |
Failure |
VIDEO_FAIL |
Out |
Extract Fields |
Catch |
VIDEO_FAIL |
VIDEO_TDS_IN |
Failure |
VIDEO_FAIL |
Out |
Extract Fields |
Catch |
VIDEO_FAIL |
VIDEO_CWF_IN |
Failure |
VIDEO_FAIL |
Out |
Extract Fields |
Catch |
VIDEO_FAIL |
Extract Fields |
Out |
VIDEO_OUT |
- 次の表に示されているように、ノードのプロパティーを構成します。
この表に代替値が示されていなければ、すべてのプロパティーに関してデフォルト値を受け入れます。
その方法については、ノードの構成を参照してください。
VIDEO_XML_IN、VIDEO_TDS_IN、および VIDEO_CWF_IN ノードの場合、メッセージ・セットの ID プロパティーを設定する必要があります。
すべてのメッセージ・セット
には、固有 ID があります。
作成したメッセージ・セットの ID を検出するには、次のようにします。
- 「リソース・ナビゲーター」のナビゲーション・ツリーで次のように展開します。
「Video Messages」>「Video」>「messageSet.mset」。
- 「messagetSet.mset」をダブルクリックして、開きます。
- 固有なメッセージ・セット ID が、「メッセージ・セット ID」フィールドに表示されます。
ノード名 |
ページ |
プロパティー |
値 |
VIDEO_XML_IN |
基本 |
キュー名 |
VIDEO_XML_IN |
デフォルト |
メッセージ・ドメイン |
MRM |
デフォルト |
メッセージ・セット |
(固有なメッセージ・セット ID を選択) |
デフォルト |
メッセージ・タイプ (Message Type) |
Customer |
デフォルト |
メッセージ・フォーマット (Message Format) |
XML1 |
VIDEO_TDS_IN |
基本 |
キュー名 |
VIDEO_TDS_IN |
デフォルト |
メッセージ・ドメイン |
MRM |
デフォルト |
メッセージ・セット |
(固有なメッセージ・セット ID を選択) |
デフォルト |
メッセージ・タイプ (Message Type) |
Customer |
デフォルト |
メッセージ・フォーマット (Message Format) |
TDS1 |
VIDEO_CWF_IN |
基本 |
キュー名 |
VIDEO_CWF_IN |
デフォルト |
メッセージ・ドメイン |
MRM |
デフォルト |
メッセージ・セット |
(固有なメッセージ・セット ID を選択) |
デフォルト |
メッセージ・タイプ (Message Type) |
Customer |
デフォルト |
メッセージ・フォーマット (Message Format) |
CWF1 |
VIDEO_FAIL |
基本 |
キュー名 |
VIDEO_FAIL |
Extract Fields |
基本 |
ESQL モジュール |
Video_Test_Compute |
VIDEO_OUT |
基本 |
キュー名 |
VIDEO_OUT |
- 以下の ESQL コード・モジュールを Video_Test.esql ファイルに追加します。
ESQL コードは、コピーして esql ファイルに直接貼り付けることもできます。
方法については、ESQL の開発を参照してください。 CREATE COMPUTE MODULE Video_Test_Compute
CREATE FUNCTION Main() RETURNS BOOLEAN
BEGIN
-- This ESQL extracts some of the fields from the input message
-- just to demonstrate the references used for fields in different
-- namespaces
SET OutputRoot = InputRoot;
DECLARE addr NAMESPACE 'http://www.ibm.com/AddressDetails';
DECLARE brw NAMESPACE 'http://www.ibm.com/BorrowedDetails';
DECLARE I INTEGER;
SET OutputRoot.MRM.Name = InputRoot.MRM.Name;
SET OutputRoot.MRM.addr:Address = InputBody.addr:Address;
IF InputRoot.MRM.ID ='P' THEN
SET OutputRoot.MRM.PassportNo = InputBody.PassportNo;
ELSEIF InputRoot.MRM.ID ='D' THEN
SET OutputRoot.MRM.DrivingLicenseNo=InputBody.DrivingLicenseNo;
ELSEIF InputRoot.MRM.ID ='C' THEN
SET OutputRoot.MRM.CreditCardNo=InputBody.CreditCardNo;
END IF;
SET I=1;
WHILE I<= CARDINALITY(InputBody.brw:Borrowed.*[]) DO
SET OutputRoot.MRM.brw:Borrowed[I].VideoTitle = InputBody.brw:Borrowed[I].VideoTitle;
SET OutputRoot.MRM.brw:Borrowed[I].DueDate=InputBody.brw:Borrowed[I].DueDate + INTERVAL '1' DAY;
SET OutputRoot.MRM.brw:Borrowed[I].Cost=InputBody.brw:Borrowed[I].Cost*2;
SET I=I+1;
END WHILE;
SET OutputRoot.MRM.Magazine = InputBody.Magazine;
RETURN TRUE;
END;
END MODULE
サンプルのホームに戻る