各マップ・インスタンスは、コネクター・コントローラーで設定される特定の実行コンテキスト 内で実行されます。 マッピング API では、マップの実行コンテキストを MapExeContext クラスのインスタンスで表します。
Map Designer Express
が生成するすべてのマップの場合、マップの実行コンテキストは
cwExecCtx というシステム定義の変数を使用してアクセスできます。
この変数は、Activity Editor
の「変数」フォルダーで参照できます。あるいは実行コンテキストが必要なマッピング
API メソッド (表 63 のメソッドなど) を呼び出すときに、この変数を参照できます。
表 63. マップの実行コンテキストが必要なマッピング API メソッド
目的 | マッピング API メソッド | 詳細情報の参照先 |
---|---|---|
サブマップの呼び出し | runMap() | "サブマップを使用した変換" |
関係の維持 |
| 関係のインプリメント |
表 64 に、マップの実行コンテキストで頻繁に必要になる 2
つの情報を示します。
表 64. コンテキスト情報の MapExeContext メソッド
実行コンテキスト情報 | MapExeContext メソッド |
---|---|
呼び出しコンテキスト |
getInitiator(), setInitiator()
|
オリジナル要求ビジネス・オブジェクト |
getOriginalRequestBO()
|
このセクションでは、この両方のマップの実行コンテキスト情報について説明します。
呼び出しコンテキスト により、現行マップの実行の目的が示されます。
関係属性を変換する場合、通常はマップの呼び出しコンテキストに基づいたアクションが必要です。表 65 に、呼び出しコンテキストの有効な定数をリストします。
これらの呼び出しコンテキストは、Map Designer Express で作成されるすべてのマップで使用可能な MapExeContext オブジェクト内の定数として参照できます。
例: SERVICE_CALL_REQUEST 呼び出しコンテキストを MapExeContext.SERVICE_CALL_REQUEST として参照します。
図 88
に、イベントにより起動されたフローでの各呼び出しコンテキストの発生条件を示します。イベントにより起動されたフローは、コネクターが
InterChange Server Express
内のコラボレーションにイベントを送信したときに開始されます。
図 88. イベントにより起動されたフローの呼び出しコンテキスト
図 88 で示すように、コネクターから InterChange Server へのすべてのマッピング要求 (つまり、アプリケーション固有のビジネス・オブジェクトから汎用ビジネス・オブジェクトへのマップ) には、EVENT_DELIVERY の呼び出しコンテキストがあります。 InterChange Server からコネクターへのすべてのマッピング要求 (つまり、汎用ビジネス・オブジェクトからアプリケーション固有のビジネス・オブジェクトへのマップ) には、SERVICE_CALL_REQUEST の呼び出しコンテキストがあります。
コラボレーションのサービス呼び出し要求に応答してコネクターにより送信されるマッピング要求には、SERVICE_CALL_RESPONSE または SERVICE_CALL_FAILURE のコンテキストがある場合があります。
図 89 に、コール・トリガー・フローでの各呼び出しコンテキストの発生条件を示します。コール・トリガー・フローは、アクセス・クライアントから InterChange Server Express のコラボレーションに直接サーバー・アクセス・インターフェース呼び出しが送信されると開始されます。
図 89 で示すように、アクセス・クライアントから InterChange Server へのすべてのマッピング要求 (つまり、アプリケーション固有のビジネス・オブジェクトから汎用ビジネス・オブジェクトへのマップ) には、ACCESS_REQUEST の呼び出しコンテキストがあります。 InterChange Server Express からアクセス・クライアントへのすべてのマッピング要求 (つまり、汎用ビジネス・オブジェクトからアプリケーション固有のビジネス・オブジェクトへのマップ) には、ACCESS_RESPONSE の呼び出しコンテキストがあります。
マップのコンテキストにおける異なる重要な部分は、オリジナル要求ビジネス・オブジェクト
です。このビジネス・オブジェクトは、マップの実行を開始するビジネス・オブジェクトです。表 66
に、呼び出しコンテキストと関連するオリジナル要求ビジネス・オブジェクトを示します。
表 66. 呼び出しコンテキストとそれに関連するオリジナル要求ビジネス・オブジェクト
例えば、汎用ビジネス・オブジェクト は、SERVICE_CALL_RESPONSE、SERVICE_CALL_FAILURE、または SERVICE_CALL_REQUEST の呼び出しコンテキストで実行されるマップのオリジナル要求ビジネス・オブジェクトです。
これらのマップは汎用ビジネス・オブジェクトを使用して、変換される関係属性の関係インスタンス ID を保管します。マップには、関係インスタンスを検索して新たに作成または更新されたオブジェクトの関連する参加者データを設定するために、関係インスタンス ID が必要です。
例: 次の例で、これが顧客同期シナリオでどのように機能するかを示します。システムを使用して、アプリケーション A とアプリケーション B の間で同期されたデータを保持すると仮定します。両アプリケーションとも顧客データを保管し、顧客 ID 属性は関係を使用して管理されます。この例では、コラボレーションとコネクターの詳細は省略します。
新規顧客がアプリケーション A に追加される条件
顧客 ID 属性を変換する場合、マップにより新規の関係インスタンスが顧客 ID 関係表に作成され、汎用ビジネス・オブジェクトの顧客 ID 属性に新規の関係インスタンス ID が挿入されます。
これを実行する理由は、ステップ 1 で作成された関係インスタンスの新規参加者データを設定するためです。この場合、新規参加者データはアプリケーション B に追加された新規顧客の顧客 ID です。
図 90 に、新規顧客 ID をアプリケーション B に正常に追加する、コール・トリガー・フローに関して、各ステップのマップの実行が発生する条件を示します。