Oracle WebLogic Server用のエンタープライズ・アプリケーションの開発

このチュートリアルでは、IDEを使用して、JSF (JavaServer Faces) 2.xとJPA (Java Persistence API) 2.0を使用するWebアプリケーションを作成し、そのアプリケーションをOracle WebLogic Serverにデプロイする方法を示します。このチュートリアルでは、IDEにWebLogic Serverを登録し、IDEのウィザードを使用してJDBCリソース、エンティティ・クラスおよびBeanクラスを作成します。その後、IDEを使用してサーバーにアプリケーションをデプロイし、新しいデータソースを登録します。

目次

このページの内容は、NetBeans IDE 7.2、7.3、7.4および8.0に適用されます

このチュートリアルに従うには、次のソフトウェアとリソースが必要です。

ソフトウェアまたはリソース 必須バージョン
NetBeans IDE 7.2、7.3、7.4、8.0、Java EE
Java Development Kit (JDK) バージョン6または7
Oracle WebLogic Server 11g リリース1 (10.3.4、10.3.5)、12c (12.1.1.0)
サンプル・データベース MySQLまたはJavaDB

注意:

  • このプロジェクトでは、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ドメインを作成する必要があります。

  1. Oracle WebLogic Serverのダウンロード・ページからインストーラをダウンロードします。
  2. Oracle WebLogic Serverインストレーション・ガイドの手順に従って、サーバーをインストールします。

    ユーザー名とパスワードを必ずメモしておいてください。

  3. WebLogicドメインを作成します。

    ドメインの作成には、WebLogic構成ウィザードのグラフィカル・モードを使用できます。

サーバーのインストールと設定の詳細は、WebLogic Serverインストレーション・ガイドの次に示す項を参照してください。

IDEへのサーバーの登録

サーバーをインストールした後、「サーバー・インスタンスの追加」ウィザードを使用して、サーバー・ドメインを指定することによってサーバーのインスタンスを登録できます。

  1. 「サービス」ウィンドウを開きます。
  2. 「サーバー」ノードを右クリックし、「サーバーを追加」を選択します。
  3. 「Oracle WebLogic Server」を選択します。「次」をクリックします。
  4. 「参照」をクリックし、サーバーのインストールが含まれているディレクトリを指定します。「次」をクリックします。

    IDEはサーバー・インスタンスのドメインを自動的に特定します。

  5. ドメインのユーザー名とパスワードを入力します。
  6. JPA 2.0を有効にします(WebLogic Server 10.3.4または10.3.5のみ)。「終了」をクリックします。

    注意:WebLogic Server 12c (12.1.1.0)のインスタンスを登録する場合、JPA 2.0はデフォルトで有効になるため、有効にする必要はありません。WebLogic Server 11g リリース1 (10.3.4または10.3.5)のインスタンスを登録する場合は、サーバーの登録時か、サーバーの登録後にサーバー・マネージャで、JPA 2.0を有効にできます。詳細は、後述の「Oracle WebLogic Server 11gでのJPA 2.0のサポートの有効化」を参照してください。

「サーバーの追加」ウィザード

「終了」をクリックすると、「サービス」ウィンドウの「サーバー」ノードにOracle WebLogic Serverが表示されます。

Oracle WebLogic Serverのノードを右クリックすると、次のような様々なアクションを実行できます。

  • サーバーを起動および停止する
  • ブラウザで管理コンソールを開く
  • IDEの「出力」ウィンドウでサーバー・ログを表示する
「サービス」ウィンドウのスクリーンショット

管理コンソールを開く

