0

私はOracle ADFフレームワークを学んでおり、DataControlがUIComponentsに公開するサービスを理解したいと思っています。binding containerページにレンダリングされるビュー オブジェクトと UIComponents の間のバインディングを実際に行っている抽象化があることを理解しました。datacontrolこのフレームワークで抽象化が果たしている役割は何ですか?

つまり、バインディング環境で実行される と の関係datacontrolと、通常の Java EE アプリケーションでbindings同等と呼べるものとは何 でしょうか。DataControl

4

2 に答える 2

3

バインディングレイヤーは、UIレイヤーをデータコントロールレイヤーに接続します。UIレイヤーは、JSFページ、Excelスプレッドシート、Swing UI、およびADFモバイルページである可能性があることに注意してください。データ制御レイヤーは、抽象化された方法でビジネスサービスへのアクセスを提供するため、UI開発者は、ビジネスサービスが実装されている特定のテクノロジーを知る必要がありません。

バインディング/データ制御レイヤーの詳細については、2部構成のセミナーをご覧ください: http ://www.oracle.com/technetwork/developer-tools/adf/learnmore/adfinsider-093342.html#a2

Java EEの世界では、最も近いのはCDIですが、ADFバインディングは、さまざまなタイプのUI、さまざまなタイプのバックエンドを対象とした、はるかに完全なソリューションを提供します。

于 2012-12-20T17:20:08.943 に答える
3

このフレームワークでデータ制御の抽象化が果たしている役割は何ですか?

これは、ビジネス サービス(実際のモデル レイヤー)DataControlにアクセスするための追加の抽象化レイヤーです。

ADF では、ビジネス サービスはさまざまなタイプをサポートします。

  • アプリケーション モジュール ベース (リレーショナル データベースへのアクセス)
  • ウェブサービス
  • URL 経由でデータにアクセスするための URL サービス
  • Java EE EJB を介してビジネス データにアクセスするための EJB データ サービス

これらの異なるデータ アクセス タイプは、データ コントロール レイヤーによってカプセル化されます。データ コントロール レイヤは、バインディング レイヤで使用されるAttributesCollectionsおよびを使用した共通のインターフェイスを提供します。Operationsバインディング層では、データのクエリおよび更新時に RDBMS、Web サービス、またはその他のものがアクセスされるかどうかは問題ではありません。

ADF を使い始めたときに難しかったことの 1 つは、RDBMS バックエンドを使用して単純なアプリケーションを実装するときに、この追加レイヤーからの実際のメリットがまったく見られなかったことです。アプリケーションモジュールでデータモデルを定義し、それらの構成ファイルさえありませんでした。Application Moduleただし、これは、ベースのビジネス サービスを使用する場合にのみ当てはまります。この場合、データ コントロールのすべてのメタ データがApplication Modulesデータ モデルから取得されます。Web サービスなど、他の種類のビジネス サービスを使用すると、真のメリットが得られます。次に、これらのデータ コントロールを構成するために作成された追加のメタ データ .xml ファイルもあります。

バインディング層の役割とデータ制御層との相互作用

バインディング レイヤーは、データ コントロールを拡張して、データを UI で使用できるようにします。典型的なバインディングはイテレータ (=> バインディング層) で、コレクション (=> データ コントロール) 内の現在のレコードを追跡します。がなければ、iterator「現在のレコード」という概念はなく、レコード間を移動することはできません。

もう 1 つの側面は、JDeveloper の設計時機能です。データ コントロールは、データ コントロールを UI ページにドラッグ アンド ドロップするときに、必要なバインディングを自動的に作成するために必要なメタ データを提供します。

@Shay Shmeltzer によって言及された録音は、データ コントロールとバインディング レイヤーについて非常に優れた洞察を提供するため、レビューする価値があります。

于 2012-12-20T12:15:13.723 に答える