プログラミング・モデルの概要

WPAI メディエーターは、異機種混合のデータ・ソース全体で固有の データ・プログラミング・モデルを提供します。 このモデルは、JSR 235 - サービス・データ・オブジェクト (SDO) および メディエーターに基づいています。

SDO は、データ・ソース全体の統一性を提供するだけでなく、次のことを行う プログラミング・モデル用の仕様です。 SDO の詳細は、http://www.eclipse.org/emf にあります。
メディエーターは、特定のデータ・ソース・タイプへのアクセスを可能にするコンポーネントです。 バックエンドからデータを読み取ってから、データ・グラフへの更新をバックエンドに 伝搬することによって、SDO データ・グラフを作成します。 必要な機能を 提供するには、メディエーターを構成する必要があります。この構成情報は、 メディエーターのメタデータ と呼ばれます。メタデータには、 次のようなさまざまな情報が含まれています。

アプリケーション・コントロール・フロー

アプリケーションは、 メタデータ・オブジェクトをバックエンドの接続情報とともに使用して、 メディエーター・オブジェクト (またはコマンド) をインスタンス化します。 メディエーター・インスタンスは、そのメタデータを使用して、入力として (SDO データ・グラフとして) 受け取るパラメーター、および (再び、SDO データ・ グラフとして) 生成する照会結果を判別します。メディエーターを使用すると、 照会結果を変更して、バックエンドに変更を適用してから、変更に関する情報を SDO データ・グラフとして提供することができます。上述したステップのいずれかで、 バックエンドが例外をスローする場合は、エラー情報が含まれた障害データ・グラフが 提供されます。

プログラミング・モデルのエレメント

  • メタデータ: (さまざまなデータ・ソース・タイプの) すべての メタデータ・オブジェクト・タイプが、基本タイプ (つまり com.ibm.wps.mediator.CommandMediatorMetaData) から 派生します。 個々のメタデータ・オブジェクトは、名前と名前空間から構成される修飾名によって 一意的に識別されます。これは、通常、メタデータ・オブジェクトが構成されるときに ユーザーによって指定されます。
  • メディエーター: すべてのコマンドが、基本タイプ (つまり com.ibm.wps.mediator.CommandMediator) から派生します。 CommandMediator オブジェクトは、CommandMediatorMetaData オブジェクトを 使用してインスタンス化されます。CommandMediator は、ステートレス・オブジェクト (むしろステートレス・サービス) です。これは、ユーザーが同じパラメーターまたは 別のパラメーターを使用して同一タスクを呼び出す必要がある場合に、再利用可能です。

    サポートされるすべてのバックエンド・データ・ソース・タイプが、 アプリケーションが CommandMediatorMetaData オブジェクトからコマンドを インスタンス化できる CommandMediatorFactory インターフェース (com.ibm.wps.mediator.CommandMediatorFactory) を実装します。 また、CommandMediatorFactory インターフェースのメソッドは、データ・ソースの 接続情報を含む他のパラメーターを受け取ります。

    以下では、CommandMediator インターフェースの 重要なメソッドについて説明します。これらのメソッドの一部は、特定のバックエンドでは 有効ではない場合があることに注意してください。
    1. getParamDataGraph() - 空のパラメーター・データ・グラフを取得するために 使用されます。取得されるパラメーター・データ・グラフには、特定の照会の パラメーターの値が入力されます。
    2. getDataGraph() - 照会の結果または関数の出力引数を取得するために 使用されます。このメソッドは、照会のパラメーターまたは関数の入力引数を 含むパラメーター・データ・グラフをオプションで取ります。
    3. getEmptyDataGraph() - 新規オブジェクトのデータが取り込まれる空の メイン・データ・グラフを取得するために、CommandMediator の CREATE タイプで 使用されます。空のデータ・グラフに適切な値を取り込んだ後は、applyChanges メソッドへの 呼び出しによって、バックエンドで新規オブジェクトが作成されます。
    4. applyChanges() - アプリケーションがメイン・データ・グラフに加えた すべての変更を伝搬するために使用されます。情報の検索のみを行うタイプなどの CommandMediator タイプでは、バックエンドに変更が伝搬されないため、このメソッドは 実装されません。
  • SchemaMaker: 重要な別のインターフェースは、SchemaMaker (com.ibm.wps.mediator.SchemaMaker) です。SchemaMaker は、渡された CommandMediatorMetaData オブジェクトから次のデータ・グラフの形状を判別する オブジェクトです。
    1. 照会へのパラメーター、または関数への入力引数など、パラメーター・データ・ グラフによって呼び出された入力としてメディエーターが受け取る SDO データ・ グラフの構造。
    2. メディエーターが照会の結果または関数呼び出しの出力引数として生成する SDO データ・グラフの構造。これは、メイン・データ・グラフです。
    3. メディエーターがメイン・データ・グラフに行った変更を保管するための ユーザー要求の結果として生成する SDO データ・グラフの構造。これは、 出力データ・グラフと呼ばれます。
    4. メディエーターがバックエンドとの対話時に例外の結果として生成する SDO データ・グラフの構造。これは、障害データ・グラフと呼ばれます。 障害データ・グラフは、メディエーターによってスローされる MediatorException (com.ibm.wps.mediator.MediatorException) に組み込まれています。
    データ・グラフの構造は、データ・グラフのルート・データ・オブジェクトの EClass (Eclipse モデリング・フレームワークについて 詳しくは、http://www.eclipse.org/emf を参照してください) として表されます。
関連概念
SAP データ・アクセス
Siebel データ・アクセス
PeopleSoft データ・アクセス
関連タスク
SAP 開発環境のセットアップ
SAP サービス・データ・オブジェクトの追加
Siebel サービス・データ・オブジェクトの追加
PeopleSoft サービス・データ・オブジェクトの追加

(C) Copyright IBM Corporation 2002, 2005. All Rights Reserved.