この課題では、WebLogic Serverの管理コンソールをブラウザで開きます。管理コンソールでは、サーバー設定を構成したり、デプロイ済アプリケーションおよび使用可能なリソースを表示したりできます。

  1. 「サービス」ウィンドウでOracle WebLogic Serverのノードを右クリックし、「起動」を選択しすることで、サーバーを起動します。

    サーバーを起動すると、「出力」ウィンドウの「Oracle WebLogic Server」タブでサーバー・ログを確認できます。

    このタブが表示されていない場合は、Oracle WebLogic Serverのノードを右クリックし、「サーバー・ログの表示」を選択します。

  2. Oracle WebLogic Serverのノードを右クリックし、「管理コンソールを表示」を選択します。

    「管理コンソールを表示」を選択すると、サーバーのログイン画面がブラウザで開きます。

  3. サーバーのインストール時に指定したユーザー名とパスワードを使用してログインします。

ログインすると、管理コンソールのホーム・ページがブラウザに表示されます。

Oracle WebLogic Server管理コンソールのスクリーンショット

Oracle WebLogic Server 11gでの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をサポートするために必要なファイルが含まれています。WebLogic ServerのJPA 2.0は、サーバー・インスタンスの登録時またはIDEのサービス・マネージャで有効にできます。または、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のサポートを有効にし、デフォルトの持続性プロバイダを設定するには、次の手順を実行します。

  1. 「サービス」ウィンドウでOracle WebLogic Serverのノードを右クリックし、「プロパティ」を選択してサーバー・マネージャを開きます。

    または、メイン・メニューから「ツール」>「サーバー」を選択してサーバー・マネージャを開くこともできます。

    サーバー・マネージャの「ドメイン」タブのスクリーンショット

    サーバー・マネージャの「ドメイン」タブでは、ユーザー名とパスワードを表示および変更できます。

  2. 「JPA 2を有効化」をクリックします。「閉じる」をクリックします。

    「JPA 2を有効化」をクリックすると、IDEでWebLogic Serverのクラスパスが変更され、JPA 2のサポートを有効にするためのファイルが追加されます。

    注意:Oracle Smart Updateを使用するか、WebLogicクラスパスを手動で変更することで、JPA 2.0を有効にすることもできます。JPA 2.0サポートの有効化の詳細は、次のリンクを参照してください。

  3. Oracle WebLogic Serverの管理コンソールをブラウザで開き、ログインします。
  4. 管理コンソールの「ドメイン構成」セクションの「ドメイン」をクリックします。
  5. 「構成」タブの「JPA」タブをクリックします。
  6. 「デフォルトJPAプロバイダ」ドロップダウン・リストで「TopLink」を選択します。「保存」をクリックします。
Oracle WebLogic Server管理コンソールの「JPA」タブのスクリーンショット

「保存」をクリックすると、アプリケーションで明示的に持続性プロバイダが指定されていない場合には、サーバーにデプロイされたアプリケーションのデフォルトの持続性プロバイダはOracle TopLinkになります。

注意:このチュートリアルのアプリケーションは、JTA (Java Transaction API)を使用してトランザクションを管理します。JTAはWebLogicのインストール時にデフォルトで有効になっています。JTAの設定は、ドメインの「構成」タブの「JTA」タブで変更できます。

Webアプリケーションの作成

このチュートリアルでは、Java EE Webアプリケーションを作成します。このWebアプリケーションには、sampleデータベースの表に基づくエンティティ・クラスが含まれます。データベースへの接続を作成した後で、持続性ユニットを作成し、IDEのウィザードを使用してデータベースからエンティティ・クラスを生成します。次に、ウィザードを使用して、エンティティ・クラスに基づいてJSFページを作成します。

プロジェクトの作成

