単純メッセージのエンリッチメント

概説

: メッセージ・フロー、メッセージ・セット、エレメントおよび属性に対して使用されている名前と値、および式とコード・サンプルは、例として使用されているに過ぎません。
このシナリオでは反復インスタンスを使用します。このシナリオには以下のマッピング機能が必要です。
  • MRM イン、MRM アウト (非ネーム・スペース)
  • 単純および複合エレメントのソースとターゲットをマップ
  • 同じエレメントのソースとターゲットをマップ
  • 異なるエレメントのソースとターゲットをマップ
  • 属性のソースとターゲットをマップ
  • エレメントの一方向へのマップ (編集マッピング)
  • 属性の一方向へのマップ (編集マッピング)
  • 数値フィールド・マッピングでの演算の実行
  • 反復する単純エレメントの単一インスタンスのマップ
  • 反復する単純エレメントのすべてのインスタンスのマップ
  • MQRFH2 ヘッダーなし

Message Broker ツールを使用して、メッセージ・フローとメッセージ・セットを作成するとともに、bar (ブローカー・アーカイブ) ファイルを作成およびデプロイします。さらに、構成マネージャーとブローカーを作成する必要もあります。Message Broker ツール内で、構成マネージャーへのドメイン接続を作成し、ドメイン内にブローカーを作成します。MQRFH2 ヘッダーを (オプションで) 入れることのできるインスタンス・メッセージを入力するためのメソッド (argoput、rfhutil など) も必要です。

ステップ 1. 単純/複合エレメント・マッピング、同一のソースとターゲット、異なるソースとターゲットのエレメント、および属性のソースとターゲットを対象としたフローとメッセージ・モデルを開発し、いくつかのフィールド値を変更して、インスタンス文書を作成する。

  1. アプリケーション開発パースペクティブから、メッセージ・セット・プロジェクト、メッセージ・セット MAPPING3_SIMPLE_messages (ネーム・スペースは有効、XML ワイヤー形式に設定)、およびメッセージ定義ファイル (ターゲット・ネームスペースなし) SIMPLE を作成します。
  2. 以下の構造を持つメッセージ addev1 を作成します。
    addev1
            ssat          (xsd:string) local attribute
            ssel          (xsd:string) local element
            dsel1        (xsd:string) local element
            atel           local complex element
                 latt       (xsd:string) attribute
            cel1          local complex element
                 intel     (xsd:int) local element
                 strel     (xsd:string) local element
            dsel2         (xsd:string) global element
            cel2           (cel2ct) global complex type
                intel        (xsd:int) local element
                fltel         (xsd:float) local element
  3. メッセージ・フロー・プロジェクト MAPPING3_SIMPLE_flows を作成します。
  4. メッセージ・フロー addev1 を作成し、これに MQInput -> Mapping -> MQOutput を含めます。
  5. メッセージ・マッピング・エディターからマップを開いて、ソースとターゲットの両方にメッセージ addev1 を選択します。
  6. 以下のように、両方のメッセージのすべてのレベルを展開して接続します。
    ssat --- ssat
    ssel --- ssel
    dsel1 -- dsel2
    latt ---- latt
    cel1 --- cel1
    dsel2 -- dsel1
    (cel2)
       intel ---- fltel
       fltel ---- intel
  7. スプレッドシート・エディターで、以下の式を設定します。
    dsel1  |  esql:upper($source/addev1/dsel2)
    @latt  |   esql:upper($source/addev1/atel/@latt)
    (cel2)
        intel   |  $source/addev1/cel2/fltel + 10
        fltel    |  $source/addev1/cel2/intel div 10
  8. 適切な RFH2 ヘッダーおよび以下のデータを持つインスタンス文書を作成します。
    <addev1 ssatt="hello">
    <ssel>this</ssel>
    <dsel1>first</dsel1>
    <atel latt="attrib"/>
    <cel1>
    <intel>2</intel>
    <strel>lcomp</strel>
    </cel1>
    <dsel2>second</dsel2>
    <cel2>
    <intel>252</intel>
    <fltel>3.89E+1</fltel>
    </cel2>
    </addev1>
ステップ 1 の結果: メッセージ・セット MAPPING3_SIMPLE_messages が作成され、メッセージ addev1 が取り込まれます。マッピング addev1_Mapping.msgmap を含むメッセージ・フロー addev1 が、プロジェクト MAPPING3_SIMPLE_flows に作成されます。インスタンス・メッセージを含むファイルが作成されます。

ステップ 2. メッセージ・セットおよびメッセージ・フローをデプロイし、データをブローカーで処理する。

  1. bar ファイル addev1 を作成します。
  2. メッセージ・セット MAPPING3_SIMPLE_messages およびメッセージ・フロー addev1 を bar ファイルに追加します。
  3. bar ファイルをブローカーにデプロイします。
  4. インスタンス文書を入力キューに入れます。
