Oracle WebLogic Server 用のエンタープライズアプリケーションの開発
このチュートリアルでは、IDE を使用して、JSF (JavaServer Faces) と JPA (Java Persistence API) を使用する Web アプリケーションを作成し、そのアプリケーションを Oracle WebLogic Server に配備する方法を示します。このチュートリアルでは、WebLogic Server を IDE に登録し、表示フレームワークとして JPA 2.0 と JSF 2.0 のサポートを有効にするようにドメインを設定します。
目次
このチュートリアルに従うには、次のソフトウェアとリソースが必要です。
注:
- このプロジェクトでは、MySQL または JavaDB データベースサーバー向けに用意された sample データベースを使用します。IDE での MySQL データベースの使用およびデータベース接続の作成の詳細については、「MySQL データベースへの接続」チュートリアルを参照してください。または、JavaDB sample データベースへのデータベース接続を使用することもできます。これは、IDE のインストール時に GlassFish サーバーをインストールした場合に、デフォルトで作成され IDE に登録されています。
Oracle WebLogic Server の登録
このチュートリアルでは、Oracle WebLogic Server に Web アプリケーションを配備します。IDE から WebLogic Server にアプリケーションを配備するには、サーバーのインスタンスを IDE に登録する必要があります。この節では、IDE の「サーバーインスタンスを追加」ウィザードを使用して WebLogic Server のインスタンスを登録する方法について説明します。
サーバーのダウンロードとインストール
サーバーを登録する前に、WebLogic Server のインストーラをダウンロードし、『Oracle WebLogic Server インストレーションガイド』で説明されている手順に従って、サーバーをローカルマシンにインストールする必要があります。サーバーのインストールに加え、サーバーを IDE に登録する前に WebLogic ドメインを作成する必要があります。
- Oracle WebLogic Server のダウンロードページからインストーラをダウンロードします。
- 『Oracle WebLogic Server インストレーションガイド』の手順に従って、サーバーをインストールします。
ユーザー名とパスワードを必ずメモしておいてください。
- WebLogic ドメインを作成します。
ドメインの作成には、WebLogic 設定ウィザードのグラフィカルモードを利用できます。
サーバーのインストールと設定の詳細については、『WebLogic Server インストレーションガイド』の次に示す節を参照してください。
IDE へのサーバーの登録
サーバーをインストールしたあと、「サーバーインスタンスを追加」ウィザードを使用して、サーバードメインを指定することによってサーバーのインスタンスを登録できます。
- 「サービス」ウィンドウを開きます。
- 「サーバー」ノードを右クリックし、「サーバーを追加」を選択します。
- 「Oracle WebLogic Server」を選択します。「次へ」をクリックします。
- 「参照」をクリックし、サーバーのインストールが含まれているディレクトリを指定します。「次へ」をクリックします。
IDE はサーバーインスタンスのドメインを自動的に特定します。
- ドメインのユーザー名とパスワードを入力します。
- JPA 2.0 を有効にします (有効になっていない場合)。「完了」をクリックします。
注. WebLogic Server 12c (12.1.1.0) のインスタンスを登録する場合、JPA 2.0 はデフォルトで有効になります。WebLogic Server 11g Rel 1 (10.3.4 または 10.3.5) のインスタンスを登録する場合は、サーバーの登録時か、サーバーの登録後にサーバーマネージャーで、JPA 2.0 を有効にすることができます。詳細は、後述の「JPA 2.0 のサポートの有効化」の節を参照してください。
「完了」をクリックすると、「サービス」ウィンドウの「サーバー」ノードに Oracle WebLogic Server が表示されます。
Oracle WebLogic Server のノードを右クリックすると、次のようなさまざまな操作を実行できます。
- サーバーを起動および停止する
- ブラウザで管理コンソールを開く
- IDE の「出力」ウィンドウでサーバーログを表示する
管理コンソールを開く
この課題では、WebLogic Server の管理コンソールをブラウザで開きます。管理コンソールでは、サーバー設定を構成したり、配備済みアプリケーションおよび使用可能なリソースを表示したりできます。
- 「サービス」ウィンドウで Oracle WebLogic Server のノードを右クリックし、「起動」を選択しすることで、サーバーを起動します。
サーバーを起動すると、「出力」ウィンドウの「Oracle WebLogic Server」タブでサーバーログを確認できます。
このタブが表示されていない場合は、Oracle WebLogic Server のノードを右クリックし、「サーバーログの表示」を選択します。
- Oracle WebLogic Server のノードを右クリックし、「管理コンソールを表示」を選択します。
「管理コンソールを表示」を選択すると、サーバーのログイン画面がブラウザで開きます。
- サーバーのインストール時に指定したユーザー名とパスワードを使用してログインします。
ログインすると、管理コンソールのホームページがブラウザに表示されます。
JPA 2.0 のサポートの有効化
Oracle WebLogic Server 11g (10.3.4、10.3.5) を使用している場合は、JPA (Java Persistence API) 2.0 のサポートを有効にし、デフォルトの持続性プロバイダを TopLink に設定する必要があります。Oracle WebLogic Server 11g は Java EE 5 コンテナで、JPA 1.0 と JPA 2.0 に準拠しています。Oracle WebLogic Server 10.3.4 および 10.3.5 をインストールすると、JPA 1.0 がデフォルトで有効になりますが、WebLogic Server のインストールには JPA 2.0 をサポートするために必要なファイルが含まれています。サーバーインスタンスの登録時か、IDE のサーバーマネージャーで、WebLogic Server の JPA 2.0 を有効にすることができます。または、WebLogic Server のドキュメントの「WebLogic Server における JPA 2.0 と TopLink の併用」の手順に従うこともできます。
WebLogic Server は JPA (Java Persistence API) をサポートし、Oracle TopLink と Kodo の持続性ライブラリがバンドルされています。この課題では、WebLogic Server の管理コンソールで、デフォルトの持続性プロバイダを Kodo から Oracle Toplink に変更します。
注. WebLogic Server 12c をインストールする場合、TopLink と JPA 2.0 サポートはデフォルトで有効になります。
サーバーマネージャーで JPA 2.0 のサポートを有効にし、デフォルトの持続性プロバイダを設定するには、次の手順を実行します。
- 「サービス」ウィンドウで Oracle WebLogic Server のノードを右クリックし、「プロパティー」を選択してサーバーマネージャーを開きます。
または、メインメニューから「ツール」>「サーバー」を選択してサーバーマネージャーを開くこともできます。
サーバーマネージャーの「ドメイン」タブでは、ユーザー名とパスワードを表示および変更できます。
- 「JPA 2 を有効化」をクリックします。「閉じる」をクリックします。
「JPA 2 を有効化」をクリックすると、IDE で WebLogic Server のクラスパスが変更され、JPA 2 のサポートを有効にするためのファイルが追加されます。
注. Oracle Smart Update を使用するか、または WebLogic クラスパスを手動で変更することで、JPA 2.0 を有効にすることもできます。JPA 2.0 サポートの有効化の詳細については、次のリンクを参照してください。
- Oracle WebLogic Server の管理コンソールをブラウザで開き、ログインします。
- 管理コンソールの「ドメイン構成」セクションの「ドメイン」をクリックします。
- 「構成」タブの「JPA」タブをクリックします。
- 「デフォルト JPA プロバイダ」ドロップダウンリストで「TopLink」を選択します。「保存」をクリックします。
「保存」をクリックすると、アプリケーションで明示的に持続性プロバイダが指定されていない場合には、サーバーに配備されたアプリケーションのデフォルトの持続性プロバイダは Oracle TopLink になります。
注. このチュートリアルのアプリケーションは、JTA (Java Transaction API) を使用してトランザクションを管理します。JTA は WebLogic のインストール時にデフォルトで有効になっています。JTA の設定は、ドメインの「構成」タブの「JTA」タブで変更できます。
Web アプリケーションの作成
このチュートリアルでは、Java EE 5 Web アプリケーションを作成します。この Web アプリケーションには、sample データベースの表に基づくエンティティークラスが含まれます。データベースへの接続を作成したあとで、持続性ユニットを作成し、IDE のウィザードを使用してデータベースからエンティティークラスを生成します。次に、ウィザードを使用して、エンティティークラスに基づいて JSF ページを作成します。
プロジェクトの作成
この課題では、「新規プロジェクト」ウィザードを使用して Web アプリケーションを作成し、Oracle WebLogic Server をターゲットサーバーとして指定します。
- 「ファイル」>「新規プロジェクト」(Ctrl-Shift-N、Mac の場合は ⌘-Shift-N) を選択します。
- 「Java Web」カテゴリから「Web アプリケーション」を選択します。「次へ」をクリックします。
- プロジェクト名として「WebLogicCustomer」と入力し、プロジェクトの場所を指定します。
- 専用フォルダを使用するオプションが選択されている場合は選択を解除します。「次へ」をクリックします。
- 「サーバー」ドロップダウンリストから「Oracle WebLogic Server」を選択します。
- 「Java EE バージョン」として「Java EE 5」を選択します。「次へ」をクリックします。