この課題では、新規プロジェクト・ウィザードを使用してWebアプリケーションを作成し、Oracle WebLogic Serverをターゲット・サーバーとして指定します。

  1. 「ファイル」>「新規プロジェクト」([Ctrl]-[Shift]-[N]、Macの場合は[⌘]-[Shift]-[N])を選択します。
  2. 「Java Web」カテゴリから「Webアプリケーション」を選択します。「次」をクリックします。
  3. プロジェクト名として「WebLogicCustomer」と入力し、プロジェクトの場所を指定します。
  4. 専用フォルダを使用するオプションが選択されている場合は選択を解除します。「次」をクリックします。
  5. 「サーバー」ドロップダウン・リストから「Oracle WebLogic Server」を選択します。
  6. 「Java EEバージョン」に「Java EE 5」または「Java EE 6 Web」を選択します。「次」をクリックします。

    注意:Java EE 6 Webは、WebLogic Server 12 cのインスタンスを登録した場合にのみ使用可能です。

    新規プロジェクト・ウィザードのスクリーンショット
  7. JavaServer Facesフレームワークを選択します。
  8. 「サーバー・ライブラリ」ドロップダウン・リストから「JSF 2.x」を選択します。「終了」をクリックします。
    新規プロジェクト・ウィザードの「フレームワーク」パネルのスクリーンショット

「終了」をクリックすると、IDEによってWebアプリケーション・プロジェクトが作成され、index.xhtmlがエディタに表示されます。「プロジェクト」ウィンドウで、weblogic.xmlディスクリプタ・ファイルおよびweb.xmlが「構成ファイル」ノードに作成されたことを確認できます。

「プロジェクト」ウィンドウのweblogic.xmlのスクリーンショット

エディタでweb.xmlを開くと、faces/index.xhtmlがデフォルトのindexページとして指定されていることが確認できます。weblogic.xmlをエディタで開くと、ファイルは次のような内容です。

<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd">
  <jsp-descriptor>
    <keepgenerated>true</keepgenerated>
    <debug>true</debug>
  </jsp-descriptor>
  <context-root>/WebLogicCustomer</context-root>
</weblogic-web-app>

注意:

  • weblogic.xmlファイルに<fast-swap>要素が含まれている場合、<enabled>要素の値がfalseであることを確認し、fast-swapが無効であることを確認します。
        <fast-swap>
            <enabled>false</enabled>
        </fast-swap>
  • ターゲット・サーバーがWebLogic Server 11g (10.3.4または10.3.5)の場合、サーバーのインストールにJSF 1.2とJSF 2.xをアプリケーションで使用するために必要なライブラリが含まれますが、これらはデフォルトでは非アクティブ化されています。JSF 2.xライブラリの使用を開始する前に、ライブラリのデプロイとインストールを行う必要があります。新規プロジェクト・ウィザードでライブラリを選択すると、ライブラリがまだインストールされていない場合はIDEでメッセージが表示され、ライブラリをインストールできます。ライブラリをインストールする必要があるのは1回のみです。
    「不足しているサーバー・ライブラリの問題を解決」ダイアログのスクリーンショット

    アプリケーションの作成後、weblogic.xmlディスクリプタ・ファイルを表示すると、IDEによってファイルが変更され、アプリケーションで使用されるJSFライブラリが指定されていることがわかります。

    <?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>
    </weblogic-web-app>

データベース接続の作成

このチュートリアルでは、MySQLデータベース・サーバーで実行されるsampleという名前のデータベースを使用します。この課題では、IDEを使用してこのデータベースを作成し、データベース表を生成します。次に、このデータベースへのデータベース接続を開きます。IDEはデータベース接続の詳細を使用して、アプリケーションの持続性ユニットを作成します。IDEでのMySQLデータベースの使用に関する詳細は、MySQLデータベースへの接続のチュートリアルを参照してください。

注意:または、IDEのインストール時にGlassFishサーバーをインストールした場合は、JavaDBデータベース・サーバー上のsampleデータベースへのデータベース接続が自動的に登録されるため、それを使用することもできます。

この課題では、データベースへの接続を作成して開きます。

  1. 「サービス」ウィンドウでMySQLサーバーのノードを右クリックし、「接続」を選択します。
  2. ユーザー名とパスワードを入力します。「OK」をクリックします。
  3. 「MySQLサーバー」ノードを右クリックし、「データベースを作成」を選択します。
  4. 「新規データベース名」ドロップダウン・リストで「sample」を選択します。「OK」をクリックします。
    「データベースを作成」ダイアログ・ボックスのスクリーンショット

    注意:データベースの構成によっては、新しいデータベースに対するアクセス権を明示的に指定する必要がある場合があります。

    「OK」をクリックすると、sampleデータベースが作成され、データベース表が生成されます。MySQLサーバーのノードを展開すると、データベースのリストに新しいsampleデータベースが追加されていることがわかります。

  5. MySQLサーバーのノードを展開し、sampleデータベースを右クリックし、「接続」を選択します。

