MRM パーサーおよびドメイン

MRM ドメインを使用して、広範囲に渡るメッセージ形式を構文解析して書き込むことができます。

MRM ドメインは、広範囲に渡るメッセージ形式を構文解析して書き込むために使用できます。 これは主に非 XML メッセージ形式用とされていますが、XML の構文解析および書き込みも実行できます。 XML パーサーの 1 つではなく MRM パーサーを使用して XML を構文解析することを検討するタイミングについては、 どの XML パーサーを使用する必要がありますか? を参照してください。

MRM ドメインのかぎとなる機能は次のとおりです。
  • カスタム・ワイヤー形式 (CWF) 物理形式を使用して行われる、C、COBOL、PL/I、およびその他の言語で作成されたアプリケーションからのメッセージのサポート。 このサポートには、C ヘッダー・ファイルまたは COBOL コピーブックから直接メッセージ・モデルを作成する機能も含まれます。
  • タグ付き区切りストリング形式 (TDS) 物理形式を使用して行われる、テキスト・メッセージ (フィールド内容がタグで識別されたり、特定の区切り文字で分離されたり、その両方が行われる) のサポート。 これには、CSV、HL7、SWIFT、EDIFACT、および X12 などの業界標準が含まれます。
  • XML 物理形式を使用して行われる、XML メッセージ (XML ネーム・スペースを使用するものも含む) のサポート。

IBM® Integration Bus は MRM パーサーを使用して、MRM ドメインに属するメッセージの読み取りおよび書き込みを行います。 メッセージを読み取るときは、MRM パーサーはビット・ストリームからメッセージ・ツリーを構成します。 メッセージを書き込むとき、MRM パーサーはメッセージ・ツリーからビット・ストリームを作成します。 MRM パーサーは、常にモデル駆動型であり、メッセージ・ディクショナリーによってガイドされます。このディクショナリーは、メッセージ・ツリー (論理モデル) の形状、およびバイトの物理レイアウトまたはビット・ストリーム内の文字 (物理形式) について記述しています。 メッセージ・ディクショナリーは、メッセージ・セットが バー ファイルに追加されるときに、メッセージ・セットの内容から自動的に作成されます。 したがって、MRM ドメインで使用するためのメッセージ・セットを作成するときは、論理モデルと適切な物理形式情報の両方を定義する必要があります。

パーサーの操作は、入力または出力メッセージと関連した物理形式に依存しています。
  • バイナリー・メッセージの場合、パーサーは CWF 物理形式の情報に従ってバイトのセット順序を読み取り、これらをメッセージ・ツリーのフィールドと値に変換します。
  • テキスト・メッセージの場合、パーサーは「データ・エレメント分離」という TDS 物理形式情報のキーの部分を使用して、メッセージ・ビット・ストリームの各部分を構文解析する方法を決定できます。 これによりパーサーには、メッセージが区切り文字、タグ、固定長エレメント、パターンなどを使用するかどうかが通知されます。 次いでパーサーは TDS 物理形式の情報に従ってデータを読み取り、それをメッセージ・ツリーのフィールドと値に変換します。
  • XML メッセージの場合、パーサーは XML 物理形式の情報を指針として XML マークアップ言語 (エレメント・タグおよび属性) を読み取り、これらをメッセージ・ツリーのフィールドと値に変換します。

MRM パーサーはモデル駆動型なので、デプロイされたディクショナリーで定義されているモデルに照らして、メッセージの妥当性検査を実行できます。 MRM パーサーにより実行される妥当性検査のレベルは、XML スキーマ 1.0 により定義されたものと似ていますが、完全に準拠しているわけではありません。 XML メッセージを使用し、完全準拠の XML スキーマ 1.0 妥当性検査を望む場合は、XMLNSC ドメインを使用してください。

MRM パーサーはオンデマンド・パーサーです。 オンデマンドでの構文解析を参照してください。

特定のメッセージを構文解析するために MRM ドメインを使用するには、以下のようにします。

  1. 適切な CWF、TDS、または XML 物理形式で新規メッセージ・セットを作成します。または既存のメッセージ・セットを見つけます。
  2. メッセージ・セットで「デフォルトのメッセージ・ドメイン」が「MRM」に設定されているか、または「サポートされているメッセージ・ドメイン」の下の「MRM」チェック・ボックスが選択され、メッセージ・セットが MRM ドメインをサポートするように指示されているかを確認します。
  3. メッセージを提示するためのメッセージ定義ファイルをメッセージ・セット内に作成し、論理形式と物理形式の両方の情報が提供されるようにします。 メッセージの既存の C、COBOL、XML スキーマ、または DTD 記述がある場合、ウィザードを使用して記述をインポートできます。
  4. メッセージ・セットを バー ファイルに追加します。これにより、MRM パーサーが使用するメッセージ・ディクショナリーが生成され、BAR ファイルが統合ノードにデプロイされます。
  5. メッセージ・フロー内の適切なノードで、「MRM」を「メッセージ・ドメイン」として選択します。
  6. さらに、ノード上の「メッセージ・モデル 」プロパティー、「メッセージ 」プロパティー、および「物理形式 」プロパティーの値を設定します。 「メッセージ 」プロパティーは、メッセージ定義ファイル内のメッセージの名前を指定します。

一部の事前定義メッセージ・モデルは IBM Integration Toolkit に付属しており、「 IBM 提供メッセージからの新規メッセージ定義ファイル」ウィザードを使用してインポートできます。 CSV、ALE IDoc、および File IDoc モデルは、MRM ドメインでの使用専用です。 メッセージ・セット: インポートできる IBM 提供メッセージを参照してください。

IBM には、業界標準形式 SWIFT、 X12、EDIFACT、および FIX 用の事前定義メッセージ・セットが用意されています。 詳細については、Dublin Adapters (dubadapt@ie.ibm.com) に連絡してください。