私はOracleのADFにまったく慣れていませんが、ADFとSunのJSFのリファレンス実装の違いは何ですか?
ADFは完全なフレームワークです。これは、ADFFacesとADFBusiness Componentsで構成されており、完全なフレームワークであり、モデルからコントローラーに表示されます。開発者は、JDeveloperとともにADFを使用すると、Javaコード(理論的には)に触れることなくアプリケーションを開発できます。Javaを使用していることに気づきますが、Javaを最小限に抑えようとしています。これは、Java以外の次期開発者が作業する移行プロジェクトであるため可能です(もちろん、最終的にはJava)を学習する必要があります)。
いくつかのエンタープライズプロジェクトでADFFacesを使用しているため、承認された回答に少し同意しません。ADFFacesは、JSF実装またはコンポーネントライブラリとして使用できます。 JSF実装として使用する場合、ライフサイクルが長くなる(ADFFacesは元のJSFライフサイクルに2つのステップを追加する)、要求より長くセッションより短い変数を格納するためのスコープを追加する(つまり、「プロセススコープ」)など、JSF仕様とは異なります。 )。
JSF実装としてADFFacesを使用することになった場合は、Oracle JSF実装の方法で実行していることに注意する必要があります(そのため、多くの場合、実行しようとしていることに対する答えはOracleドキュメントでしか見つかりません。不足している)。
これは、適切に実装されていないか、VanillaJSFで完全に欠落しているものの一部です。
ツーリング
データベース、Webサービス、またはコンテンツサービスに至るまで、ビジネスレイヤーとの宣言型バインディング。
各ページを最初から開発するのではなく、ページ間でユーザーインターフェイスのフラグメントを簡単に共有できる再利用可能なタスクフロー。
国際化
Webcenter拡張機能を使用してカスタマイズ可能でパーソナライズ可能なページを配信する機能
Oracle BusinessIntelligenceまたはその他のソースからの高度なデータ視覚化を埋め込む機能。
ADFは、上記のすべてとそれ以上のことを行います。
ADFライフサイクルは最適化されたライフサイクルです。
ADFコンポーネントは、境界内で更新を取得できます(値変更イベントは、他のコンポーネントに影響を与えることなく、コンポーネントに対してのみ発生する可能性があります。テーブルを更新すると(スクロールダウンしてフェッチ(フェッチモードを言う)など)、検証エラーなしでデータを取得できます。ページ。
テーブル境界内のデータは更新されるだけです。
ADFにはクライアント側のライフサイクルがあります。検証エラーが発生した場合、adfは不要なラウンドトリップを回避します(JSFとの違いはわかりません)。