「接続」をクリックすると、そのデータベースに対するデータベース接続ノードが「データベース」ノードの下に表示されます。ノードを展開すると、データベース表を表示できます。

「サービス」ウィンドウのデータベース・ノードのスクリーンショット

IDEはデータベース接続を使用してデータベースに接続し、データベースの詳細を取得します。また、IDEはデータベース接続の詳細を使用してXMLファイルも作成し、WebLogic Serverはこれを使用してサーバーにデータ・ソースを作成して適切なドライバを特定します。

MySQLデータベースをインストールしていない場合は、JavaDBで実行されるsampleデータベースを使用できます。sampleデータベースが存在しない場合は、MySQL (またはJavaDB)ノードを右クリックし、「データベースを作成」を選択します。

詳細は、MySQLデータベースへの接続のチュートリアルを参照してください。

持続性ユニットの作成

アプリケーション内の持続性を管理するには、持続性ユニットの作成と、使用するデータ・ソースとエンティティ・マネージャの指定のみが必要で、エンティティと持続性の管理作業はコンテナに任せます。持続性ユニットは、persistence.xmlで定義することによって作成します。

注意:デモンストレーションのために、この課題では新規持続性ユニット・ウィザードを使用してpersistence.xmlファイルを作成します。このウィザードを利用して、持続性ユニットのプロパティを指定できます。データベースからの新規エンティティ・クラス・ウィザードで持続性ユニットを作成することもできます。持続性ユニットが存在しない場合、このウィザードはプロジェクトの持続性ユニットを作成するオプションを表示します。このウィザードでは、WebLogic Serverのデフォルトの持続性プロバイダを使用する持続性ユニットが作成されます。

  1. 「プロジェクト」ウィンドウでプロジェクトのノードを右クリックし、「プロパティ」を選択します。
  2. 「プロパティ」ウィンドウの「ソース」カテゴリで、「ソース/バイナリ形式」として「JDK 6」を選択します。「OK」をクリックします。
  3. 「新規ファイル」([Ctrl]-[N]、Macの場合は[⌘]-[N])を選択して新規ファイル・ウィザードを開きます。
  4. 「持続性」カテゴリから「持続性ユニット」を選択します。「次」をクリックします。
  5. ウィザードが提案する持続性ユニットのデフォルト名のままにしておきます。
  6. 「持続性プロバイダ」ドロップダウン・リストで「EclipseLink」を選択します。
  7. 「データ・ソース」ドロップダウン・リストで「新しいデータ・ソース」を選択します。
  8. 「新しいデータ・ソース」ダイアログ・ボックスで、JNDI名に「jdbc/mysql-sample」と入力します。
  9. MySQL sampleデータベース接続を選択します。「OK」をクリックしてダイアログ・ボックスを閉じます。
  10. 新規持続性ユニット・ウィザードで「終了」をクリックします。
新規持続性ユニット・ウィザードのスクリーンショット

「終了」をクリックすると、プロジェクトのためのpersistence.xmlが作成され、エディタに表示されます。エディタのツールバーで「ソース」をクリックし、XMLソース・エディタでpersistence.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を使用してください。

エンティティ・クラスの作成

