この章では、Oracle Application Development Framework (Oracle ADF)のアーキテクチャとコンポーネントの概要について説明します。
この章には次の項が含まれます:
Oracle Application Development Framework (Oracle ADF)は、Java EE標準およびオープンソース・テクノロジを構築してエンタープライズ・アプリケーションの実装を簡単かつ高速にするエンドツーエンド・アプリケーション・フレームワークです。Oracle ADFは、Web、モバイル、およびデスクトップ・インタフェースを使用してデータを検索、表示、作成、変更および検証するアプリケーションを作成する企業の開発者に適しています。
Oracle ADFフレームワーク全体を使用してアプリケーションを作成したり、他のテクノロジと組み合せてフレームワークの一部を使用したりできます。このガイドでは、ADFテクノロジを備えたアプリケーションを一般的にADFアプリケーションと呼びます。ビジネス・サービス、モデル、コントローラ、およびビューのレイヤーを通してADFテクノロジが組み込まれたWebアプリケーションを、Fusion Webアプリケーションと呼びます。
Oracle ADFは次の概念に基づいています。
Web、モバイルおよびデスクトップ・クライアントを対象とした豊富なコンポーネント・セット
宣言的で再利用可能なビジネス・ロジックおよび検証
宣言的なデータ・バインディング
UI関連とデータ関連の要素の分割(MVCアーキテクチャ)
強化されたページ・フロー機能(モジュール化タスク・フローや再利用可能なタスク・フローなど)
ADFリソース上の宣言的セキュリティ
メタデータを介した顧客レベルおよび開発者レベルのカスタマイズ
より広範囲のFusion Middlewareスタックの主要コンセプトは、Oracle Fusion Middlewareの理解を参照してください。
この項では、ADFスタックの中核をなす高度なコンポーネントの概要を説明します。そのコンポーネントには、JavaServer Faces (JSF)や通常はアプリケーションの一部であるその他のビジネスおよびデータ・サービスなどの基礎となるテクノロジの一部が含まれています。モデル、ビューおよびコントローラ(MVC)のコンポーネントなど、アーキテクチャ全体についての図は、図1-1を参照してください。
ADFモデルはOracle ADFの中心的な部分であり、これにより各種のビジネス・サービスに基づくADFアプリケーションを作成できます。ADFモデルには、データ・コントロールおよびデータ・バインディングが実装されています。データ・コントロールでは、関連するプロパティ、メソッド、タイプの情報を含め、サービスの操作とデータ・コレクションを表す標準のメタデータ・インタフェースを使用してビジネス・サービスの実装技術を抽象化します。Oracle JDeveloperでは、開発者はその情報をアイコンとして表示し、ページに簡単にドラッグ・アンド・ドロップできます。開発者がサービス表現をページにドラッグすると、Oracle JDeveloperによって、そのページからサービスへのバインディングが自動的に作成されます。実行時にADFモデル・レイヤーによって、アプリケーションのデータ・コントロールおよびデータ・バインディングを記述した情報が該当するXMLファイルから読み取られ、ユーザー・インタフェースとアプリケーションのビジネス・サービス間の双方向接続が実装されます。
Oracle ADFには、一般的なビジネス・サービス・テクノロジに対してすぐに使用できる、次のようなデータ・コントロールの実装が用意されています。
ADFビジネス・コンポーネント
Enterprise JavaBeans (EJB)セッションBeansおよびJPA永続性APIエンティティ
JavaBeansコンポーネント
Webサービス(SOAPおよびREST)
ADFビジネス・コンポーネントは、Java EEデザイン・パターンとベストプラクティスに基づいたビルトイン・アプリケーション・オブジェクトです。これにより、複雑で高性能かつデータベース中心のサービスの開発と保守が簡単になります。
サービス指向のJava EEアプリケーションを作成するとき、開発者はコア・ビジネス・ロジックを1つ以上のビジネス・サービスとして実装します。これらのバックエンド・サービスには、入力の検証など適切なビジネス・ルールを実施する際に、必要に応じてビジネス・データの問合せ、挿入、更新および削除を実行する方法を備えたクライアントが用意されています。ADFビジネス・コンポーネントを使用すると、JDeveloperのウィザードとビジュアル・エディタを宣言的に使用して必要なメタデータを生成するようなサービスを開発できます。
ADFビジネス・コンポーネント・アプリケーション・モジュールの作成時、それをカプセル化するサービスがデータ・コントロールとしてADFモデルを介して公開されます。それらのデータ・コントロールを使用してWebページやその他のユーザー・インタフェース上にデータバインドされたコンポーネントを作成できます。最も一般的なユースケースでは、そのように、Javaコードを記述せずにアプリケーション一式を作成できます。
MVCアプリケーションのコントローラ・レイヤーでは、ADF ControllerによりJSFのコントローラ・レイヤーの上に拡張ナビゲーションおよび状態管理モデルが提供されています。JDeveloperを使用すると、各種アクティビティ(ページ、マネージドBean上のメソッド、宣言的ケース文や他のタスク・フローへのコールなど)の間のアプリケーション・コントロールを管理できるタスク・フローを宣言的に作成できます。さらに、バインドされたタスク・フローを作成でき、これは全体のタスク・フローからコールできる再利用可能なタスク・フロー・セグメントとなります。
ADF Facesには、ADFアプリケーション用のビュー・レイヤーが用意されています。ADF Facesは、ビュー・フレームワーク一式であり、すべてがJSF標準上に構築されている、150を超えるAjax有効のJavaServer Faces (JSF)コンポーネントで構成されています。ADF Facesは、他の非ADFコントローラとモデル・テクノロジとともに稼働するスタンドアロン・コンポーネント・セットとして使用することも可能です。
ADFデスクトップ統合により、開発者は、エンドユーザーがクライアントとしてMicrosoft Excelワークブックを使用しながらアプリケーションを稼働できるようにFusion Webアプリケーションを拡張できます。
ADF Swingは、ADFモデルを使用してビジネス・サービスにアクセスするデータバインドされたJavaクライアントを開発するためのフレームワークです。ADF Swingを使用して、ADFビジネス・コンポーネント、Enterprise JavaBeansコンポーネント、Webサービスなどの多数のビジネス・サービスをバックエンド上で稼働させることができます。このガイドでは、ADF Swingについては取り上げません。ADF Swingの詳細は、『Oracle Application Development Framework Swingアプリケーションの開発』を参照してください。
ADFセキュリティ・フレームワークでは、Oracle Platform Security Services (OPSS)アーキテクチャを使用して、ADFアプリケーションの保護を容易にするためにOracle Platform Security Services (OPSS)アーキテクチャを拡張し、バインド・タスク・フローなどのADFリソースに対するファイングレイン・アクセス制御を有効にします。
Oracle ADFを使用して、さらに広範囲のミドルウェア・アプリケーションのコンポーネントを開発できます。そのようなアプリケーションで使用できるツールおよびプロセスの概要は、Oracle Fusion Middlewareの理解のインストールおよび構成ツールの理解に関する項を参照してください。
ADFアプリケーションを開発するには、ADF機能に対するデザインタイムのサポートが備わった統合開発環境(IDE)のOracle JDeveloperを使用できます。とりわけ、JDeveloperにはビジネス・サービスに対する作業コードを生成するためのウィザードが用意されており、視覚的にユーザー・インタフェースを設計する際にデータ・バインド・コードを生成し、完全なテストおよびデバッグ環境を提供します。さらに、Oracle JDeveloperインストールにはWebLogic Serverのビルトイン・コピーが含まれており、これによりアプリケーションのテスト・デプロイを実行できます。JDeveloperを使用したADFアプリケーション開発の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』を参照してください。Oracle ADFに固有でないJDeveloper機能の詳細は、『Oracle Jdeveloperによるアプリケーションの開発』を参照してください。
注意: Oracle Enterprise Pack for Eclipse (OEPE)を使用してADFアプリケーションを開発することも可能です。OEPEは、Java EE開発をサポートするEclipse IDEに対して設計された一連のプラグインです。OEPEにはADFアプリケーションの開発に対するサポートも含まれています。ただし、そのサポートにはJDeveloperで提供されるサポートより多くの制限があります。詳細は、 |
ADFデスクトップ統合のサポートにより統合Microsoft Excelワークブックを開発するには、ADFデスクトップ統合アドインをJDeveloperにインストールする必要があります。詳細は、『Oracle ADFデスクトップ統合によるアプリケーションの開発』を参照してください。
ADFアプリケーション・スキンをデザインしたり変更するには、Oracle ADFスキン・エディタを使用します。詳細は、『Oracle ADFスキン・エディタのインストール』.を参照してください。
注意: また、Oracle ADF Essentialsと呼ばれるOracle ADFのサブセットを使用してアプリケーションを開発およびデプロイすることも可能です。Oracle ADF EssentialsはOracle ADFの主要テクノロジの無料パッケージで、これを使用してアプリケーションを開発し、ライセンス・コストなしでGlassFishなどの複数のアプリケーション・サーバーにデプロイできます。GlassFishに対してサポートされているOracle ADF Essentials機能の一覧は、OTNサイト( |