Oracle ADFモデルを使用するJ2EEアプリケーションでは、各タイプのデータ・プロバイダごとに実装されるデータ・コントロール・オブジェクトを介して、モデル・データがビュー・レイヤーおよびコントロール・レイヤーに公開されます。モデル固有のデータ・コントロール・セットでは、次のことを行います。
データ・コントロール・アダプタ・クラスによってデータが公開されると、J2EEアプリケーションによるビジネス・サービスとの対話が、データ・オブジェクトおよびコレクション(行または行セットとも呼ばれる)に対して動作するメソッド、あるいはデータ・オブジェクトおよびコレクションからデータを取得するメソッドによって可能になります。
実行時には、クライアントまたはコントローラから起動されたビジネス・サービスとの対話は、Oracle ADFモデル・バインディング・コンテキストと呼ばれる単一のオブジェクトを介したアプリケーションによって管理されます。次の図に示すように、ADFバインディング・コンテキストはコンテナ・オブジェクトであり、Oracle ADFモデル・レイヤーから導出されたデータ・コントロールおよびデータ・バインディング・オブジェクトの階層を定義します。
バインディング・コンテキストにより、これらの階層が定義されます。階層のオブジェクトは、Oracle ADFモデルがコントローラ・レイヤーおよびビュー・レイヤーにサービスを提供できるよう、相互に参照し合います。
データ・コントロールの階層は、次のようになります。
データ・バインディング・オブジェクトの階層は、同一の親コンテナからも開始できます。次のようになります。
さらに、次のようになります。
次の図は、バインディング・コンテナの格納階層を詳細に示しています。アプリケーションで使用可能なバインディング・コンテキストおよびデータ・バインディング・オブジェクトの定義は、クライアント・プロジェクトのレベルで、XMLベースのファイルにより指定する点に注意してください。
イテレータ・バインディングのオブジェクト階層パスを介して、イテレータ・バインディングはデータ・コレクションにアクセスし、データ・オブジェクトを反復します。一方、値バインディング・オブジェクトにより、UIコンポーネントは、反復されているコレクションの現在のデータ・オブジェクトを表示または更新できます。
たとえば、WebページまたはJavaパネルのソースで、UIコンポーネントの値バインディング定義は、ページまたはパネルのイテレータ・バインディング・オブジェクトを参照します。イテレータ・バインディング・オブジェクトはデータ・コントロールを順に参照し、データ・アクセス・パスを完成させて、Oracle ADFモデルがオブジェクト階層を横断できるようにします。
注意: 上の説明は、WebアプリケーションとJavaクライアント・アプリケーションの両方に対応するように単純化されています。実際のWebアプリケーションでは、ビュー・レイヤーにディスパッチする前に、コントローラ・レイヤーがOracle ADFモデルのバインディング・コンテキストにバインドを移入します。その後、対話型Webアプリケーションの取出しモデルに従って、ビュー・レイヤーがデータを取り出し、ページに値をレンダリングします。
アプリケーションで使用可能なバインディング・コンテキストおよびデータ・バインディング・オブジェクトの定義は、次の項で説明するように、クライアント・プロジェクトのレベルで、XMLベースのファイルで指定します。
設計時にJDeveloperを使用して、アプリケーション開発者は、ADFバインディングとADFデータ・コントロールを宣言的に定義する、一連のXMLファイルを作成できます。次の図に示すように、アプリケーションは、実行時、アプリケーション内のファイルからOracle ADFバインディング・コンテキストを作成します。
クライアントのバインディング記述ファイル(.cpx
)は、クライアントのバインディング・コンテナ定義ファイル(.xml
)内のバインディング定義を参照します。また.cpx
ファイルには、特定のビジネス・サービスに使用するデータ・コントロール・ファクトリを指定したデータ・コントロール記述ファイル(.dcx
)への参照も含まれています。これらのファイルの詳細は、「ADF固有のプロジェクト・ファイルについて」を参照してください。
設計時には、データ・コントロール・パレット、ビジュアル・エディタ、構造ウィンドウおよびプロパティ・インスペクタを介して、これらのファイルを作成できます。データ・コントロール・パレットを使用して、データ・バインドされたUIコンポーネントを、表示されたWebページまたはADF Swingパネルに挿入すると、バインディング定義がドキュメントのバインディング定義ファイルに作成されます。また、ADFバインディング・コンテキストのbindings
ネームスペースを介してアプリケーションが使用可能にする、バインディング・オブジェクトを参照するドキュメントに、ソース・コードが追加されます。
これらの設計時ツールの詳細は、「JDeveloperのADFアプリケーションについて」を参照してください。
これらのオブジェクトは、具体的には、ADFモデル・レイヤー内で、ビジネス・サービスへのランタイム・アクセスを提供します。
oracle.adf.model.BindingContext
)
binding
の定義を使用するバインディング・コンテキストに登録されます。
oracle.adf.model.binding.DCDataControl
)
oracle.adf.model.binding.DCBindingContainer
)
oracle.adf.model.binding.DCIteratorBinding
)
oracle.jbo.uicli.binding.JUControlBinding
)
oracle.jbo.uicli.binding.JUCtrlActionBinding
)
Oracle ADFでのデータ・コントロールの詳細は、次のトピックを参照してください。
データ・バインディングのカスタマイズの詳細は、次のトピックを参照してください。
モデル1形式またはモデル2形式のWebアプリケーションの作成方法の詳細は、次のトピックを参照してください。
Copyright © 1997, 2007, Oracle. All rights reserved.