ステップ 2 の結果: 出力メッセージは以下の形式になるはずです。
<addev1 ssat="hello">
<ssel>this</ssel>
<dsel1>SECOND</dsel1>
<atel latt="ATTRIB"/>
<cel1>
<intel>2</intel>
<strel>lcomp</strel>
</cel1>
<dsel2>first</dsel2>
<cel2>
<intel>48</intel>
<fltel>2.5E+1</fltel>
</cel2>
</addev1>

ステップ 3. 出力 (ターゲット) 専用エレメントおよび属性マッピング (入力メッセージなし) のフローおよびメッセージ・モデルを開発し、インスタンス文書を作成します。

  1. 以下の構造を持つメッセージ addev2 を作成します。
    addev2
        matt             (xsd:string) local attribute
        ssel              (xsd:string)  local element
        csel              local complex element
            elatt          (xsd:string)  local attribute
  2. 以下の構造トリガーを持つ 2 番目のメッセージ・トリガーを作成します。
    trigger
       start               (xsd:string) local element
  3. メッセージ・フロー addev2 を作成し、これに MQInput -> Mapping -> MQOutput を含めます。
  4. マップを開いて、ソースとして trigger を選択し、ターゲットとして addev2 を選択します。
  5. スプレッドシート・ペインで、ターゲット・メッセージを完全に展開し、ターゲット・フィールドを以下のように設定します。
    matt    |   'first attribute'
    ssel     |   'string element'
    elatt     |   'second attribute'
  6. スプレッドシート内の「プロパティー」フォルダーを展開し、以下のように設定します。
    MessageType   |   'addev2'
  7. 適切な RFH2 ヘッダーおよび以下のデータを持つインスタンス文書を作成します。
    <trigger>
    <start>yes</start>
    </trigger>
ステップ 3 の結果: メッセージ addev2 とトリガーが作成されます。 マッピング addev2_Mapping.msgmap を含むメッセージ・フロー addev2 が作成されます。 インスタンス・メッセージを含むファイルが作成されます。

ステップ 4. メッセージ・セットおよびメッセージ・フローをデプロイし、データをブローカーで処理する。

  1. bar ファイル addev2 を作成します。
  2. メッセージ・セット MAPPING3_SIMPLE_messages およびメッセージ・フロー addev2 を bar ファイルに追加します。
  3. bar ファイルをブローカーにデプロイします。
  4. インスタンス文書を入力キューに入れます。
ステップ 4 の結果: 出力メッセージは以下の形式になるはずです。
<addev2 matt="first attribute">
<ssel>string element</ssel>
<csel elatt="second attribute"></csel>
</addev2>

ステップ 5. 反復エレメントの単一のインスタンスおよびすべてのインスタンスを処理する、フローおよびメッセージ・モデルを開発する。

  1. 以下の構造を持つメッセージ addev3 を作成します。
    addev3
        frepstr        (xsd:string) local element, minOcc=3, maxOcc=3
        vrepstr       (xsd:string) local element, minOcc=1, maxOcc=4
        urepstr       (xsd:string)  local element, minOcc=1, maxOcc=-1
  2. メッセージ・フロー addev3 を作成し、これに MQInput -> Mapping -> MQOutput を含めます。
  3. マップを開いて、ソースとターゲットの両方に addev3 を選択します。
  4. 上部ペインで、以下のように、各ソースを対応するターゲットにマップします。
    frepstr --- frepstr
    vrepstr --- vrepstr
    urepstr --- urepstr
  5. スプレッドシート・ペインで、ターゲット addev3 を完全に展開します。
  6. vrepstr 項目について、その上にある「for」項目を強調表示して削除します。
  7. 適切な RFH2 ヘッダーおよび以下のデータを持つインスタンス・メッセージを作成します。
    <addev3>
    <frepstr>this</frepstr>
    <frepstr>that</frepstr>
    <frepstr>other</frepstr>
    <vrepstr>only one</vrepstr>
    <vrepstr>extra</vrepstr>
    <urepstr>first</urepstr>
    <urepstr>second</urepstr>
    <urepstr>third</urepstr>
    <urepstr>fourth</urepstr>
    <urepstr>fifth</urepstr>
    </addev3>
ステップ 5 の結果: メッセージ addev3 が作成されます。 マッピング addev3_Mapping.msgmap を含むメッセージ・フロー addev3 が作成されます。 インスタンス・メッセージを含むファイルが作成されます。

ステップ 6. メッセージ・セットおよびメッセージ・フローをデプロイし、データをブローカーで処理する。

  1. bar ファイル addev3 を作成します。
  2. メッセージ・セット MAPPING3_SIMPLE_messages およびメッセージ・フロー addev3 を bar ファイルに追加します。
  3. bar ファイルをブローカーにデプロイします。
  4. インスタンス文書を入力キューに入れます。
ステップ 6 の結果: 出力メッセージは以下の形式になるはずです。
<addev3>
<frepstr>this</frepstr>
<frepstr>that</frepstr>
<frepstr>other</frepstr>
<vrepstr>only one</vrepstr>
<urepstr>first</urepstr>
<urepstr>second</urepstr>
<urepstr>third</urepstr>
<urepstr>fourth</urepstr>
<urepstr>fifth</urepstr>
</addev3>

