表 2 に示すように、マップは 2 つの部分からなるエンティティーで、マップ定義とランタイム・オブジェクトで構成されます。
マップ開発システムに対して、マップ定義 を使用してマップを定義します。 マップ定義は、System Manager のプロジェクトに保管されます。Map Designer Express ツールは、マップ定義 (通常は単にマップと呼ばれます) の作成を支援するダイアログを提供します。完了したマップ定義を System Manager のプロジェクトに保管する処理も行います。
Map Designer Express を使用してマップ定義を作成する方法の詳細については、"マップの作成: 基本手順"を参照してください。
マップ定義は、マップに関する次の情報を提供します。
マップ定義は、単なるテンプレート、またはマップの説明です。マップ定義は、あるビジネス・オブジェクトの属性を別のビジネス・オブジェクトに変換する方法についての情報を提供します。したがって、マップ定義の名前は、マップの方向と、マップが変換するビジネス・オブジェクトを識別する必要があります。
マップは、1 つ以上のソース・ビジネス・オブジェクトと 1 つ以上の宛先ビジネス・オブジェクトで構成されます。ソース・ビジネス・オブジェクト は、変換されるビジネス・オブジェクトです。宛先ビジネス・オブジェクト は、ソース・ビジネス・オブジェクトのデータを使用して生成されたビジネス・オブジェクトです。
マップの残りの部分は、一連の変換ステップで構成されます。変換ステップ は、宛先属性の値を戻す Java コードのセグメントです。 マップには、変換される宛先属性ごとに 1 つの変換ステップが含まれます。変換は Java コードとしてインプリメントされるため、Java ソース (.java) ファイルに保管されます。
表 2 に、宛先ビジネス・オブジェクトで実行できる変換の一部を示します。
標準的な変換には、値の設定、移動、結合、分割、サブマップ、および相互参照があります。カスタム変換を作成するときは、グラフィカル関数ブロックを使用できるだけでなく、「関係」、「内容ベースのロジック」、「日付変換」、および「ストリング」変換の
Java コードを使用することもできます。
| 変換 | 説明 | 詳細情報の参照先 |
---|---|---|---|
標準的な変換 | Map Designer Express でコードを自動生成できる変換 |
| |
| 値を設定 | 宛先属性の値を指定します | "属性への値の指定" |
| 移動 (コピー) | ソース属性を宛先属性にコピーします | "ソース属性の宛先属性へのコピー" |
| 結合 | 2 つ以上のソース属性を 1 つの宛先属性に結合します | "属性の結合" |
| 分割 | ソース属性を 2 つ以上の宛先属性に分割します | "属性の分割" |
| サブマップ | 子ビジネス・オブジェクトのマップを呼び出します | "サブマップを使用した変換" |
| 相互参照 | ビジネス・オブジェクトの一致関係を保守します | "一致関係の相互参照" |
カスタム変換 | 上記の標準的な変換以外の変換を作成します | "カスタム変換の作成" | |
| 関係 | 各アプリケーションが独自の形式でデータを保持しているため、直接マップできないビジネス・オブジェクトを関連付けます | 関係のインプリメント |
| 内容ベースのロジック | ソース属性の内容に基づいて宛先属性を変換します | "内容ベースのロジック" |
| 日付変換 | ソース属性の形式から宛先属性の形式に日付を変換します | "日付の形式設定" |
| ストリング | 大文字小文字変換やサブストリングの取得など、ストリングで基本的な変換を実行します | "式ビルダーを使用したストリング変換" |
ソース属性と宛先属性の間に明白な対応が存在する場合、変換ステップは、ソース値を宛先属性にそのままコピーします。その他の変換には、計算、ストリング操作、データ型変換、Java を使用してコーディングできるその他のロジックがあります。
図 2 に、一般的な属性変換の種類を示します。
図 2 に示すように、ソース・ビジネス・オブジェクトの属性は、次のように処理されます。
値を属性にコピーする、値を 2 つ以上の属性に分割する、2 つ以上の値を 1 つの属性に結合するなど、単純な変換では、ステップを図で指定すると、Map Designer Express によって Java コードが生成されます。複雑な変換を行うには、グラフィカル・エディターを使用して変換をカスタマイズするか、独自の Java コードを作成します。
マップ定義は、マップのランタイム・インスタンス化 (マップ・インスタンス) を行うためのテンプレートです。
マップの実行時に、マップ開発システムは、マップ定義と変換コードに基づいてマップのインスタンスを作成します。
詳細については、マップの実行コンテキストの理解を参照してください。