1 Oracle ADFの概要
この章の内容は次のとおりです。
このマニュアルやその他のマニュアルの用語の定義については、「用語集」を参照してください。
Oracle ADFについて
Oracle Application Development Framework (Oracle ADF)を使用すると、Fusion Webアプリケーション(または単純にADFアプリケーション)と呼ばれる、データバインドされた対話型のWebアプリケーションの開発がシンプルになります。Oracle ADFで作成されたアプリケーションはJava EE標準に準拠し、Oracle Fusion Middlewareスタックと統合されています。
Oracle Application Development Framework (Oracle ADF)は、Java EE標準およびオープンソース・テクノロジを構築してエンタープライズ・アプリケーションの実装を簡単かつ高速にするエンドツーエンド・アプリケーション・フレームワークです。Oracle ADFは、Web、モバイル、およびデスクトップ・インタフェースを使用してデータを検索、表示、作成、変更および検証するアプリケーションを作成する企業の開発者に適しています。
Oracle ADFフレームワーク全体を使用してアプリケーションを作成したり、他のテクノロジと組み合せてフレームワークの一部を使用したりできます。このガイドでは、ADFテクノロジを備えたアプリケーションを一般的にADFアプリケーションと呼びます。ビジネス・サービス、モデル、コントローラ、およびビューのレイヤーを通してADFテクノロジが組み込まれたWebアプリケーションを、Fusion Webアプリケーションと呼びます。
Oracle ADFの主要概念
Oracle ADFは、エンタープライズ・アプリケーションを構築するための市販のJavaフレームワークです。すぐに使用できるデザイン・パターン、メタデータドリブン・ツールおよびビジュアル・ツールに基づいた短期間でのアプリケーション開発をサポートします。
Oracle ADFは次の概念に基づいています。
-
Web、モバイルおよびデスクトップ・クライアントを対象とした豊富なコンポーネント・セット
-
宣言的で再利用可能なビジネス・ロジックおよび検証
-
宣言的なデータ・バインディング
-
UI関連とデータ関連の要素の分割(MVCアーキテクチャ)
-
強化されたページ・フロー機能(モジュール化タスク・フローや再利用可能なタスク・フローなど)
-
ADFリソース上の宣言的セキュリティ
-
メタデータを介した顧客レベルおよび開発者レベルのカスタマイズ
より広範囲のFusion Middlewareスタックの主要コンセプトは、『Oracle Fusion Middlewareの理解』の「Oracle Fusion Middlewareの概要」を参照してください。
Oracle ADFの主要コンポーネント
Oracle ADFアーキテクチャは、モデル、ビュー、コントローラおよびビジネス・サービスの4つのレイヤーで構成されるModel-View-Controller (MVC)デザイン・パターンに基づいています。アプリケーションをこれらのレイヤーに分けると、アプリケーション間でのコンポーネントのメンテナンスおよび再利用性に役立ちます。
この項では、ADFスタックの中核をなす高度なコンポーネントの概要を説明します。そのコンポーネントには、JavaServer Faces (JSF)や通常はアプリケーションの一部であるその他のビジネスおよびデータ・サービスなどの基礎となるテクノロジの一部が含まれています。モデル、ビューおよびコントローラ(MVC)のコンポーネントなど、アーキテクチャ全体についての図は、図1-1を参照してください。
ADFモデル
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ビジネス・コンポーネント
ADFビジネス・コンポーネントは、Java EEデザイン・パターンとベストプラクティスに基づいたビルトイン・アプリケーション・オブジェクトです。これにより、複雑で高性能かつデータベース中心のサービスの開発と保守が簡単になります。
サービス指向のJava EEアプリケーションを作成するとき、開発者はコア・ビジネス・ロジックを1つ以上のビジネス・サービスとして実装します。これらのバックエンド・サービスには、入力の検証など適切なビジネス・ルールを実施する際に、必要に応じてビジネス・データの問合せ、挿入、更新および削除を実行する方法を備えたクライアントが用意されています。ADFビジネス・コンポーネントを使用すると、JDeveloperのウィザードとビジュアル・エディタを宣言的に使用して必要なメタデータを生成するようなサービスを開発できます。
ADFビジネス・コンポーネント・アプリケーション・モジュールの作成時、それをカプセル化するサービスがデータ・コントロールとしてADFモデルを介して公開されます。それらのデータ・コントロールを使用してWebページやその他のユーザー・インタフェース上にデータバインドされたコンポーネントを作成できます。最も一般的なユースケースでは、そのように、Javaコードを記述せずにアプリケーション一式を作成できます。
ADF Controller
MVCアプリケーションのコントローラ・レイヤーでは、ADF ControllerによりJSFのコントローラ・レイヤーの上に拡張ナビゲーションおよび状態管理モデルが提供されています。JDeveloperを使用すると、各種アクティビティ(ページ、マネージドBean上のメソッド、宣言的ケース文や他のタスク・フローへのコールなど)の間のアプリケーション・コントロールを管理できるタスク・フローを宣言的に作成できます。さらに、バインドされたタスク・フローを作成でき、これは全体のタスク・フローからコールできる再利用可能なタスク・フロー・セグメントとなります。
ADF Faces
ADF Facesには、ADFアプリケーション用のビュー・レイヤーが用意されています。ADF Facesは、ビュー・フレームワーク一式であり、すべてがJSF標準上に構築されている、150を超えるAjax有効のJavaServer Faces (JSF)コンポーネントで構成されています。ADF Facesは、他の非ADFコントローラとモデル・テクノロジとともに稼働するスタンドアロン・コンポーネント・セットとして使用することも可能です。
ADFモバイル・ブラウザ
ADF Facesコンポーネントでは、Apple社のiPad、Samsung社のGalaxy S5など、最近のポピュラーなスマートフォンやタブレットがサポートされています。基本的なHTMLブラウザを実行する古いデバイスやフィーチャ・フォンをサポートするには、ADFモバイル・ブラウザ・テクノロジを使用してください。このテクノロジでは、Apache MyFaces Trinidadコンポーネントを使用してユーザー・インタフェースを構築します。
このガイドでは、ADFモバイル・ブラウザ・テクノロジについては取り扱いません。詳細は、『Oracle Fusion Middleware Oracle ADFモバイル・ブラウザ・アプリケーションの開発』の「Oracle ADFモバイル・ブラウザの概要」を参照してください。サポートされているモバイル・ブラウザの詳細は、動作保証情報(http://www.oracle.com/technetwork/developer-tools/jdev/documentation/index.html
)を参照してください。
ADFデスクトップ統合
ADFデスクトップ統合により、開発者は、エンドユーザーがクライアントとしてMicrosoft Excelワークブックを使用しながらアプリケーションを稼働できるようにFusion Webアプリケーションを拡張できます。
ADFセキュリティ
ADFセキュリティ・フレームワークでは、Oracle Platform Security Services (OPSS)アーキテクチャを使用して、ADFアプリケーションの保護を容易にするためにOracle Platform Security Services (OPSS)アーキテクチャを拡張し、バインド・タスク・フローなどのADFリソースに対するファイングレイン・アクセス制御を有効にします。
主要管理ツールとプロセス
Oracle JDeveloper IDEでは、ADFアプリケーションの開発、実行およびデバッグをすべて行うための設計時および実行時サポートが提供されています。他のツールは必要ありませんが、JDeveloperは、追加の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を使用したFusion Webアプリケーションの構築の概要」を参照してください。Oracle ADFに固有でないJDeveloper機能の詳細は、『Oracle JDeveloperによるアプリケーションの開発』の「Oracle JDeveloperの概要」を参照してください。
注意:
また、ADFアプリケーションはOracle Enterprise Pack for Eclipse (OEPE)を使用して開発することもできます。OEPEはJava EE環境をサポートするためにEclipse IDE向けに設計された一連のプラグインです。また、OEPEにはADFアプリケーション開発のサポート機能も含まれていますが、そのサポート機能はJDeveloperによって提供されている機能より限定されています。詳細は、http://www.oracle.com/technetwork/developer-tools/eclipse/overview/index.html
を参照してください。
ADFデスクトップ統合のサポートにより統合Microsoft Excelワークブックを開発するには、ADFデスクトップ統合アドインをJDeveloperにインストールする必要があります。詳細は、『Oracle ADFデスクトップ統合によるアプリケーションの開発』のADFデスクトップ統合のインストールに関する項を参照してください。
ADFスキンの設計および変更については、JDeveloperが提供するエディタを使用できます。詳細は、『Oracle Fusion Middleware Oracle ADFスキンの開発』のJDeveloperでのADFスキンの操作に関する項を参照してください。
注意:
また、Oracle ADF Essentialsと呼ばれるOracle ADFのサブセットを使用してアプリケーションを開発およびデプロイすることも可能です。Oracle ADF EssentialsはOracle ADFの主要テクノロジの無料パッケージで、これを使用してアプリケーションを開発し、ライセンス・コストなしでGlassFishなどの複数のアプリケーション・サーバーにデプロイできます。GlassFishに対してサポートされているOracle ADF Essentials機能の一覧は、OTNサイト(http://www.oracle.com/technetwork/developer-tools/adf/overview/adfessentials-1719844.html
)にアクセスしてください。