Oracle® Fusion Middleware Oracle Application Development Framework Java EE開発者ガイド 11gリリース2(11.1.2.3.0) B66160-03 |
|
![]() 前 |
![]() 次 |
この章では、EJB 3.0アノテーションを使用するセッションBeanとエンティティBean、Java Persistence API(JPA)、ADFモデル、ADF ControllerおよびADF Facesリッチ・クライアントによるWebアプリケーションの構築に使用される場合のOracle Application Development Framework(Oracle ADF)のアーキテクチャと主な機能について説明します。
この章には、次の項が含まれます:
Oracle Application Development Framework (Oracle ADF)は、JavaプラットフォームEnterprise Edition (Java EE)標準とオープン・ソース・テクノロジを基盤とするエンドツーエンドのアプリケーション・フレームワークであり、エンタープライズ・アプリケーションの実装を簡略化および迅速化するものです。Web、無線、デスクトップ、Webサービスなどのインタフェースを使用してデータを検索、表示、作成、変更、検証するエンタープライズ・ソリューションを構築する場合は、Oracle ADFで作業を簡素化できます。Oracle JDeveloperとOracle ADFを組み合せて使用すると、設計からデプロイに至る開発ライフサイクル全体に対応した環境が提供され、ドラッグ・アンド・ドロップによるデータ・バインディング、ビジュアルUI設計、チーム開発などの組込み機能を使用できます。
図1-1は、Webアプリケーション・アーキテクチャを構成する各Oracle ADFモジュールの場所を示しています。フレームワークの中核モジュールは、宣言的なデータ・バインディング機能であるADFモデルです。ADF Modelレイヤーにより、統一化されたアプローチを使用して、各ユーザー・インタフェースをコード記述なしで任意のビジネス・サービスにバインドできます。アプリケーション・テクノロジ・スタックを構成する、EJB以外の他のモジュールは次のとおりです:
ADF Facesリッチ・クライアント: JavaServer Faces(JSF)で構築されるWebアプリケーションに豊富なAJAX対応のUIコンポーネント・ライブラリを提供します。ADF Facesの詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Webユーザー・インタフェース開発者ガイド』を参照してください。
ADF Controller: JSFをADF Modelに統合します。ADF Controllerは、JSFページ間のみでなく、メソッド・コールやその他のタスク・フローなど、他のアクティビティ間に制御を渡す再利用可能なタスク・フローなどの追加機能を提供することにより、標準JSFコントローラを拡張します。ADFコントローラの詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のADFタスク・フロー・スタート・ガイドに関する項を参照してください。
注意: ADF Facesに加えて、Oracle ADFはSwing、JSPおよび標準のJSFビュー・テクノロジもサポートしています。これらのテクノロジの詳細は、Oracle Fusion Middleware Oracle JDeveloperユーザー・ガイドを参照してください。Oracle ADFでは、アプリケーションのビュー・レイヤーとしてのMicrosoft Excelの使用もサポートされます。詳細は、『Oracle Fusion Middleware Oracle Application Development Frameworkのためのデスクトップ統合開発者ガイド』を参照してください。 |
Oracle ADFでは、開発プロセスを通して宣言的なプログラミング・パラダイムを使用することが重視されます。これによって、ユーザーは、アプリケーション作成のロジックに集中でき、実装の詳細を知る必要がなくなります。Oracle ADFとともにJDeveloperを使用すると、データ・アクセス、検証、ページ・コントロールおよびナビゲーション、ユーザー・インタフェース設計、データ・バインディングでアプリケーションの宣言的メタデータを自動的に管理する生産性の高い環境が実現します。
高度なJava EE Webアプリケーションの宣言的開発プロセスには、通常、次の中核となる手順が含まれます。
アプリケーション・ワークスペースの作成: ウィザードを使用して、選択したテクノロジに必要なライブラリと構成の追加およびパッケージとディレクトリを含むプロジェクトへのアプリケーションの構成が、JDeveloperによって自動的に行われます。詳細は、Oracle Fusion Middleware Oracle JDeveloperユーザー・ガイドのアプリケーションの作成方法に関する項を参照してください。
永続モデルの作成: ウィザードやダイアログを使用して、データベース表からEJB 3.0エンティティBeanを作成します。これらのBeanから、アプリケーションのページで使用されるファサードであるセッションBeanを作成します。JDeveloperでEJBを使用する方法の詳細は、Oracle Fusion Middleware Oracle JDeveloperユーザー・ガイドのEJBおよびJPAコンポーネントを使用した開発に関する項を参照してください。
サービスのデータ・コントロールの作成: エンティティBeanとセッションBeanを作成したら、メタデータ・インタフェースを使用して、EJB実装を抽象化し、使用されるプロパティ、メソッドおよびタイプに関する情報などの操作とデータ・コレクションを表すデータ・コントロールを作成します。これらのデータ・コントロールは「データ・コントロール」パネルに表示され、これらをページにドラッグしてデータバインドされたUIコンポーネントを作成できます。詳細は、第2章「Java EE WebアプリケーションでのADFモデル・データ・バインディングの使用」を参照してください。
データ・コントロールへの宣言的なメタデータの追加: データ・コントロールにUIコントロール・ヒント、検証ルール、検索フォームでの使用条件やその他の機能を追加できます。詳細は、第3章「データ・コントロールへのビジネス・ロジックの追加」を参照してください。
JSFによるユーザー・インタフェースの実装: JDeveloperの「データ・コントロール」パネルには、アプリケーションのBeanが表示されます。ユーザー・インタフェースの作成は簡単で、オブジェクトをページにドラッグし、ベースとなるデータを表示するUIコンポーネントを選択するだけです。データバインドされていないUIコンポーネントの場合、コンポーネント・パレットを使用してコンポーネントをドラッグ・アンド・ドロップします。JDeveloperによって、すべてのページ・コードが作成されます。詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のJSFを使用したユーザー・インタフェースの実装に関する項を参照してください。
特定のタイプのWebページの作成については、このガイドの次の箇所を参照してください。
アプリケーションのデプロイ: ウィザードとエディタを使用して、デプロイメント・ディスクリプタ、JARファイルおよびアプリケーション・サーバー接続を作成します。詳細は、第9章「ADF Java EEアプリケーションのデプロイ」を参照してください。
注意: Oracle ADFモジュールを使用したJava EEアプリケーションの開発プロセスは、Fusion Webアプリケーションの開発と非常によく似ています。主な違いは、Fusion Webアプリケーションでは、バックエンド・サービスにADF Business Componentsが使用されることです。両方のアプリケーション・タイプで開発プロセスと開発手順が同じ場合、このガイドでは、その詳細について、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』を参照します。 Fusion開発者ガイド内のADF Business Componentsに関する情報(エンティティ・オブジェクトやビュー・オブジェクトなど)は無視してください。EJB/JPAに関する同様の情報は、Oracle Fusion Middleware Oracle JDeveloperユーザー・ガイドのEJBおよびJPAコンポーネントを使用した開発に関する項を参照してください。 |
Oracle ADFを使用した前述のJava EEアプリケーションの中核となる手順に加え、JDeveloperでは次のタスクを実行するためのツールも提供しています。これらのタスクの詳細は、このガイドで説明していません。
データベース・オブジェクトのモデル化: データベースのオフライン・レプリカを作成し、JDeveloperのエディタとダイアグラマを使用して定義の編集やスキーマの更新を行うことができます。詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のデータベース・オブジェクト定義によるモデル化に関する項を参照してください。
ユースケースの作成: UMLモデラーを使用して、アプリケーションのユースケースを作成できます。詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のユースケースの作成に関する項を参照してください。
アプリケーション・コントロールおよびナビゲーションの設計: ダイアグラマを使用して、アプリケーション・コントロールおよびナビゲーションのフローを視覚的に決定します。JDeveloperによって、ベースとなるXMLが作成されます。詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のADFタスク・フローを使用したアプリケーション・コントロールおよびナビゲーションの設計に関する項を参照してください。
共有リソースの識別: アプリケーションにドラッグ・アンド・ドロップするだけで、インポートされたライブラリを表示したり、使用できるリソース・ライブラリを使用します。詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』の共有リソースの識別に関する項を参照してください。
アプリケーションの保護: エディタを使用してロールを作成し、テスト・ユーザーに実装します。フラット・ファイル・エディタを使用して、これらのロールにセキュリティ・ポリシーを定義し、アプリケーション内の特定のリソースに割り当てます。詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』の「Fusion WebアプリケーションでのADFセキュリティの有効化」を参照してください。
カスタマイズ可能なページとアプリケーションの開発: Oracle Metadata Services (MDS)のカスタマイズ機能を使用して、顧客がカスタマイズでき、かつ容易にアップグレードできるアプリケーション、エンド・ユーザーがアプリケーションのUIを実行時に変更できるページおよび実行時に完全にカスタマイズ可能なアプリケーションを作成できます。詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』の「MDSによるアプリケーションのカスタマイズ」および「実行時のユーザーによるカスタマイズの許可」を参照してください。
テストとデバッグ: JDeveloperには、統合されたアプリケーション・サーバーが含まれていて、パッケージ化してデプロイすることなく、アプリケーションを完全にテストできます。JDeveloperには、ブレークポイントを設定してデータを調べることができるツールのADF宣言デバッガも含まれています。詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』の「ADFコンポーネントのテストとデバッグ」を参照してください。
このガイドの補足として、Java EEおよびOracle ADFのWebアプリケーション・テクノロジ・スタックを使用してトランザクション・ベースのWebアプリケーションを作成する方法を示すために、Summitデモ・アプリケーションが作成されました。デモ・アプリケーションを通して、要点が示され、サンプル・コードが提供されます。
Summitアプリケーションには、既存のOracleデータベースが必要です。Summitアプリケーションの実行には、Oracle JDeveloper 11gリリース2を使用します。
Summitアプリケーションをインストールする前に、次の手順に従います。
Oracle JDeveloperをインストールします。アプリケーションのプロジェクトを表示し、JDeveloper統合サーバーでアプリケーションを実行するには、Oracle JDeveloper 11gリリース2のStudio構成が必要です。Oracle JDeveloperは、次のURLからダウンロードできます。
http://www.oracle.com/technetwork/developer-tools/jdev/overview/index.html
SummitアプリケーションのZIPファイル(Summit_JPA.zip
)をダウンロードします。このZIPファイルは次のURLからダウンロードできます。
http://www.oracle.com/webfolder/technetwork/jdeveloper/downloads/Summit_JPA/Summit_JPA.zip
Summitデータベース・スキーマ(Summit_Schema.zip
)をダウンロードします。このZIPファイルは次のURLからダウンロードできます。
http://www.oracle.com/webfolder/technetwork/jdeveloper/downloads/Summit_JPA/Summit_Schema.zip
Oracleデータベースをインストールします。Summitアプリケーションには、そのデータ用のデータベースが必要です。
Oracleデータベース用にSQLスクリプトが作成されているため、11gやXEなどのOracle RDBMSの特定のバージョンが必要になります。スクリプトはOracle Liteにはインストールされません。Oracle Liteやその他のデータベースを使用する場合は、データベース・スクリプトを適宜変更する必要があります。Oracleデータベースは、次のURLからダウンロードできます。
http://www.oracle.com/technetwork/index.html
特に、ローカル・マシンにデータベースを設定するには、容量を節約できるOracle Express Edition(XE)が最適です。Oracle Express Editionは次のURLからダウンロードできます。
http://www.oracle.com/technetwork/database/express-edition/overview/index.html
Summitデモ・アプリケーションをインストールして実行する方法は、次のドキュメントの手順に従ってください。
http://www.oracle.com/technetwork/developer-tools/jdev/learnmore/summitjpainstructions-364887.pdf
Summitアプリケーションは、Model
という名前のビジネス・サービス・プロジェクトとViewController
という名前のWebユーザー・インタフェース・プロジェクトで構成されます。ViewController
プロジェクトを実行することによってSummitアプリケーションを実行します。ViewController
プロジェクトでは、ビュー・テクノロジとしてJavaServer Faces(JSF)を使用し、Model
プロジェクトでは、EJBとの対話にADFモデル・レイヤーを使用します。
図1-2は、アプリケーション・ワークスペースのファイルを開いた後のアプリケーション・ナビゲータを示しています。
Oracle JDeveloperでデモ・アプリケーションのプロジェクトを開くと、各プロジェクト内のアーティファクトの確認を開始できます。Model
プロジェクトには、Webアプリケーションにデータを表示できるようにするJava クラスとメタデータ・ファイルが含まれています。model
パッケージにはJavaクラスおよびDataControls.dcx
ファイルが含まれています。persdef.model
パッケージにはデータ・コントロールの構造ファイルが含まれており、これらにはmodel
パッケージの一部のBeanの宣言的メタデータが含まれています。図1-3は、Model
プロジェクトおよび関連するディレクトリを示しています。
ViewController
プロジェクトには、バッキングBean、デプロイメント・ファイル、JSPXファイルなど、Webインタフェース用のファイルが含まれています。「アプリケーション・ソース」ノードには、マネージドBeanおよびOracle ADFによってバインド・データの表示に使用されるメタデータなど、Webクライアントで使用されるコードが含まれています。「Webコンテンツ」ノードには、JSPファイル、イメージ、スキン・ファイル、デプロイメント・ディスクリプタ、ライブラリなどのWebファイルが含まれています。図1-4は、ViewController
プロジェクトおよび関連するディレクトリを示しています。