このチュートリアルでは、JDeveloper 11.1.2の優れた機能を利用して、EJB、JPA、JavaServer Facesを使用したWebアプリケーションを作成します。
Show more or less詳細表示
目的 所要時間 アプリケーション

このチュートリアルでは、Oracle JDeveloper 11g Version 11.1.2.0.0を使用してWebアプリケーションを構築します。データ・モデルを構築するため、EJBダイアグラマ、EJB 3.0、Java Persistence API(JPA)を使用します。Webクライアント側では、JavaServer Faces(JSF)が使用されます。メインのマスター/ディテール・ページは、ユーザー・インタフェースの問合せ機能と編集機能を使用して作成されます。また、検索機能を備えたタスク・フローがページの領域として追加されます。
これから作成するアプリケーションの完成版を確認するには、「Download」ボタンをクリックして最終アプリケーションのzipファイルをダウンロードし、JDeveloperのmyworkフォルダに解凍します。

90分 zipファイルのダウンロード
パート1:EJB 3.0を使用したデータ・モデルの構築
最初に、アプリケーションのデータ・モデル部分を構築します。Java Persistence API(JPA)は、オブジェクト・リレーショナル・マッピングのPOJO永続化モデルを提供します。
EJB/JPAコンポーネントを使用してモデルを構築します。Show more or less詳細表示
ステップ1:新規アプリケーションおよびプロジェクトの作成
コンポーネントを作成する前に、まず、アプリケーションとプロジェクトを作成する必要があります。
  1. スタート」→「すべてのプログラム」→「Oracle Fusion Middleware 11.1.2.0.0」→「JDeveloper Studio 11.1.2.0.0」を選択して、Oracle JDeveloperを起動します。

  2. ロールを選択するよう指示されたら、「Studio Developer (All Features) 」を選択して、「OK」をクリックします。

    起動時のSelect Roleダイアログ
  3. Tip of the Dayウィンドウを閉じます。

    ロードが終了すると、JDeveloper IDEが表示されます。Show more or less詳細表示
  4. Application」タブをクリックして、アプリケーション・ナビゲータに戻ります。「New Application」アイコンをクリックします。

    New Applicationリンク
  5. New Galleryで、「Fusion Web Application (ADF)」オプションを選択します。

    New Galleryダイアログ

    OK」をクリックします。

  6. Create Applicationダイアログ・ボックスで、アプリケーション名にHR_EJB_JPAと入力します。アプリケーション名を入力すると、ディレクトリ名が自動的に変更される点に注意してください。アプリケーション・パッケージの接頭辞としてoracleと入力します。

    Fusion Webアプリケーション作成のステップ1
    Fusion Web Applicationオプションを選択すると、2つのプロジェクトが作成されます。Show more or less詳細表示

    Finish」をクリックします。JDeveloperによってアプリケーション環境が作成されるまで待機します。

  7. 作成された2つのプロジェクトがアプリケーション・ナビゲータに表示されます。右側のペインに表示されるアプリケーション概要を確認すると、手順の完了状況を把握できます。

    Fusion Web Application向けに作成されたデフォルト・アプリケーションのナビゲータ
    アプリケーションには2つのプロジェクトが含まれています。Show more or less詳細表示