ここでは、データベースからのエンティティ・クラス・ウィザードを使用して、リレーショナル・データベースに基づいたエンティティ・クラスを作成します。

  1. 「新規ファイル」([Ctrl]-[N])を選択し、新規ファイル・ウィザードを開きます。
  2. 「持続性」カテゴリから「データベースからのエンティティ・クラス」を選択します。「次」をクリックします。
  3. データベースからのエンティティ・クラス・ウィザードで、「データ・ソース」ドロップダウン・リストから「jdbc/mysql-sample」を選択し、必要に応じてパスワードを入力します。
  4. 「使用可能な表」からCustomer表を選択し、「追加」をクリックします。「次」をクリックします。

    customer表とそれに関連する表がウィザードの「選択した表」の下に一覧表示されます。

  5. 生成されるクラスのパッケージとして「ejb」と入力します。「終了」をクリックします。

「終了」をクリックすると、選択した各表のエンティティ・クラスがIDEによって生成されます。ejbソース・パッケージ・ノードを展開すると、生成されたエンティティ・クラスを表示できます。

JSFページの生成

この課題では、ウィザードを使用して、既存のエンティティ・クラスに基づいたJSFページを生成します。

  1. プロジェクト・ノードを右クリックし、「新規」>「その他」を選択します。
  2. 新規ファイル・ウィザードの「JavaServer Faces」カテゴリで、「エンティティからのJSFページ・クラス」を選択します。「次」をクリックします。
  3. 使用可能なすべてのエンティティのJSFページを作成するために、「すべてを追加」をクリックします。「次」をクリックします。
  4. セッションBeanおよびJPAコントローラ・クラスのパッケージに「web」と入力します。「終了」をクリックします。

「終了」をクリックすると、JSF 2.0ページおよびそれらのJSFページのコントローラ・クラスとコンバータ・クラスが生成されます。IDEによってエンティティ・クラスごとにJSFページのセットがデフォルトWebページ・ディレクトリに生成されます。また、IDEは、各エンティティに対する管理対象Beanクラスも生成します。これは、エンティティに対応するセッション・ファサード・クラスにアクセスします。

プロジェクトの実行

この課題では、Webアプリケーションをビルドし、WebLogic Serverにデプロイします。アプリケーションのビルド、デプロイおよび起動には、IDEの「実行」コマンドを使用します。

  1. プロジェクトのノードを右クリックし、「実行」を選択します。

「実行」をクリックすると、IDEによってプロジェクトがビルドされ、WARアーカイブがWebLogic Serverにデプロイされ、新しいJDBCデータ・ソースが作成されて登録されます。アプリケーションの開始ページ(http://localhost:7001/WebLogicCustomer/)がブラウザに表示されます。

ブラウザに表示された開始ページのサマリー表のスクリーンショット

管理コンソールにログインすると、「デプロイされたリソース」セクションの「デプロイメント」をクリックして、現在サーバーにデプロイされているリソースの表を確認できます。

WebLogic Server管理コンソールの「デプロイメント」表のスクリーンショット

各リソースの名前をクリックすると、そのリソースに関する追加の詳細を表示できます。「デプロイメント」表のリソースを削除することもできます。

WebLogic 10.3.4または10.3.5へのデプロイに関する注意.

  • WebLogic Server 10.3.4または10.3.5にアプリケーションをデプロイした場合は、WebLogicCustomer.war Webアプリケーションおよびjdbc/mysql-sample JDBC構成以外にJSF 2.0ライブラリもサーバーにデプロイされたことが表で確認できます。
    WebLogic Server管理コンソールの「デプロイメント」表のスクリーンショット
  • 「サービス」ウィンドウでOracle WebLogic Serverのインスタンスを展開すると、そのサーバーにデプロイされているアプリケーションとリソースを表示できます。サーバーにJDBCリソースが作成されていることと、JSFライブラリがインストールされていることがわかります。
    「サービス」ウィンドウに表示されたWebLogic Serverのアプリケーションとリソースのスクリーンショット

アプリケーションのデプロイの詳細は、WebLogic Serverへのアプリケーションのデプロイを参照してください。


関連項目

NetBeans IDEを使用して、Java PersistenceとJavaServer Facesを使用するWebアプリケーションを開発する方法については、次のリソースを参照してください。

get support for the NetBeans

Support


By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2015, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo