JDeveloper 11g によるリッチクライアント開発第5章 ADF Modelを使用したアプリケーションの作成日本オラクル株式会社 セールスコンサルティング統括本部 Fusion Middleware SC本部 Fusion Middleware レディネス部 智野 潤子 (ちの じゅんこ) Part1 | Part2 この章では、ADF Modelが提供するデータ・バインドの仕組みを使用した、Oracle Databaseにアクセスするアプリケーションの開発をチュートリアル形式で説明します。Part1では、ADF Business Components(以下ADF BC)を使用して、Oracle Databaseにアクセスするコンポーネントを作成します。
なお、このチュートリアルでは 第4章「テーブルを使用したアプリケーションの作成」で作成したJSFページ(index.jspx)にコンポーネントを追加しています。 目次Part1 Part2
ADF Modelとはチュートリアルを始める前に、この章で使用するADF Modelの特長とアーキテクチャについて説明します。
ページ定義ファイルは、ドラッグ&ドロップなどの直感的な操作により生成・編集することができるので、開発者が直接編集する必要はありません。
NOTE データベースの準備この章で作成するアプリケーションは、Oracle Databaseのサンプル・ユーザーHRが所有する2つの表を使用することを前提としています。
なお、Oracle JDeveloper 11gテクノロジ・プレビューで動作確認されているデータベースは次のとおりです。
データベース接続の作成JDeveloperでは、データベースやアプリケーション・サーバーに接続するために必要な情報を登録することができます。
これにより、[データベース接続の作成]ダイアログが起動されるので、使用するデータベースにアクセスするための情報を入力します。
[データベース接続の作成]ダイアログの[OK]ボタンをクリックすると、リソース・パレットの[IDE接続]パネルにHRユーザーのスキーマ・オブジェクトが種類ごとにフォルダに分類され、参照できるようになります。
データベース・アクセス・コンポーネントの作成このチュートリアルでは、データベースにアクセスするコンポーネントをADF BCを使用して作成します。
ADF BCは、JDBCによるコーディングなしにデータベースにアクセスするJavaコンポーネントを開発するためのフレームワークです。Java EEアプリケーションで実績のあるさまざまなデザイン・パターンが実装されているため、最適化されたデータベース・アクセス・コンポーネントを、簡単な設定だけで作成することができます。
データベース表の定義情報の取得ADF BCでは、使用するデータベース表(またはビュー、シノニム、スナップショット)の定義情報をエンティティ・オブジェクトと呼ばれるコンポーネントに格納します。このチュートリアルでは、ビジネス・コンポーネント・ダイアグラムを使用してエンティティ・オブジェクトを作成する手順を紹介します。ビジネス・コンポーネント・ダイアグラムを作成するには、アプリケーション・ナビゲータで[Model]を右クリックし、コンテキスト・メニューから[新規]を選択します。
[新規ギャラリ]ウィンドウが起動されたら、画面左側の[カテゴリ]ツリーから[Business Tier]→[ADF Business Components]をクリックし、画面右の[アイテム]リストから[ビジネス・コンポーネント・ダイアグラム]を選択します。
[新規ギャラリ]ウィンドウで[OK]ボタンをクリックすると、[ビジネス・コンポーネント・ダイアグラムの作成]ダイアログが表示されるので、デフォルトの設定を使用することにして[OK]ボタンをクリックします。
[ビジネス・コンポーネント・ダイアグラムの作成]ダイアログで[OK]ボタンをクリックすると、エディタ・ウィンドウに空のダイアグラムが表示されます。リソース・エディタの[hr]接続の[表]フォルダ内にある[DEPARTMENTS]と[EMPLOYEES]を[Ctrl]キーを押しながら選択してから、ダイアグラムにドラッグ&ドロップします。
これにより、[別名で作成]ダイアログが表示されます。[ビジネス・コンポーネントのエンティティ・オブジェクト]が選択されていることを確認して、[OK]ボタンをクリックします。
[別名で作成]ダイアログで[OK]ボタンをクリックすると、ADF BCのエンティティ・オブジェクトがダイアグラムに表示されます。
生成されたコンポーネントここまでの操作によって、次の2種類のコンポーネントが生成されます。
問合せの定義次に、データベース表に対して問合せを実行するコンポーネントを作成します。ダイアグラムの何も表示されていない部分を右クリックし、コンテキスト・メニューから[生成]→[ダイアグラムのデフォルト・データ・モデル・コンポーネント]を選択します。
これにより、[デフォルト・データ・モデル・コンポーネント]ウィザードが起動されます。[デフォルト・データ・モデル・コンポーネント]ウィザードのステップ1では、ビュー・オブジェクトおよびビュー・リンクのベースとなるエンティティ・オブジェクトとアソシエーションを指定します。このチュートリアルでは、次の2つを使用しないので、選択を解除([選択済]リストから次の2つを選択した状態で[<]ボタンをクリック)します。
[選択済]リストに次の3つが表示されていることを確認してから、[次へ]ボタンをクリックします。
[デフォルト・データ・モデル・コンポーネントの作成]ウィザードのステップ2では、アプリケーション・モジュールのパッケージ名と名前を指定します。このチュートリアルではデフォルトの設定を使用することにして、[次へ]ボタンをクリックします。
[デフォルト・データ・モデル・コンポーネントの作成]ウィザードの終了ページには、入力した情報に基づいて生成されるコンポーネントの一覧が表示されます。
[デフォルト・データ・モデル・コンポーネントの作成]ウィザードの終了ページで[終了]ボタンをクリックすると、アプリケーション・ナビゲータは図19のように表示されます。
生成されたコンポーネントこの節で説明した操作によって次の3種類のコンポーネントとADF Data Controlが生成されます。
図21は、ADF BCの実行イメージを表しています。
またアプリケーション・モジュールが生成されたことにより、アプリケーション・モジュール用のADF Data Control(AppModuleDataControl)も自動的に生成されています。アプリケーション・ナビゲータの[データ・コントロール]バーをクリックすると、AppModuleDataから使用することができるデータ項目がツリー形式で表示されています。
作成したコンポーネントのテストADF BCは作成したコンポーネントの動作を確認するためのテスト用のユーザー・インタフェースを提供しています。アプリケーション・ナビゲータで[AppModule]を右クリックし、コンテキスト・メニューから[実行]を選択します。
これにより、[ビジネス・コンポーネント・コンフィギュレーションの選択]ダイアログが表示されるので、画面下部の[接続]ボタンをクリックします。
[ビジネス・コンポーネント・コンフィギュレーションの選択]ダイアログの[接続]ボタンをクリックすると、[Oracle Business Component Browser]ウィンドウが起動されます。画面左側のツリーに表示されているビュー・オブジェクト(EmployeesView1、DeparmtentsView1)をダブルクリックすると、そのビュー・オブジェクトによって取得したデータが1件ずつ表示され、データのスクロールや編集、追加、削除を実行できます。また、ツリーに表示されているビュー・リンク(EmpDeptFkLink1)をダブルクリックすると、マスター・データが上部に、ディテール・データが下部に表示されます。ビュー・オブジェクトと同様にデータの編集、追加、削除も可能です。
今回は、ADF Business Components(以下ADF BC)を使用して、Oracle Database にアクセスするコンポーネントを作成しました。Part2では、データベースの問合せ結果をテーブルやグラフで表示します。 Part1 | Part2
|