- JavaServer Faces フレームワークを選択します。
- 「サーバーライブラリ」ドロップダウンリストから「JSF 2.0」を選択します。「完了」をクリックします。
Oracle WebLogic Server には、アプリケーションで JSF 1.2 と JSF 2.0 を使用するために必要なライブラリが含まれていますが、これらはデフォルトでは無効になっています。ライブラリの使用を開始する前に、ライブラリの配備とインストールを行う必要があります。「新規プロジェクト」ウィザードでライブラリを選択すると、ライブラリがまだインストールされていない場合は IDE でメッセージが表示され、ライブラリをインストールできます。
注. ライブラリをインストールする必要があるのは 1 回だけです。
「完了」をクリックすると、IDE によって Web アプリケーションプロジェクトが作成され、index.xhtml がエディタに表示されます。IDE によって web.xml が変更されて、faces/index.xhtml がデフォルトのインデックスページとして指定されています。
- 「プロジェクト」ウィザードで「構成ファイル」ノードを展開し、weblogic.xml 記述子ファイルをダブルクリックして、ファイルをエディタで開きます。
weblogic.xml 記述子ファイルをエディタで開くと、ファイルは次のようになります。
<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/90" xmlns:j2ee="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.bea.com/ns/weblogic/90 http://www.bea.com/ns/weblogic/90/weblogic-web-app.xsd">
<jsp-descriptor>
<keepgenerated>true</keepgenerated>
<debug>true</debug>
</jsp-descriptor>
<context-root>/WebLogicCustomer</context-root>
<fast-swap>
<enabled>true</enabled>
</fast-swap>
</weblogic-web-app>
注. ターゲットサーバーが WebLogic Server 11g の場合、weblogic.xml 記述子ファイルを表示すると、IDE によってファイルが変更されて、アプリケーションで JSF ライブラリを使用するように指定されていることがわかります。weblogic.xml で参照されているライブラリが、「新規プロジェクト」ウィザードの「フレームワーク」区画で有効にした JSF 2.0 JAR のバージョンと対応していることがわかります。
<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/90" xmlns:j2ee="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.bea.com/ns/weblogic/90 http://www.bea.com/ns/weblogic/90/weblogic-web-app.xsd">
<context-root>/WebLogicCustomer</context-root>
<library-ref>
<library-name>jsf</library-name>
<specification-version>2.0</specification-version>
<implementation-version>1.0.0.0_2-0-2</implementation-version>
<exact-match>true</exact-match>
</library-ref>
<fast-swap>
<enabled>true</enabled>
</fast-swap>
</weblogic-web-app>
- weblogic.xml の <fast-swap> 要素を次のように変更して、値を false に変更します。変更を保存します。
<fast-swap>
<enabled>false</enabled>
</fast-swap>
</weblogic-web-app>
データベース接続の作成
このチュートリアルでは、MySQL データベースサーバーで実行される sample という名前のデータベースを使用します。この課題では、IDE を使用してこのデータベースを作成し、データベース表を生成します。次に、このデータベースへのデータベース接続を開きます。IDE はデータベース接続の詳細を使用して、アプリケーションの持続性ユニットを作成します。IDE での MySQL データベースの使用に関する詳細は、「MySQL データベースへの接続」チュートリアルを参照してください。
注. または、IDE のインストール時に GlassFish サーバーをインストールした場合は、JavaDB データベースサーバー上の sample データベースへのデータベース接続が自動的に登録されているため、それを使用することもできます。
この課題では、データベースへの接続を作成して開きます。
- 「サービス」ウィンドウで MySQL サーバーのノードを右クリックし、「接続」を選択します。
- ユーザー名とパスワードを入力します。「了解」をクリックします。
- 「MySQL サーバー」ノードを右クリックし、「データベースを作成」を選択します。
- 「新規データベース名」ドロップダウンリストで「sample」を選択します。「了解」をクリックします。
注. データベースの設定によっては、新しいデータベースに対するアクセス権を明示的に指定する必要がある場合があります。
「了解」をクリックすると、sample データベースが作成され、データベース表が生成されます。MySQL サーバーのノードを展開すると、データベースのリストに新しい sample データベースが追加されていることがわかります。
- MySQL サーバーのノードを展開し、sample データベースを右クリックし、「接続」を選択します。
「接続」をクリックすると、そのデータベースに対するデータベース接続ノードが「データベース」ノードの下に表示されます。ノードを展開すると、データベース表を表示できます。
IDE はデータベース接続を使用してデータベースに接続し、データベースの詳細を取得します。また、IDE はデータベース接続の詳細を使用して XML ファイルも作成し、WebLogic Server はこれを使用してサーバーにデータソースを作成して適切なドライバを特定します。
MySQL データベースをインストールしていない場合は、JavaDB で実行される sample データベースを使用できます。sample データベースが存在しない場合は、MySQL (または JavaDB) ノードを右クリックし、「データベースを作成」を選択します。
詳細は、「MySQL データベースへの接続」チュートリアルを参照してください。
持続性ユニットの作成
アプリケーション内の持続性を管理するには、持続性ユニットの作成と、使用するデータソースとエンティティーマネージャーの指定だけが必要で、エンティティーと持続性の管理作業はコンテナに任せます。持続性ユニットは、persistence.xml で定義することによって作成します。
注. デモンストレーションのために、この課題では「新規持続性ユニット」ウィザードを使用して persistence.xml ファイルを作成します。このウィザードを利用して、持続性ユニットのプロパティーを指定できます。「データベースからの新規エンティティークラス」ウィザードで持続性ユニットを作成することもできます。持続性ユニットが存在しない場合、このウィザードはプロジェクトの持続性ユニットを作成するオプションを表示します。このウィザードでは、WebLogic Server のデフォルトの持続性プロバイダを使用する持続性ユニットが作成されます。
- 「プロジェクト」ウィンドウでプロジェクトのノードを右クリックし、「プロパティー」を選択します。
- 「プロパティー」ウィンドウの「ソース」カテゴリで、「ソース/バイナリ形式」として「JDK 6」を選択します。「了解」をクリックします。
- 「新規ファイル」(Ctrl-N、Mac の場合は ⌘-N) を選択して「新規ファイル」ウィザードを開きます。
- 「持続性」カテゴリから「持続性ユニット」を選択します。「次へ」をクリックします。
- ウィザードが提案する持続性ユニットのデフォルト名のままにしておきます。
- 「持続性プロバイダ」ドロップダウンリストで「EclipseLink」を選択します。
- 「データソース」ドロップダウンリストで「新しいデータソース」を選択します。
- 「新しいデータソース」ダイアログボックスで、JNDI 名に「jdbc/mysql-sample」と入力します。
- MySQL sample データベース接続を選択します。「了解」をクリックしてダイアログを閉じます。
- 「新規持続性ユニット」ウィザードで「完了」をクリックします。
「完了」をクリックすると、プロジェクトのための persistence.xml が作成され、エディタに表示されます。エディタのツールバーにある「XML」をクリックすると、persistence.xml の XML 表示を確認できます。このファイルには、アプリケーションのエンティティーおよび持続性を管理するためにサーバーが必要とする情報がすべて含まれています。
注. 既存のデータソースを使用しない場合は、サーバー上にデータソースを作成するための詳細 (データベースの JDBC ドライバなど) が含まれる XML ファイル (たとえば、datasource-1-jdbc.xml) が、IDE によって「サーバーリソース」ノードに生成されます。
persistence.xml を XML エディタで開くと、持続性のバージョンは 2.0、スキーマは persistence_2_0.xsd として指定されていることがわかります。IDE は、persistence.xml 内に持続性プロバイダとして org.eclipse.persistence.jpa.PersistenceProvider を指定します。EclipseLink は Oracle TopLink の持続性の主実装で、JPA のリファレンス実装です。
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="WebLogicCustomerPU" transaction-type="JTA">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<jta-data-source>jdbc/mysql-sample</jta-data-source>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
<property name="eclipselink.ddl-generation" value="create-tables"/>
</properties>
</persistence-unit>
</persistence>
ウィザードで「TopLink」を選択することもでき、その場合ウィザードは、persistence.xml 内の持続性プロバイダとして oracle.toplink.essentials.PersistenceProvider を指定します。IDE は Oracle TopLink Essentials - 2.0.1 ライブラリをクラスパスに追加します。Oracle TopLink の現在および将来のバージョンでは、Oracle TopLink Essentials は EclipseLink で置き換えられます。可能な場合は、Oracle TopLink Essentials の代わりに Oracle TopLink/EclipseLink を使用するようにしてください。
エンティティークラスの作成
ここでは、「データベースからのエンティティークラス」ウィザードを使用して、リレーショナルデータベースに基づいたエンティティークラスを作成します。
- 「新規ファイル」(Ctrl-N) を選択し、「新規ファイル」ウィザードを開きます。
- 「持続性」カテゴリから「データベースからのエンティティークラス」を選択します。「次へ」をクリックします。
- 「データベースからのエンティティークラス」ウィザードで、「データソース」ドロップダウンリストから「jdbc/mysql-sample」を選択し、必要に応じてパスワードを入力します。
- 「使用可能な表」から Customer 表を選択し、「追加」をクリックします。「次へ」をクリックします。
customer 表とそれに関連する表がウィザードの「選択した表」の下に一覧表示されます。
- 生成されるクラスのパッケージとして「ejb」と入力します。「完了」をクリックします。
「完了」をクリックすると、選択した各表のエンティティークラスが IDE によって生成されます。ejb ソースパッケージノードを展開すると、生成されたエンティティークラスを表示できます。
JSF ページの生成
この課題では、ウィザードを使用して、既存のエンティティークラスに基づいた JSF ページを生成します。
- プロジェクトノードを右クリックし、「新規」>「その他」を選択します。
- 「新規ファイル」ウィザードの「JavaServer Faces」カテゴリで、「エンティティーからの JSF ページクラス」を選択します。「次へ」をクリックします。
- 使用可能なすべてのエンティティーの JSF ページを作成するために、「すべてを追加」をクリックします。「次へ」をクリックします。
- 「JPA コントローラパッケージ」フィールドと「JSF クラスパッケージ」フィールドに「web」と入力します。「完了」をクリックします。
「完了」をクリックすると、JSF 2.0 ページおよびそれらの JSF ページのコントローラクラスとコンバータクラスが生成されます。
プロジェクトの実行
この課題では、Web アプリケーションを構築し、WebLogic Server に配備します。アプリケーションの構築、配備、および起動には、IDE の「実行」コマンドを使用します。
- プロジェクトのノードを右クリックし、「実行」を選択します。
「実行」をクリックすると、IDE によってプロジェクトが構築され、WAR アーカイブが WebLogic Server に配備され、新しい JDBC データソースが作成されて登録されます。アプリケーションの開始ページ (http://localhost:7001/WebLogicCustomer/) がブラウザに表示されます。
管理コンソールにログインすると、「配備されたリソース」セクションの「配備」をクリックして、現在サーバーに配備されているリソースの表を確認できます。
この表には、JSF 2.0 ライブラリに加え、WebLogicCustomer.war Web アプリケーションと jdbc/mysql-sample JDBC 構成が追加されていることがわかります。各リソースの名前をクリックすると、そのリソースに関する追加の詳細を表示できます。「配備」表のリソースを削除することもできます。
「サービス」ウィンドウで Oracle WebLogic Server のインスタンスを展開すると、そのサーバーに配備されているアプリケーションとリソースを表示できます。
サーバーに JDBC リソースが作成されていることと、JSF ライブラリがインストールされていることがわかります。
アプリケーションの配備の詳細については、「WebLogic Server へのアプリケーションの配備」を参照してください。
関連項目
NetBeans IDE を使って、Java Persistence と JavaServer Faces を使用する Web アプリケーションを開発する方法については、次のリソースを参照してください。