この方法によって、スキーマをインストールしてデータベースに接続し、アプリケーション・ファイルを編成するアプリケーションとプロジェクトを簡単に作成できます。 さらに、Oracle JDeveloperのIDEを操作して、アプリケーションのビジネス・サービスを作成します。
スキーマのインストール:Oracle Technology Network(OTN)からスキーマのzipファイルをダウンロードしてインストールします。 キュー・カードでは、Fusion Order Demo(FOD)スキーマの一部である表が使用されています。
新規アプリケーションとプロジェクトの作成:Create Applicationウィザードを使用して、アプリケーション、およびEJBコンポーネント・モデルとアプリケーションのユーザー・インタフェース部分用のプロジェクトを作成します。
データベース接続の作成:Create Database Connectionダイアログを使用して、スキーマへの接続を作成します。
表からのエンティティの作成:Create Entities from Tablesウィザードを使用して、JPAエンティティを作成します。
EJBダイアグラムの作成:Create EJB Diagramダイアログを使用し、表をダイアグラムにドラッグ・アンド・ドロップします。
Session Beanの作成:コンポーネント・パレットを使用し、Create Session Beanウィザードを起動します。
名前付き問合せの追加:ダイアグラムのエンティティをダブルクリックし、ソース・エディタで開きます。そこでサンプル・コードを追加します。
サンプルJavaクライアントの作成と実行:Create Sample Java Clientダイアログを使用し、ファイルを作成します。次に、ソース・エディタで編集します。
Java EEコンテナ外部でのJavaサービスの実行:Create Java Service Facadeウィザードにより呼び出されたCreate Persistence Unitダイアログを使用し、Java EEコンテナ外部で実行される永続性ユニットを作成します。
データ・コントロールとしてのEJBの公開:アプリケーション・ナビゲータで
FODFacadeBean.java
からデータ・コントロールを作成します。
キュー・カードの手順と例は、Fusion Order Demo(FOD)スキーマの一部である表に基づいています。 また、このリリースのほかの補足情報と同様に、Oracle JDeveloper 11gに付属しているサンプル・アプリケーションのデータベースとして、このスキーマが使用されます。 このスキーマをインストールしていると便利です。インストールは1回で済みます。 FODスキーマをすでにインストールしている場合は、この手順をスキップして次のカードに進んでください。 [ 詳細はこちら]
c:\temp
など)に解凍します。
c:\temp\Infrastructure\Infrastructure.jws
を開きます。
jdeveloper.home
と、
jdbc.*
および
db.*
のすべてを設定)。 ほかのプロパティは、すべてデフォルト値のままにしておきます。 demoユーザーの名前を
FODにする必要があります。
/jdeveloper
ディレクトリ(
c:/JDeveloper_11/jdeveloper/
など)
jdbc:oracle:thin:@localhost
など)
1521
など)
XE
または
ORCL
など)
system
など)
USERS
など)
Antタスクの実行後、Oracle JDeveloper Logウィンドウで build successfulメッセージを確認できます。 [ 詳細はこちら]
Oracle JDeveloperアプリケーションは、組織構造の最上位レベルです。 アプリケーションの作成中に、ユーザーが作業しているオブジェクトの情報が格納されます。 開発中には、プロジェクトと環境設定が追跡されます。 [ 詳細はこちら]
OrdersApplication
と入力して、例に従います。
oracle
と入力します。
アプリケーション・テンプレートを使用すると、適切なテクノロジーの組合せが事前に指定されているため、標準アプリケーションのプロジェクト構造を素早く作成できます。 テンプレートから作成された新規アプリケーションは、プロジェクト階層に分割されてアプリケーション・ナビゲータに表示されます。各プロジェクトには関連するテクノロジー・スコープが設定されています。 [ 詳細はこちら]
UserInterface
と入力し、「
Next
」を2回クリックします。
EJBModel
と入力し、「
Finish
」をクリックします。
アプリケーション・ナビゲータでは、プロジェクトは階層内の最上位レベルとして表示されます。 アプリケーション・ナビゲータは、次のように表示されます。 [ 詳細はこちら]
ユーザーが接続の詳細を把握しているデータベースについては接続が可能です。または、キュー・カードの例に使用されているサンプル・スキーマをインストールして、データベースへの接続を確立します。 サンプル・スキーマをインストールした場合、記載されているとおりに従ってキュー・カードの手順を実行できます。 独自のデータベースを使用している場合は、必要に応じて固有の値を設定できます。 [ 詳細はこちら]
FOD
、ユーザー名に
fod
を使用します。
データベース接続がアプリケーションのリソースとして設定されました。 [ 詳細はこちら]
Enterprise JavaBeans(EJB)テクノロジーは、ビジネス・ロジックをカプセル化するJava Platform, Enterprise Edition(Java EE)のサーバー側コンポーネント・アーキテクチャです。 EJBテクノロジーによって、Javaテクノロジーに基づくセキュアで移植可能な分散トランザクション・アプリケーションを迅速かつ容易に開発できます。 [ 詳細はこちら]
先に作成したデータベース接続は、アプリケーション・リソースとして利用可能です。デフォルトで選択されていない場合は、 Connectionドロップダウン・リストから選択できます。 [ 詳細はこちら]
ウィザード・ページで、「 Query 」をクリックすることで、データベースに問い合わせて、利用可能な表をすべてリスト化できます。 表のリストからは、アプリケーションで使用したい表を選択できます。 この例では、「 ORDERS 」表と「 ORDER_ITEMS 」表を選択します。 [ 詳細はこちら]
アプリケーション・ナビゲータの Application Sourcesノード内にOrdersとOrderItems用のJavaファイルがそれぞれ作成されます。 これらはOrders表とOrder_Items表から作成されたJPAエンティティです。 [ 詳細はこちら]
ダイアグラムでEnterprise JavaBeansをモデル化することで、開発段階で設計を視覚化できます。 Beanがモデル化される際は、基礎となる実装ファイルも作成されます。 [ 詳細はこちら]
EJB Diagram
と入力します。パッケージ名はデフォルトのまま使用します。 「
OK
」をクリックします。
ダイアログで作成したEJBダイアグラムがエディタ領域内に表示されます。 [ 詳細はこちら]
ダイアグラムは、OrdersとOrderItemsに対して実行されたリバース・エンジニアリング・アクションに対応するEJBコンポーネントを表示します。 OrdersエンティティとOrderItemsエンティティは、それらの関係の説明とともに表示されます。 [ 詳細はこちら]
セッション・ファサードは、基礎となるEJBとの統一されたインタフェースをクライアント・オブジェクトに提供します。 クライアントは、サーバーに存在し、適切なEJBメソッドを呼び出すファサードのみとやりとりをします。 その結果、クライアントとEJBの間での依存関係と通信が減少します。 セッション・ファサードなしでリモート・アクセスを実行している場合、クライアントがネットワーク経由でEJB 3.0エンティティに直接アクセスするには、多数のリモート呼出しが必要になります。 そのため、大量のネットワーク通信が発生して、パフォーマンスが低下します。 さらに、ファサードがない場合、クライアントはビジネス・オブジェクトの実装に直接依存するので、EJBのインタフェースが変化すると、クライアント・オブジェクトも変更しなくてはなりません。 [ 詳細はこちら]
FODFacade
を入力し、「
Next
」をクリックします。
クライアントは、EJBコンポーネントに対し、そのインタフェースを介してアクセスします。 リモート・インタフェースは、別の仮想マシンで実行されるクライアント・アプリケーション(Javaクライアントなど)のために使用されます。 ローカル・インタフェースは、同じ仮想マシンで実行されるクライアント・アプリケーション(Webクライアントなど)のために使用されます。 [ 詳細はこちら]
これで作成したSession BeanがEJBダイアグラムに含まれました。 [ 詳細はこちら]
名前付き問合せを使用すると、設計時に問合せを定義し、実行時に使用できます。
NamedQuery
メタデータ文は、デフォルトでは、Create Entities from Tablesウィザードを使用して
OrderItems.java
エンティティに作成されています。 これは、OrderItems表からすべての行を取得します。 [
詳細はこちら]
ソース・エディタで使用できる機能は、次のとおりです。 [ 詳細はこちら]
数量
によって注文項目を検索する問合せをクラスに追加します。
OrderItems.java
クラスをコンパイルします。
Specify Session Facade Optionsダイアログでは、利用可能なノードから新しいメソッド選択することでそのメソッドを公開できます。 このプロジェクトのすべてのエンティティはツリーのノードとして表示されます。 [ 詳細はこちら]
Oracle JDeveloperには、EJBのテストに利用可能なサンプルJavaクライアント・ユーティリティが含まれています。 サンプルJavaクライアントを生成するには、アプリケーション・ナビゲータでSession Beanを右クリックし、「 New Sample Java Client 」を選択します。 [ 詳細はこちら]
oracle.model.FODFacadeClient
であることを確認します。
3
を
FindByQuantity
メソッドに追加します。
(List<OrderItems>)fODFacade.queryOrderItemsFindByQuantity(
3))
ビジネス・サービスをテストするには、アプリケーション・ナビゲータでSession Beanを右クリックしてから「 R un 」を選択します。 起動していない場合は、Oracle JDeveloperが自動的にDefaultServerインスタンスを起動します。 次に、Oracle JDeveloperは、アプリケーションをコンパイルし、DefaultServerインスタンスにデプロイします。 [ 詳細はこちら]
queryOrderItemsFindByQuantity
メソッドの結果だけを確認するために、
queryOrderItemsFindAll
メソッドに対応する
for
ループをコメントアウトし、
queryOrdersFindAll
メソッドに対応する
for
ループをコメントアウトします。
FODFacadeClient.java
クラスを編集し、次の内容をコメントアウトすることで、
FindByQuantity
メソッドの結果をより効果的に視覚化できます。 [
詳細はこちら]
コードを編集し、サンプル・クライアントを再実行すると、Logウィンドウには
'3'
句(数量が3以上の注文項目)によって返された行のみが表示されます。 [
詳細はこちら]
永続性ユニットは、コンテナの内部または外部で実行するように構成することができます。 EJB 3.0では、アプリケーション・サーバーを使用することなく、Pure Java SE環境のエンティティを実行できます。 これを実行する理由は、単純なJava SEテストベッドを作成して(JUnitを使用)、アプリケーション・サーバーでの配置/実行のオーバーヘッドがない状態でエンティティの動作をテストするためです。 もう1つの理由は、Swingアプリケーションをローカルで実行するためです。 [ 詳細はこちら]
outside
を入力します。
JDBC Connection
が選択され、作成したデータベース接続(例:
FOD)がドロップダウン・リストに表示されていることを確認します。 「
Next
」をクリックします。
Create Java Service Facadeウィザードでは、Java EEコンテナの内部または外部で使用する新しい永続性ユニットを作成できます。 [ 詳細はこちら]
JavaServiceFacade
クラスをコンパイルします。
Javaサービス・ファサードを実行すると、Logウィンドウには、Java EEコンテナ外部で実行したクラスの実行結果が表示されます。取得したレコードの中から3より多い数量値が結果として返されます。 [ 詳細はこちら]
アプリケーション・ナビゲータで persistence.xmlをダブルクリックすると、デフォルトのエディタでファイルが開かれます。 「 Overview 」をクリックし、JPA永続性ディスクリプタのために概要エディタでファイルを表示します。 [ 詳細はこちら]
データ・モデルを作成したあと、Oracle Application Developer Framework(Oracle ADF)のフレームワークのためにEJBをデータ・コントロールとして公開できるようになります。 これによって、ユーザー・インタフェースのEJBへのバインドが簡素化されます。 [ 詳細はこちら]
ローカル・インタフェースは、Webクライアントなど、同じ仮想マシン上で実行されるクライアントのために使用されます。 このアプリケーション用のWebページを構築しているため、 Local が適切な選択です。 [ 詳細はこちら]
Data Controlsパネルのルート・ノードは、ビジネス・サービスのために登録されたデータ・コントロールを示しています。 データ・コントロール自体は選択できませんが、データ・コントロールがサポートするオペレーションは選択できます。 [ 詳細はこちら]
Copyright © 1997, 2008, Oracle. All rights reserved.