ステップ2:永続化モデルの作成
ここでは、Oracle Application Server EJB 3.0 Entity Beanを使用して、部門および従業員の永続化モデルを作成します。 EJB 3.0 Entity Beanを作成するには、以下の手順を実行します。
  1. アプリケーション・ナビゲータで「Model」ノードを右クリックし、コンテキスト・メニューから「New」を選択します。

    コンテキストのNewオプション

  2. New Galleryで、「All Features」タブを選択し、カテゴリとして「Business Tier」→「EJB」を選択し、「Entities from Tables」項目をダブルクリックします。

    New Galleryダイアログ

    OK」をクリックします。

  3. Select EJB Versionで、EJBバージョンとして「EJB 3.0 -- JPA Entities」が選択されていない場合はこれを選択し、「Next」をクリックします。

    表を使用したエンティティ作成のステップ1

    Next」をクリックして、永続性ユニットの定義をスキップします。

    EJB 3.0では、Entity Beanが大幅に簡素化され、POJO永続化モデルが標準化されています。Show more or less詳細表示
  4. Type of Connectionページで「Online Database Connection」オプションを選択します。「Next」をクリックします。

    表を使用したエンティティ作成のステップ3
  5. Database Connection Detailsページで、Createボタン「Addボタン」をクリックして新しい接続を作成します。

    表を使用したエンティティ作成のステップ4:データベース接続の定義
  6. 次の値を入力して、HRスキーマに対するデータベース接続を作成します。ここに例として示した値は、使用環境に合わせて変更する必要があります。

    オプション
    Connection Name HR
    Username/Password hr/<使用しているhrパスワード>
    Save Password チェック・ボックスを選択
    Driver Thin
    Host Name スキーマがインストールされているマシン(例:localhost)
    SID

    HRスキーマがインストールされているデータベース(XE、orclなど)

  7. Test Connection」をクリックして、接続可能であることを確認します。

    Create Database Connectionダイアログ
    接続に成功したら、「OK」をクリックします。Show more or less詳細表示
  8. Database Connection Detailsページに戻り、「Next」をクリックします。

    表を使用したエンティティ作成のステップ4
  9. Select Tablesページで「Query」をクリックし、HRスキーマに使用可能なオブジェクトを取得します。次に、「DEPARTMENTS」と「EMPLOYEES」を選択し、右矢印ボタン「右矢印ボタン」を使用してそれらをSelectedペインに移動します。

    表を使用したエンティティ作成のステップ5

    Next」をクリックします。

  10. ここで、パッケージ名がoracle.modelであることを確認します。

    表を使用したエンティティ作成のステップ6

    Next」に続き、「Finish」をクリックします。

  11. アプリケーション・ナビゲータには、DepartmentsEmployeesに1つずつjavaクラス・ファイルが作成されています。

    アプリケーション・ナビゲータ
  12. Save AllSave Allボタン」アイコンをクリックして作業内容を保存します。

ステップ3:EJBダイアグラムの作成

EJBダイアグラムは、エンティティやJava Bean、およびこれらのコンポーネント間の関係を作成し、表示します。EJBダイアグラムを作成するには、以下の手順を実行します。

  1. アプリケーション・ナビゲータで「Model」ノードを右クリックし、「New」を選択します。

    コンテキストのNewオプション
  2. New Galleryで、カテゴリとして「Business Tier」→「EJB」を選択し、「EJB Diagram (JPA/EJB 3.0)」項目をダブルクリックします。

    New Gallery

    OK」をクリックします。

  3. Create EJB Diagramダイアログで、デフォルト・ダイアグラム名(EJB Diagram1)をHR EJB Diagramに変更し、デフォルト・パッケージ名がoracle.modelであることを確認します。

     Create EJB Diagramダイアログ

    OK」をクリックします。

  4. Associate Diagram With Persistence Unitダイアグラムで「OK」をクリックし、Persistence Unitとして提示されたModel.jprを受け入れます。

    Associate Diagram With Persistence Unitダイアログ
  5. ダイアグラム・エディタで新しい空のダイアグラムが開きます。

    新しい空のダイアグラム b
    ダイアグラム上でのEJB/JPAコンポーネントのモデル化は、開発者にとって便利な機能です。Show more or less詳細表示
  6. アプリケーション・ナビゲータから「Departments」エンティティと「Employees」エンティティを選択し、ダイアグラムにドラッグ・アンド・ドロップします。

    EJBをドラッグして、ダイアグラムにドロップします。
  7. 先ほど部門表と従業員表から作成したEJBコンポーネントがダイアグラムに表示されます。必要に応じてズームインし、両方のエンティティが水平に整列するようにダイアグラムのレイアウトを変更します。エンティティ間の関係を選択し、コンテキスト・メニューからStraighten linesオプションを使用すると、ダイアグラムを整理して表示することができます。

    エンティティを含むEJBダイアグラム
  8. Save AllSave Allボタン」アイコンをクリックして作業内容を保存します。

ステップ4:ファサードBeanの作成とクライアント・アプリケーションへの公開
セッション・ファサードは、基礎となるEJB(Enterprise JavaBeans)との統一されたインタフェースをクライアント・オブジェクトに提供します。クライアントがやり取りするのは、サーバーに存在し、適切なEJBメソッドを呼び出すファサードのみです。Show more or less詳細表示

