ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Application Development Frameworkの理解
12c (12.1.2)
E48094-02
  目次へ移動
目次

前
 
次
 

1 Oracle ADFの概要

この章では、Oracle Application Development Framework (Oracle ADF)のアーキテクチャとコンポーネントの概要について説明します。

この章には次の項が含まれます:

1.1 Oracle ADFについて

Oracle Application Development Framework (Oracle ADF)は、Java EE標準およびオープンソース・テクノロジを構築してエンタープライズ・アプリケーションの実装を簡単かつ高速にするエンドツーエンド・アプリケーション・フレームワークです。Oracle ADFは、Web、モバイル、およびデスクトップ・インタフェースを使用してデータを検索、表示、作成、変更および検証するアプリケーションを作成する企業の開発者に適しています。

Oracle ADFフレームワーク全体を使用してアプリケーションを作成したり、他のテクノロジと組み合せてフレームワークの一部を使用したりできます。このガイドでは、ADFテクノロジを備えたアプリケーションを一般的にADFアプリケーションと呼びます。ビジネス・サービス、モデル、コントローラ、およびビューのレイヤーを通してADFテクノロジが組み込まれたWebアプリケーションを、Fusion Webアプリケーションと呼びます。

1.2 Oracle ADFの主要概念

Oracle ADFは次の概念に基づいています。

より広範囲のFusion Middlewareスタックの主要コンセプトは、Oracle Fusion Middlewareの理解を参照してください。

1.3 Oracle ADFの主要コンポーネント

この項では、ADFスタックの中核をなす高度なコンポーネントの概要を説明します。そのコンポーネントには、JavaServer Faces (JSF)や通常はアプリケーションの一部であるその他のビジネスおよびデータ・サービスなどの基礎となるテクノロジの一部が含まれています。モデル、ビューおよびコントローラ(MVC)のコンポーネントなど、アーキテクチャ全体についての図は、図1-1を参照してください。

図1-1 ADFアーキテクチャ

ADFアーキテクチャのレイヤーを示した図

1.3.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)

1.3.2 ADFビジネス・コンポーネント

ADFビジネス・コンポーネントは、Java EEデザイン・パターンとベストプラクティスに基づいたビルトイン・アプリケーション・オブジェクトです。これにより、複雑で高性能かつデータベース中心のサービスの開発と保守が簡単になります。

サービス指向のJava EEアプリケーションを作成するとき、開発者はコア・ビジネス・ロジックを1つ以上のビジネス・サービスとして実装します。これらのバックエンド・サービスには、入力の検証など適切なビジネス・ルールを実施する際に、必要に応じてビジネス・データの問合せ、挿入、更新および削除を実行する方法を備えたクライアントが用意されています。ADFビジネス・コンポーネントを使用すると、JDeveloperのウィザードとビジュアル・エディタを宣言的に使用して必要なメタデータを生成するようなサービスを開発できます。

ADFビジネス・コンポーネント・アプリケーション・モジュールの作成時、それをカプセル化するサービスがデータ・コントロールとしてADFモデルを介して公開されます。それらのデータ・コントロールを使用してWebページやその他のユーザー・インタフェース上にデータバインドされたコンポーネントを作成できます。最も一般的なユースケースでは、そのように、Javaコードを記述せずにアプリケーション一式を作成できます。

1.3.3 ADF Controller

MVCアプリケーションのコントローラ・レイヤーでは、ADF ControllerによりJSFのコントローラ・レイヤーの上に拡張ナビゲーションおよび状態管理モデルが提供されています。JDeveloperを使用すると、各種アクティビティ(ページ、マネージドBean上のメソッド、宣言的ケース文や他のタスク・フローへのコールなど)の間のアプリケーション・コントロールを管理できるタスク・フローを宣言的に作成できます。さらに、バインドされたタスク・フローを作成でき、これは全体のタスク・フローからコールできる再利用可能なタスク・フロー・セグメントとなります。

1.3.4 ADF Faces

ADF Facesには、ADFアプリケーション用のビュー・レイヤーが用意されています。ADF Facesは、ビュー・フレームワーク一式であり、すべてがJSF標準上に構築されている、150を超えるAjax有効のJavaServer Faces (JSF)コンポーネントで構成されています。ADF Facesは、他の非ADFコントローラとモデル・テクノロジとともに稼働するスタンドアロン・コンポーネント・セットとして使用することも可能です。

1.3.5 ADFモバイル・ブラウザ

ADFモバイル・ブラウザを使用すると、小型デバイス上のブラウザ用に最適化されたアプリケーション・ビューを作成できます。

1.3.6 ADFデスクトップ統合

ADFデスクトップ統合により、開発者は、エンドユーザーがクライアントとしてMicrosoft Excelワークブックを使用しながらアプリケーションを稼働できるようにFusion Webアプリケーションを拡張できます。

1.3.7 ADF Swing

ADF Swingは、ADFモデルを使用してビジネス・サービスにアクセスするデータバインドされたJavaクライアントを開発するためのフレームワークです。ADF Swingを使用して、ADFビジネス・コンポーネント、Enterprise JavaBeansコンポーネント、Webサービスなどの多数のビジネス・サービスをバックエンド上で稼働させることができます。このガイドでは、ADF Swingについては取り上げません。ADF Swingの詳細は、『Oracle Application Development Framework Swingアプリケーションの開発』を参照してください。

1.3.8 ADFセキュリティ

ADFセキュリティ・フレームワークでは、Oracle Platform Security Services (OPSS)アーキテクチャを使用して、ADFアプリケーションの保護を容易にするためにOracle Platform Security Services (OPSS)アーキテクチャを拡張し、バインド・タスク・フローなどのADFリソースに対するファイングレイン・アクセス制御を有効にします。

1.3.9 Oracle Metadata Services

Oracle Metadata Services (MDS)フレームワークにより、顧客が自社のユーザーや顧客に対してさらにカスタマイズでき、エンドユーザーもパッチ適用や更新の際にソース・コードを操作したりアプリケーションの機能に影響を与えたりしないでにカスタマイズできるアプリケーションを作成できます。

1.4 主要管理ツールとプロセス

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で提供されるサポートより多くの制限があります。詳細は、http://www.oracle.com/technetwork/developer-tools/eclipse/overview/index.htmlを参照してください。


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サイト(http://www.oracle.com/technetwork/developer-tools/adf/overview/adfessentials-1719844.html)にアクセスしてください。