マップの作成
BizTalk マッパーのプライマリ ユーザー インターフェイスは、MicrosoftVisual Studio 編集ウィンドウ内のタブに表示されます。 この表示は、3 つのペインに分割されています。 左ペインでは、送信元スキーマがツリーとして表示されます。 右ペインでは、送信先スキーマがツリーとして表示されます。 中央のペインでは、グリッドが複数のページに表示されます。 送信元スキーマのデータを送信先スキーマにどのようにマップするかを示すには、マップする対象のレコードとフィールドの間に線を引きます。 これらの行は リンクと呼ばれ、データのマッピングを指定する最も基本的な方法です。 レコードとフィールドのリンクの詳細については、「 マップ内のリンク」を参照してください。
高度なマッピング手法を実装する場合は Functoid を使用できます。 Functoid は、Visual Studio ツールボックス内の BizTalk マッパー タブで使用できるツールです。 これを使用すると、次のような複雑な操作を実行するマップを作成できます。
送信元スキーマに含まれる 2 つのフィールドの値を加算し、その結果を送信先スキーマのフィールドに入力する。
ルーピング レコードのフィールドの平均値を計算し、その結果を送信先スキーマのフィールドに入力する。
ビジネス ニーズに応じて、インスタンス データを操作するカスタム スクリプトを記述する。
Functoid の詳細については、「 マップの Functoid」を参照してください。
BizTalk マッパーは、単純な親子関係から、レコードと階層の詳細で複雑なルーピングまで、さまざまなマッピング シナリオをサポートできます。 マップを作成するときは、次の点を考慮してください。
BizTalk マッパーは、結合および並べ替えをサポートしていません。
送信元スキーマと送信先スキーマの構造が極端に異なる場合、1 つのマップでは変換できないことがあります。 二重に渡す必要が生じる場合があります。
ループ Functoid は柔軟で強力ですが、ターゲット ループの次のイテレーションを開始するためにソース スキーマの値の変更が検出された場合、イテレーションを分割することはできません。
スクリプト functoid では メソッドの外部で変数 を 宣言できます。これにより、変数はマップの有効期間のスコープ内にあります。 したがって、変換のスコープ領域間で値を保持するために Scripting Functoid を使用できます。
実行時に MicrosoftBizTalk Server によって処理されるすべてのデータは XML 形式である必要があります。 XML でないデータは、マッピングの前に、対応する XML 形式に変換する必要があります。 同様に、マッピング プロセスが完了すると、BizTalk Serverはマッピング操作の出力を使用して、データの送信先となる取引先またはアプリケーションによって認識されるファイル形式を作成します。
BizTalk マッパーにはコンパイラが含まれています。 このツール レベル コンポーネントは、入力インスタンス メッセージを出力インスタンス メッセージに変換するために必要な XSLT (Extensible Stylesheet Language Transformations) を生成します。
このセクションでは、BizTalk マッパーを使用して 2 つのスキーマ間のマッピングを作成する場合の、タスク固有の情報について説明します。 ここでは、BizTalk マッパーが既に開かれ、マップの送信元スキーマと送信先スキーマが選択されていることを前提にしています。