ここでは、従業員レコードおよび部門レコードを検索するメソッドを実装したSession Beanを作成します。

  1. コンポーネント・パレットで、「EJB Components」ライブラリを選択し、「EJB Nodes」を開きます。

    コンポーネント・パレット
  2. Session Beanコンポーネント「Session Beanボタン」を選択し、ダイアグラムにドラッグ・アンド・ドロップします。

    EJBダイアグラムへのSession Beanのドラッグ・アンド・ドロップ

    Create Session Beanウィザードが開きます(必要に応じて、Welcomeステップで「Next」をクリックします)。

  3. EJB Name and Optionsステップで、EJB NameをHRFacadeに設定し、次の値が適切に設定されていることを確認します。

    プロパティ
    EJB Name HRFacade
    Session Type Stateless
    Transaction Type Container
    Generate Session Facade Method (チェック)
    Entity Implementation JPA Entities
    Persistence Unit Model

    Create Session Beanウィザードのステップ2

    Next」をクリックします。

    Session Beanには、ステートフルとステートレスの2種類があります。Show more or less 詳細表示
  4. Session Facadeステップでは、このプロジェクトのエンティティがすべてツリー・コントロールのノードとして表示されます。すべてのエンティティ・メソッドを含むチェック・ボックスを選択することも、各ノードを開いてメソッドのサブセットを選択することもできます。
    Employees」ノードと「Departments」ノードを開き、それぞれのエンティティに対してすべてのメソッドを選択します。

    Create Session Beanウィザードのステップ3

    Next」をクリックします。

  5. Class Definitionステップで、Beanクラスのフルネームがoracle.model.HRFacadeBeanであることを確認してから、「Next」をクリックします。

    Create Session Beanウィザードのステップ4
  6. 次のステップでは、リモート・インタフェースとローカル・インタフェースの実装が選択されていることを確認します。リモート・インタフェースは、Javaクライアントなどの個別の仮想マシンで実行されるクライアント・アプリケーションで使用されます。一方ローカル・インタフェースは、Webクライアントなどの同じ仮想マシンで実行されるクライアント・アプリケーションで使用されます。

    Create Session Beanウィザードのステップ5

    Next」をクリックして、作成したクラスの内容を確認します。次に、「Finish」をクリックします。

  7. ダイアグラムは次のように表示されます。

    EJBダイアグラム
  8. アプリケーション・ナビゲータは、次のように表示されます。

    アプリケーション・ナビゲータ

    Session Beanは、3つのファイルで構成されています。Session Beanコードを含むHRFacadeBean、リモート・クライアントのBean機能を表すHRFacade、およびローカル・クライアントの機能を表すHRFacadeLocalです。

  9. Save AllSave Allアイコン」アイコンをクリックして作業内容を保存します。

ステップ5:EJB Session Beanを使用したADFデータ・コントロールの作成

ここでは、Oracle ADFフレームワークのデータ・コントロールとしてEJBを公開します。これによって、ユーザー・インタフェースをEJBにバインドする方法が簡素化されます。ADFフレームワークの詳細は、下記のWebサイトを参照してください。http://oracle.com/technology/products/adf
EJB Session BeanからADFデータ・コントロールを作成するには、次の手順を実行します。
  1. アプリケーション・ナビゲータで「HRFacadeBean」ノードを右クリックし、コンテキスト・メニューから「Create Data Control」を選択します。

    コンテキスト・メニュー
  2. Choose EJB Interfaceダイアログで、「Local」を選択し、「OK」をクリックします。

    Choose EJB Interfaceダイアログ

    Save AllSave Allアイコン」をクリックして作業内容を保存します。

  3. アプリケーション・ナビゲータは、次のように表示されます。

    アプリケーション・ナビゲータ
    データ・コントロールを作成すると、プロジェクトにさまざまな変更が追加されます。Show more or less 詳細表示
  4. Data Controls」アコーディオンを開き、UIから使用できるようになった作成済みのコンポーネントを確認します。

    Data Controlsペイン
  5. 利用可能なデータ・コントロールがData Control Registryに表示されることに注意してください。

    Data Control Registry
  6. HRFacadeLocal 」ノードを展開します。「departmentsFindAll」ノードを選択すると、右側にデータ・コントロールの詳細が表示されます。

    Data Control Registry
    DataControls.dcxファイルの概要エディタに、データ・モデルのマスター・ディテール階層ビューと、セッション・ファサードのメソッドが表示されます。Show more or less 詳細表示
  7. Model」プロジェクト・ノードを閉じ、いずれかのタブを右クリックして開いているタブをすべて閉じます。

    コンテキスト・メニュー
Bookmark Print すべて表示 | すべて非表示
トップへ戻る
Copyright © 2011, Oracle and/or its affiliates. All rights reserved.?