メッセージ・フローの作成

Video Rental サンプルのメッセージ・フローが提供されていますが、 メッセージ・フローを独自に作成したい場合は、次のようにします。

  1. Video Message Flows という名前の新しいメッセージ・ブローカー・プロジェクトを作成します。 その方法については、メッセージ・ブローカー・プロジェクトの作成を参照してください。
  2. Video_Test という名前の新規メッセージ・フローを作成します。 その方法については、メッセージ・フローの作成を参照してください。
  3. メッセージ・フロー・エディターで、次の表にリストされているノードを追加して名前変更します。 手順については、WebSphere Message Broker 資料の メッセージ・フロー・ノードの追加を参照してください。
    パレット・ドロワー ノード・タイプ ノード名
    WebSphere MQ MQInput VIDEO_XML_IN
    WebSphere MQ MQInput VIDEO_TDS_IN
    WebSphere MQ MQInput VIDEO_CWF_IN
    WebSphere MQ MQOutput VIDEO_OUT
    WebSphere MQ MQOutput VIDEO_FAIL
    Transformation Compute Extract Fields
  4. 次の表に示されているように、ノードを接続します。 手順については、WebSphere Message Broker 資料の メッセージ・フロー・ノードの接続を参照してください。
    ノードが正しく接続されたかどうかを確認するには、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
  5. 次の表に示されているように、ノードのプロパティーを構成します。 この表に代替値が示されていなければ、すべてのプロパティーに関してデフォルト値を受け入れます。 手順については、WebSphere Message Broker 資料の メッセージ・フロー・ノードの構成を参照してください。
    VIDEO_XML_IN ノード、VIDEO_TDS_IN ノード、および VIDEO_CWF_IN ノードの場合、メッセージ・セットの ID プロパティーを設定する必要があります。すべてのメッセージ・セットに固有の ID があります。作成したメッセージ・セットの ID を検索するには、次のようにします。
    1. 「ブローカー開発」ビューで、ナビゲーション・ツリーを「Video Message Flows」>「Video Message Set」>「messageSet.mset」の順に展開します。
    2. 「messagetSet.mset」をダブルクリックして、開きます。
    3. 固有なメッセージ・セット ID が、「メッセージ・セット ID」フィールドに表示されます。
    ノード名 ページ プロパティー
    VIDEO_XML_IN 基本 キュー名 VIDEO_XML_IN
    入力メッセージ構文解析 メッセージ・ドメイン MRM
    入力メッセージ構文解析 メッセージ・セット (固有なメッセージ・セット ID を選択)
    入力メッセージ構文解析 メッセージ・タイプ Customer
    入力メッセージ構文解析 メッセージ・フォーマット XML1
    VIDEO_TDS_IN 基本 キュー名 VIDEO_TDS_IN
    入力メッセージ構文解析 メッセージ・ドメイン MRM
    入力メッセージ構文解析 メッセージ・セット (固有なメッセージ・セット ID を選択)
    入力メッセージ構文解析 メッセージ・タイプ Customer
    入力メッセージ構文解析 メッセージ・フォーマット TDS1
    VIDEO_CWF_IN 基本 キュー名 VIDEO_CWF_IN
    入力メッセージ構文解析 メッセージ・ドメイン MRM
    入力メッセージ構文解析 メッセージ・セット (固有なメッセージ・セット ID を選択)
    入力メッセージ構文解析 メッセージ・タイプ Customer
    入力メッセージ構文解析 メッセージ・フォーマット CWF1
    VIDEO_FAIL 基本 キュー名 VIDEO_FAIL
    Extract Fields 基本 ESQL モジュール Video_Test_Compute
    VIDEO_OUT 基本 キュー名 VIDEO_OUT
  6. 「Video Message Flows」プロジェクトで、Video_Test.esql ファイルをダブルクリックして、ESQL エディターで開きます。以下の ESQL コード・モジュールを ESQL ファイルにコピー、および貼り付けし、ファイルを保存します。詳しくは、WebSphere Message Broker 資料の 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
  7. メッセージ・フローを保存します。
これで Video メッセージ・フローが作成されました。

サンプルのホームに戻る