ステップ 7. RFH2 ヘッダーを持たない単純なメッセージ用のフローおよびメッセージ・モデルを開発する。

  1. メッセージ・セット・プロジェクトおよびメッセージ・セット MAPPING3_SIMPLE_xml を作成します。
  2. 「メッセージ・セット・パラメーター」ページで、「実行時パーサー」を XML に設定します。
  3. メッセージ定義ファイル SIMPLE を作成します。
  4. 以下の構造を持つメッセージ addev4 を作成します。
    addev4
       str1                   (xsd:string)  local element
       cel                     local complex element
           int1                (xsd:int) local element
           bool1             (xsd:boolean) local element
  5. メッセージ・フロー addev4 を作成し、これに MQInput -> Mapping -> MQOutput を含めます。
  6. MQInput ノードの「デフォルト・プロパティー」ページで、「メッセージ・ドメイン」を XML に設定します。
  7. マップを開いて、ソースとターゲットの両方に addev4 を選択します。
  8. 以下のように、入力を対応する出力にマップします。
    str1 --- str1
    int1 --- int1
    bool1 --- bool1
  9. RFH2 ヘッダーを持たず、以下のデータを持つインスタンス・メッセージを作成します。
    <addev4>
    <str1>this</str1>
    <cel>
    <int1>452</int1>
    <bool1>0</bool1>
    </cel>
    </addev4>
ステップ 7 の結果: 作成されたメッセージ addev4 を含む、メッセージ・セット MAPPING3_SIMPLE_xml が作成されます。 マッピング addev4_Mapping.msgmap を含むメッセージ・フロー addev4 が作成されます。 インスタンス・メッセージを含むファイルが作成されます。

ステップ 8. メッセージ・セットおよびメッセージ・フローをデプロイし、データをブローカーで処理する。

  1. bar ファイル addev4 を作成します。
  2. メッセージ・フロー addev4 を bar ファイルに追加します。
  3. bar ファイルをブローカーにデプロイします。
  4. インスタンス文書を入力キューに入れます。
ステップ 8 の結果: 出力メッセージは以下の形式になるはずです。
<addev4>
<str1>this</str1>
<cel>
<int1>452</int1>
<bool1>0</bool1>
</cel>
</addev4>

ステップ 1 から 8 の要約

  1. メッセージ・セット MAPPING3_SIMPLE_messages が作成され、メッセージ addev1 が取り込まれます。 マッピング addev1_Mapping.msgmap を含むメッセージ・フロー addev1 が、プロジェクト MAPPING3_SIMPLE_flows に作成されます。インスタンス・メッセージを含むファイルが作成されます。
  2. 出力メッセージは以下の形式になるはずです。
    <addev1 ssat="hello">
    <ssel>this</ssel>
    <dsel1>SECOND</dsel1>
    <atel latt="ATTRIB"/>
    <cel1>
    <intel>2</intel>
    <strel>lcomp</strel>
    </cel1>
    <dsel2>first</dsel2>
    <cel2>
    <intel>48</intel>
    <fltel>2.5E+1</fltel>
    </cel2>
    </addev1>
  3. メッセージ addev2 とトリガーが作成されます。 マッピング addev2_Mapping.msgmap を含むメッセージ・フロー addev2 が作成されます。 インスタンス・メッセージを含むファイルが作成されます。
  4. 出力メッセージは以下の形式になるはずです。
    <addev2 matt="first attribute">
    <ssel>string element</ssel>
    <csel elatt="second attribute"></csel>
    </addev2>
  5. メッセージ addev3 が作成されます。 マッピング addev3_Mapping.msgmap を含むメッセージ・フロー addev3 が作成されます。 インスタンス・メッセージを含むファイルが作成されます。
  6. 出力メッセージは以下の形式になるはずです。
    <addev3>
    <frepstr>this</frepstr>
    <frepstr>that</frepstr>
    <frepstr>other</frepstr>
    <vrepstr>only one</vrepstr>
    <urepstr>first</urepstr>
    <urepstr>second</urepstr>
    <urepstr>third</urepstr>
    <urepstr>fourth</urepstr>
    <urepstr>fifth</urepstr>
    </addev3>
  7. 作成されたメッセージ addev4 を含む、メッセージ・セット MAPPING3_SIMPLE_xml が作成されます。 マッピング addev4_Mapping.msgmap を含むメッセージ・フロー addev4 が作成されます。 インスタンス・メッセージを含むファイルが作成されます。
  8. 出力メッセージは以下の形式になるはずです。
    <addev4>
    <str1>this</str1>
    <cel>
    <int1>452</int1>
    <bool1>0</bool1>
    </cel>
    </addev4>
関連タスク
例: メッセージ・マッピングの作成、構成、およびデプロイ
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2005 Last updated: 11/07/2005
ar25249_