Sun ONE ロゴ      前へ      目次      索引      次へ     

Sun ONE Application Server 7, Enterprise Edition サーバーアプリケーションの移行および再配備

第 6 章
6.5 アプリケーションの Sun ONE Studio へのインポート

この章では、Sun ONE Studio による Sun ONE Application Server 6.5 で開発したアプリケーションの移行について説明します。Sun ONE Studio for Java を使って各アプリケーションコンポーネントを移行する手順を示します。Sun ONE Application Server 6.5 付属の iBank サンプルアプリケーションを使って具体的な手順を解説します。

iBank アプリケーションの詳細については、付録 A 「iBank アプリケーションの仕様」を参照してください。

アプリケーションの移行の準備

Sun ONE Studio を使用した移行作業に先立ち、次の手順を実行し、開発環境を移行するためのセットアップを行います。

  1. 開発環境に Sun ONE Application Server 7 EE および Sun ONE Studio for Java 4.0 をインストールします。
  2. Sun ONE Application Server 7 EE および Sun ONE Studio のインストール方法については、『インストールガイド』を参照してください。

  3. ローカルディレクトリ内に zip 形式で格納されているアプリケーションを抽出します。
  4. iBank アプリケーションのソース (iBank65.zip) は、移行サイト http://www.sun.com/migration/sunonetools.html から入手できます。iBank65.zip ファイルを解凍すると、次のようなディレクトリ構造が作成されます。

    iBank
    /docroot
    /session
    /entity
    /script

    • /docroot のルートには、HTML ファイル、JSP ファイル、および画像ファイルが含まれます。また、サーブレットや EJB のソースファイルも、パッケージ構造 com.sun.bank.* に従って、サブフォルダ WEB-INF¥classes に含まれます。WAR ファイルは、このディレクトリの内容から生成されます。
    • /session には、パッケージ構造 com.sun.bank.ejb.session に従ってセッション Beans のソースコードが含まれます。このディレクトリはセッション Beans の EJB モジュールを形成します。
    • /entity には、パッケージ構造 com.sun.bank.ejb.entity に従ってエンティティ Beans が含まれます。このディレクトリはエンティティ Beans の EJB モジュールを形成します。
    • /scripts には、データベースセットアップ用の SQL スクリプトが含まれます。
  5. /scripts フォルダに入っている SQL スクリプトを実行して、iBank アプリケーションのスキーマをセットアップします。これらのスクリプトは、Oracle データベース用です。これらのスクリプトによって、ユーザーの作成、表の作成、および表へのデータの挿入が行われます。次の順序で、スクリプトを実行します。
    • 01_iBank_CreateUser.sql
    • 02_iBank_CreateTables.sql
    • 03_iBank_InsertData.sql
    • 上記のスクリプトを実行するには、システムに Oracle データベースと SQL コマンドがインストールされている必要があります。

  6. Sun ONE Application Server を起動します。
  7. 詳細については、『入門ガイド』を参照してください。

  8. サンプルアプリケーションの「iBank」のアセンブルと配備を行うために、Sun ONE Studio を準備します。
  9. 次の場所に格納されている runide.sh ファイルを使って、Sun ONE Studio ツールを起動します。

    Sun ONE App Server_Root/AppServ/Sun ONE Studio forJava_Root/bin

    1. IDE のエクスプローラウィンドウで「Runtime (実行時)」タブを選択します。
    2. 「Server Registry (サーバーレジストリ)」をクリックします。
    3. 「Installed Servers (インストールされたサーバー)」をクリックします。
    4. 「Sun ONE Application Server」を選択します。
    5. 「Sun ONE Application Server」ノードを右クリックし、「Add Admin Server (管理サーバーを追加)」を選択して、管理サーバーをセットアップします。
    6. 次の情報を入力します。
      • host - Sun ONE Application Server のインストールホスト。アプリケーションサーバーがローカルマシンにインストールされている場合、「localhost」と入力
      • port number - port アプリケーションサーバーにアクセスできるポート番号。デフォルトのポート番号は 4848
      • username - インストール時に指定したユーザー名
      • password - アプリケーションサーバーのインストール時に指定したパスワード
    7. 管理サーバーのセットアップ後、管理サーバーをクリックして、サーバーインスタンスをインストールします。
    8. このサーバーインスタンスをデフォルトサーバーとして設定するには、サーバーインスタンスを右クリックし、「Set As Default (デフォルトとして設定)」を選択します。

アプリケーションコンポーネントの移行

この節では、iBank アプリケーションの各コンポーネントの移行手順を説明します。

配備記述子の移行方法の詳細については、「配備記述子の移行」を参照してください。

Sun ONE Studio for Java での Web アプリケーションモジュールの作成

Sun ONE Studio for Java で Web モジュールを作成するには、以下の手順を実行します。

  1. ソースファイルが格納されている /docroot ディレクトリをマウントします。Sun ONE Studio for Java でディレクトリをマウントするには、左側のペインの「FileSystems Explorer (FileSystems Explorer)」タブを選択します。「File (ファイル)」メニューから「Mount the FileSystem (ファイルシステムをマウント)」を選択します。「Browser (ブラウザ)」ダイアログボックスで、マウントするディレクトリを選択します。
  2. ソースファイルディレクトリ構造 (entity およびsession) に、EJB が格納されているディレクトリをマウントします。
  3. ルートディレクトリ構造に Web モジュール用の空ディレクトリを作成します。たとえば、WarContent などです。
  4. 新しく作成した WarContent ディレクトリをマウントします。
  5. ファイルシステム WarContent を Web モジュールに変換します。マウントしたディレクトリをエクスプローラで選択し、右クリックして、「Tools (ツール)」サブメニューから「Convert FileSystem to Web Module (ファイルシステムを Web モジュールに変換)」オプションを選択します。
  6. ソースの JSP、HTML、および画像ファイルを docroot ディレクトリから Web アプリケーションルート、すなわち、「WarContent」ディレクトリにコピーします。
  7. サーブレットと補助クラスソースを WEB-INF/classes ディレクトリにコピーします。つまり、docroot ディレクトリのサブフォルダ comWEB-INF/classes ディレクトリにコピーすることになります。
  8. docroot ディレクトリの WEB-INF にあるタグライブラリを、WarContent ディレクトリの WEB-INF にコピーします。
  9. ソースコードを Sun ONE Application Server 7 に移行する必要がある場合 (移行ツールを使用して変更しない場合) は、以下の手順に従ってソースコードを編集します。
    • 変更する必要がある JSP を確認します。
    • カスタム JSP タグがアプリケーションで使用されているかどうかを確認します。
    • 選択した JSP コードを Sun ONE Studio で開きます。Sun ONE Studio で JSP ファイルを開くには、左側のペインで JSP ファイルを選択し、右クリックして、ポップアップメニューから「Open (開く)」オプションを選択します。
    • 「Java Server Pages および JSP カスタムタグライブラリの移行」に記載される手順に従って、ソースを修正します。
    • 同様に、「サーブレットの移行」に記載される手順に従って、サーブレットを移行します。
  10. アプリケーションをアセンブルし、(WEB-INF/ ディレクトリ内の) 配備記述子 web.xml に必要な情報を入力します。web.xml ファイルをクリックし、要素のプロパティを編集します。このアセンブリ段階で、EJB や Web アプリケーションで使用するデータソース参照に加えて、各サーブレット、JSP ページ、および JSP タグライブラリを設定します。

以下では、Sun ONE Studio for Java で Web アプリケーションをアセンブルする方法について説明します。

サーブレットの設定

配備記述子内のサーブレットを設定するには:

  1. Warcontent フォルダの Web モジュールを選択します。Web モジュールを右クリックし、ポップアップメニューからプロパティオプションを選択します。「Properties (プロパティ)」ウィンドウが表示されます。
  2. サーブレットを設定するには、「Deployment (配備)」タブの「Servlets (サーブレット)」ボタンをクリックします。「Servlets (サーブレット)」ダイアログボックスが表示されます。
  3. 「Add (追加)」をクリックしてサーブレットを追加します。Web アプリケーションの各サーブレットについて、「Browse (ブラウズ)」ボタンをクリックして、サーブレット名、サーブレットの実装クラスの完全名を指定します。また、「Mapping (マッピング)」をクリックして、サーブレットのマッピング要素を、さらに、初期パラメータを指定します。
  4. 図 6-1 サーブレットの設定
    Sun ONE Studio を使用したサーブレットの設定を示す図

    iBank アプリケーションのサーブレットとそのマッピングについて、「サーブレットとマッピング」の表に示します。左の欄にサーブレット名、中央の欄に表示名、右の欄にマッピングを示します。

    表 6-1 サーブレットとマッピング 

    サーブレット名

    表示名

    マッピング

    LoginServlet

    LoginServlet

    /CheckLogin

    CheckTransferServlet

    CheckTransferServlet

    /CheckTransfer

    CustomerProfileServlet

    CustomerProfileServlet

    /CustomerProfile

    DataSourceTestServlet

    DataSourceTestServlet

    /DataSourceTest

    HelloWorldServlet

    HelloWorldServlet

    /HelloWorld

    LookUpDataSourceTestServlet

    LookUpDataSourceTestServlet

    /LookUpDataSourceTest

    ProjectEarningsServlet

    ProjectEarningsServlet

    /ProjectEarnings

    ShowAccountSummaryServlet

    ShowAccountSummaryServlet

    /ShowAccountSummary

    TestContextServlet

    TestContextServlet

    /TestContext

    TransferFundsServlet

    TransferFundsServlet

    /TransferFunds

    UpdateCustomerDetailsServlet

    UpdateCustomerDetailsServlet

    /UpdateCustomerDetails

    web.xml に上記のすべてのサーブレットのエントリが追加されるように、すべてのサーブレットの設定を行います。

    上記の手順が完了すると、「Deployment (配備)」タブに 11 個のサーブレットのマッピングと 11 個のサーブレットが表示されます。

JSP タグライブラリの設定

JSP タグライブラリを設定するには:

  1. 「Properties (プロパティ)」ウィンドウの「Deployment (配備)」タブの「Tag Libraries (タグライブラリ)」ボタンをクリックします。「Tag Libraries (タグライブラリ)」ダイアログボックスが表示されます。
  2. Web アプリケーションの配備記述子で JSP タグライブラリを定義するには、「Add (追加)」をクリックします。続いて、「Add Taglib (タグライブラリの追加)」ダイアログボックスで、ライブラリの URI (JSP ページがライブラリにアクセスするための識別子) とライブラリの配備記述子 (.tld ファイル) へのパスを指定します。
  3. iBank には、1 つの JSP タグライブラリ TMBHisto.tld があります。配備記述子は WEB-INF フォルダに格納されます。

    図 6-2 タグライブラリの設定
    Sun ONE Application Server のアーキテクチャを示す図

リソース参照の追加

配備記述子にリソース参照を追加するには:

  1. 「Properties (プロパティ)」ウィンドウの「References (参照)」タブを選択します。「Resource Reference (リソース参照)」ボタンをクリックします。
  2. 新しいリソースを追加するには、「Add (追加)」をクリックします。「Resource Reference (リソース参照)」ダイアログボックスの「Standard (標準)」タブで、リソース参照の詳細情報を入力します。次の図は、iBank にデータソースの新しいリソース jdbc/iBank を追加する画面です。
  3. 図 6-3 リソース参照の追加
    Sun ONE Studio を使用して、Sun ONE Application Server 用の JDBC リソースを設定するためのダイアログボックスを示す図

  4. 「Sun ONE App Server」タブをクリックして、JNDI 名を jdbc/IBank に設定し、さらに、使用するデータベーススキーマに応じたユーザー名とパスワードも設定します。
  5. 図 6-4 Sun ONE Studio を使用して、Sun ONE Application Server 用の JDBC リソース参照を追加するためのダイアログボックスを示す図
    Sun ONE Application Server 用のリソース参照エントリの追加

コンテキストパラメータの追加

JNDI 名のコンテキストパラメータを追加し、iBank データソースを検索するには:

  1. 「Properties (プロパティ)」ウィンドウの「Deployment (配備)」タブの「Context Parameter (コンテキストパラメータ)」ボタンをクリックします。「Add Context Parameter (コンテキストパラメータの追加)」ダイアログボックスが表示されます。
  2. コンテキストパラメータを追加するには、「Add (追加)」をクリックします。続いて、下の図のようにコンテキストパラメータの詳細情報を入力します。
  3. 図 6-5 コンテキストパラメータの追加
    Sun ONE Studio を使用して、Sun ONE Application Server 用のコンテキストパラメータを追加するためのダイアログボックスを示す図

Welcome ファイルの指定

「Deployment (配備)」タブの「Welcome Files (Welcome ファイル)」ボタンをクリックして、Welcome ファイルを指定します。iBank の場合、Welcome ファイルは index.jsp です。

CMP エンティティ EJB の 1.1 から 2.0 への変換

iBank アプリケーションには CMP 1.1 のエンティティ Beans が付属しています。エンティティ Beans の CMP 1.1 を CMP 2.0 に変換する方法については、「CMP エンティティ EJB の移行」を参照してください。

Account エンティティ Bean のコードには Enumeration が使用されています。このコードは手動で変更する必要があります。ここでは、Account エンティティ Bean を CMP 1.1 から CMP 2.0 へ変換する手順を示します。

Account エンティティ Bean の関連ファイルは次のとおりです。

Account.java
AccountEJB.java
AccountHome.java
AccountPK.java

上記のファイルには、次の手順に従って変更を加える必要があります。

Sun ONE Studio for Java での EJB モジュールの作成

ここでは、既存のソースファイルを使用して、Sun ONE Studio for Java で EJB モジュールを作成する手順を説明します。

セッション Beans 用のモジュールの作成

session フォルダには、次の Bean クラスと、次のセッション Beans のインタフェースが格納されています。

セッション Beans のモジュールを作成するには:

  1. 左のペインの「FileSystems (ファイルシステム)」タブで、マウントされたディレクトリ session を選択します。com サブフォルダに移動し、session パッケージを選択します。
  2. session パッケージを右クリックします。「File (ファイル)」メニューから「New (新規)」を選択します。「New Wizard (新規作成ウィザード)」のオプションから「J2EE」->「EJB Module (EJB モジュール)」を選択します。
  3. EJB の主な特性、たとえば EJB 名、Bean の状態 (ステートフルまたはステートレス)、EJB のパッケージなどを指定します。次の図は、セッション Bean BankTeller の作成画面です。このセッション Bean はステートフルセッション Bean ですが、InterestCalculator セッション Bean はステートレスです。「Browse (参照)」ボタンをクリックして、パッケージを指定します。
  4. 図 6-6 新しいセッション Bean の作成
    Sun ONE Studio for Sun ONE Application Server 7 を使用したセッション Bean の作成を示す図

  5. 既存のソースフィルに一致する実装クラス、ホームインタフェース、およびリモートインタフェースを指定するには、ダイアログボックスの「Modify (変更)」ボタンをクリックし、「Select an existing source file (既存のソースファイルを選択)」を選択します。
  6. 上記の手順を繰り返して、すべてのセッション Beans を作成します。

    次の図は、セッション Bean の Bean クラス、ホームインタフェース、およびリモートインタフェースを指定する画面です。「Modify (インタフェースを変更)」ボタンをクリックし、既存のクラスを使用するオプションを選択すると、選択が可能な既存ファイルが表示されます。

    図 6-7 Bean クラス、ホームインタフェース、およびリモートインタフェースの指定
    Sun ONE Studio for Sun ONE Application Server 7 を使用したセッション Bean の Bean クラス、ホームインタフェース、およびリモートインタフェースの作成を示す図

    上記の手順に従って、 InterestCalculator セッション Bean を作成します。

  7. EJB のプロパティを編集します。
  8. EJB のプロパティを編集すると、EJB リソース参照を宣言し、EJB の環境エントリを指定することができます。

    図 6-8 BankTeller セッション Bean の「Properties (プロパティ)」ウィンドウ
    セッション Bean のプロパティを示す図

    次の図は、BankTeller セッション Bean の環境エントリを宣言する画面です。InterestCalculator Bean では、このエントリは必要ありません。

    「References (参照)」タブの「Environment Entries (環境エントリ)」をクリックしてから、「Add (追加)」をクリックして、データソース名の新しいエントリを追加します。

    図 6-9 BankTeller セッション Bean への環境エントリの追加
    Sun ONE Studio を使用してセッション Bean の環境エントリを追加するダイアログボックスを示す図

    BankTeller セッション Bean の「Properties (プロパティ)」ウィンドウ内の「References (参照)」タブで、「Resource Reference (リソース参照)」をクリックして、新しいリソースを追加します。iBank にデータソースの新しいリソース jdbc/iBank を追加します。

    「Sun ONE App Server」タブをクリックして、「JNDI Name (JNDI 名)」に jdbc/iBank を設定し、さらに、使用するデータベーススキーマに応じたユーザー名とパスワードも設定します。

    InterestCalculator Bean では、このエントリは必要ありません。

    「Properties (プロパティ)」ウィンドウ内の「Reference (参照)」タブで、「EJB Reference (EJB 参照)」をクリックして、EJB 参照を追加します。次の図は、BankTeller セッション Bean の EJB 参照を追加する画面です。BankTeller セッション Bean には、Account エンティティ Bean とCustomer エンティティ Bean の参照が含まれています。これらのエンティティ Bean の参照を BankTeller セッション Bean に追加する必要があります。

    「Modify (変更)」ボタンをクリックし、ホームインタフェースとリモートインタフェースを指定します。Beans オプションでは既存のソースを選択します。

    図 6-10 EJB 参照の追加
    Sun ONE Studio を使用してセッション Bean への EJB 参照を作成するダイアログボックスを示す図

    「EJB Reference (EJB 参照)」の「Sun ONE App Server」タブをクリックして、JNDI 名を指定します。次の図に、Account エンティティ Bean の JNDI エントリ ejb/Account を示します。同様に、Customer Bean の EJB 参照を追加した場合は、「Sun ONE App Server」タブで JNDI 名 jndi/Customer を指定します。

    図 6-11 Sun ONE Studio を使用して、Sun ONE Application Server への EJB 参照を追加するダイアログボックスを示す図
    Sun ONE Application Server 用の EJB 参照エントリの追加

  9. ソースファイルをコンパイルします。
  10. EJB モジュールを作成し、モジュール内で EJB をアセンブルします。
  11. J2EE 1.3 仕様に基づいて、Sun ONE Application Server 7 EE では、EJB モジュールをグループ化する必要があります。ルートディレクトリ session で、SessionModule として新しい EJB モジュールを作成します。新しいセッション EJB モジュールを作成するには、session フォルダを選択します。「File (ファイル)」メニューから「New (新規)」->「J2EE」->「EJB Module (EJB モジュール)」を選択します。EJB モジュールが作成されたら、そこにセッション EJB を追加します。

    次の図は、BankTeller EJB と InterestCalculator EJB を EJB モジュール SessionModule に追加する画面です。

    図 6-12 Sun ONE Studio を使用して、EJB モジュールに EJB を追加している図
    EJB モジュールへのセッション Beans の追加

エンティティ Beans 用のモジュールの作成
  1. エンティティ Beans のフォルダには、次のエンティティ Bean の Bean クラス、リモートインタフェース、ホームインタフェースが格納されています。
    • Account
    • AccountType
    • Branch
    • Customer
    • Transaction
    • TransactionType
    • Customer エンティティ Bean は Bean 管理で、その他のエンティティ Bean はコンテナ管理になります。

  2. JDBC ドライバを設定します。
  3. エクスプローラの「Runtime (実行時)」ビューで、ツリーから「Database (データベース)」の下の「Drivers (ドライバ)」を選択します。右クリックして、ポップアップメニューから「Add Driver (ドライバの追加)」を選択します。「Add Driver (ドライバの追加)」ダイアログボックスで、ドライバ名、実装クラス、関連 URL のプレフィックスを指定します。対応するドライバ用の JAR または ZIP は、Sun ONE Studio for Java にアクセスできるようにする必要があるため、Sun ONE Studio for Java Root/lib/ext ディレクトリにコピーする必要があります。

    Solaris で、適切な Sun ONE Studio for Java ディレクトリにドライバクラスを格納するには、シェル (sh または ksh) から次のコマンド行を実行します。

    cp $ORACLE_HOME/jdbc/lib/classes12.zip Sun ONE Studio for Java Root/lib/ext

  4. データベース接続プロパティを定義します。
  5. エクスプローラの「Runtime (実行時)」ビューで「Database (データベース)」を選択します。右クリックして、ポップアップメニューから「Add Connection... (接続を追加)」を選択します。「New Database Connection (新規データベース接続)」ダイアログボックスで、使用するドライバ、完全な接続 URL、ユーザー名とパスワード、および適切なデータベーススキーマを指定します。

    図 6-13 Sun ONE Studio でデータベース接続を設定するダイアログボックスを示す図
    Sun ONE Studio for Java でのデータベース接続 (Oracle) の設定

  6. 既存のソースファイルから、新しい EJB を作成します。
  7. エクスプローラの「File Systems (ファイルシステム)」タブを選択します。マウントされたディレクトリ entity を選択します。「File (ファイル)」メニューから「New (新規)」->「J2EE」->「CMP Entity EJB (CMP エンティティ EJB)」を選択します。New EJB Wizard (EJB の新規作成ウィザード) が表示されます。

    EJB 名を指定し、EJB のパッケージを定義します。「Source for Entities and Fields (エンティティのソースとフィールド)」ペインで「Table from Database Connection (データベース接続表)」を選択して、EJB フィールドの持続性のために使用するデータベース表を指定します。

    図 6-14 コンテナ管理による持続性を保持するエンティティ Bean の作成
    Sun ONE Studio で CMP エンティティ Bean を作成および設定するウィザードを示す図

    次の図のウィザード画面で、定義されているデータベース接続のリストから適切な接続を選択します。接続を選択すると、この接続からアクセスできる表のリストが表示されるので、適切な表を選択します。

    図 6-15 CMP Bean フィールドのマッピング用の表の選択
    Sun ONE Studio でデータベース表を選択して、CMP エンティティ Bean フィールドにマップするウィザードを示す図

    次の画面では、選択した表のカラムと Bean の CMP フィールド間でのマッピングを設定します。ここでは、Bean のフィールド名と対応する Java タイプを正しく指定するように、注意する必要があります。

    図 6-16 表のカラムと Bean の CMP フィールド間でのマッピング
    Sun ONE Studio でデータベース表フィールドと CMP エンティティ Bean フィールド間でのマッピングを示す図

    次の画面では、エンティティ Bean のソースファイルを指定します。

    図 6-17 表のカラムと Bean の CMP フィールド間でのマッピング
    Sun ONE Studio で CMP エンティティ Beans のソースファイルを指定するウィザードを示す図

    次の手順では、「Modify Class (クラスを変更)」ボタンをクリックして既存のソースファイルから EJB を作成することを Sun ONE Studio for Java に通知します。

    既存のソースファイルを選択したときに、エラーが発生した場合、前の手順をきちんと行っていないか、あるいはソースが正しく移行されていない可能性があります。このようなエラーが発生した場合、修正を行って対処する必要があります。

    次の画面ショットは、EJB Bean クラス用に、既存のソースファイルを選択しているところです。

    図 6-18 既存の Bean クラスを選択して Bean クラスを作成している図
    既存のソースファイルのオプションを選択した EJB Bean クラスの指定

    上記の手順を繰り返して、すべてのエンティティ Beans を作成します。


    既存クラスの選択のオプションや新規クラスを指定するオプションを使用すると、エラーが発生する可能性があります。その場合には、同じクラスを選択するオプションを使用してください。また、Sun ONE Studio の内部に予定外の結果が発生した場合、問題を解決するためには、Sun ONE Studio をいったん終了し、再起動することが必要です。このような状況では、Sun ONE Studio で予期せぬ結果が生じる可能性があるため、Sun ONE Studio をいったん終了し、再起動してください。


  8. EJB のプロパティを編集します。
  9. エクスプローラで新しい EJB を選択し、右クリックして、ポップアップメニューから「Properties (プロパティ)」を選択します。「Properties (プロパティ)」ウィンドウが表示されます。

    「Properties (プロパティ)」ウィンドウの「References (参照)」タブで、このテキストフィールドの右側の「Resource References (リソース参照)」ボタンをクリックします。

    「Add Resource Reference (リソース参照の追加)」ダイアログボックスで、エンティティ Bean Customer に次のプロパティを設定します。

    「Standard (標準)」タブで、データソースの完全名 (jdbc/DataSourceName) とリソースタイプ (javax.sql.DataSource) を指定し、このリソースへのアクセスを管理するオプション (「Authorization (認証)」) のドロップダウンリストから、「Container (コンテナ)」を選択します。

    宣言を作成したら、「Sun ONE App Server」タブを選択し、前に定義したリソース参照に対応するエントリの JNDI 名のカラムに、データソースの JNDI 名jdbc/iBankを指定します。ユーザー名とパスワードも指定します。

    「Properties (プロパティ)」ウィンドウの「Sun ONE AS」タブを選択し、「Reference Resource Mapping (リソース参照マッピング)」をクリックしてから、使用する必要があるサーバーインスタンスで、データソース jdbc/IBank を選択します。

    図 6-19 Sun ONE Application Server 用のリソース参照のマッピング
    Sun ONE Application Server へのリソース参照のマッピングを示す図

  10. findByPrimaryKey メソッド以外の検索の EJB QL を設定します。
  11. EJB QL は、検索に対して指定する必要があります。CMP 2.0 仕様に従って、検索は EJB QL を使用します。

    iBank アプリケーションの場合、このタイプの編集が必要なエンティティ Bean は Account Bean です。Sun ONE Studio のエクスプローラウィンドウで、AccountEJB ノードを選択し、そのノードのファインダメソッドを展開します。findByPrimaryKey 以外の検索メソッドをクリックして、その「Properties (プロパティ)」ウィンドウを開きます。

    図 6-20 検索メソッドのプロパティ
    検索メソッドのプロパティを示す図

    「EJBQL Query (EJBQL 照会)」フィールドをクリックして、クエリを入力します。次の図は、クエリが入力されているところです。

    図 6-21 検索メソッドの EJB QL の編集
    EJB QL スクリプトを編集できるダイアログボックスを示す図

  12. EJB モジュールを作成し、モジュール内で EJB をアセンブルします。
  13. EntityModule という名前の新しい EJB モジュールを作成します。作成できたら右クリックし、EJB を追加するオプションを選択して、このモジュールにすべてのエンティティ Beans を追加します。J2EE 1.3 仕様に基づいて、EJB モジュールをグループ化する必要があります。

  14. 新しいデータベーススキーマを作成します。
  15. 「File (ファイル)」メニューから「New (新規)」を選択し、新しいデータベーススキーマを選択します。スキーマを取り込む必要があるデータベースの接続情報を定義します。

  16. Sun ONE Application Server 7 のデータベースエントリをマップします。
  17. EJB モジュールの EJB ノードを選択し、このノードを右クリックして、「Properties (プロパティ)」ウィンドウを選択し、さらに「Sun ONE AS」タブを選択します。この特定のエンティティ Bean について、データベーススキーマと主表名を指定します。EJB モジュール内の他のエンティティ Bean についても、同様のプロセスを繰り返します。

    次の図は、エンティティ Bean Account の主表を選択しているところです。

    図 6-22 データベースのマッピング
    Bean とデータベース間でのマッピングを示す図

    「Next (次へ)」をクリックして、Bean の cmp フィールドと表フィールドのマッピングを指定します。

    次に、「Properties (プロパティ)」ウィンドウから「Sun ONE Mapping (Sun ONE マッピング)」タブを選択し、再度マッピングを入力します。

    次の図は、Account EJB のマッピングを示しています。

    図 6-23 エンティティ Bean「Account」のプロパティ
    エンティティ Bean「Account」のプロパティの表示

    同様に、すべてのエンティティ Beans のマッピングを設定します。

    データベース表フィールドに対応する特定のエンティティ Bean のマッピングについては、「エンティティ Bean の関係の定義」を参照してください。

  18. CMP リソースを追加します。
  19. EntityModule を選択し、プロパティを表示します。「Sun ONE AS」タブを選択し、今度は「CMP Resource (CMP リソース)」ボタンをクリックして持続性マネージャファクトリを設定します。

    次の図に設定のようすを示します。

    図 6-24 CMP リソースの追加
    CMP リソースのプロパティエディタの図

Sun ONE Studio for Java でのエンタープライズアプリケーションの作成

Web アプリケーションと EJB ファイルを作成したら、今度はすべてのモジュールをグループ化するエンタープライズアプリケーションを作成します。エンタープライズアプリケーションの作成プロセスは、以下のとおりです。

  1. ソースに利用できる同じパッケージの下にある新しいディレクトリ IBank に、新しいエンタープライズアプリケーションモジュールを作成します。
  2. Web モジュールと EJB モジュールをエンタープライズアプリケーションモジュールに追加します。
  3. 次の図は、WarContent という Web モジュール、および SessionModuleEntityModule という EJB モジュールを含んだ iBank エンタープライズアプリケーションを示しています。

    図 6-25 アプリケーションへのモジュールの追加
    Sun ONE Studio でアプリケーションを作成し、そのアプリケーションに EJB モジュール、セッションモジュール、Web モジュールを追加している図

    次の図は、3 つのモジュールを含んだ iBank アプリケーションを示しています。

    図 6-26 異なるモジュールを含んだ iBank アプリケーションのファイルシステムを示す図
    異なるモジュールを含む iBank アプリケーションを示すファイルシステム

  4. エンタープライズアプリケーションのプロパティを編集します。
  5. プロパティエディタを使用すると、エンタープライズアプリケーションモジュールに、異なるプロパティを設定することができます。特に、このエディタでは、エンタープライズアプリケーションの Web モジュールについて、ルートコンテキスト名を定義します。

    図 6-27 Web コンテキストの指定
    Web コンテキストを指定している図

  6. EAR ファイルをエクスポートします。
  7. エンタープライズアプリケーションを右クリックして EAR ファイルをエクスポートします。次に、EAR ファイルをエクスポートするオプションを選択します。この EAR ファイルには、JAR ファイル、WAR ファイル、および XML ファイルが含まれています。この EAR ファイルには、Sun ONE Application Server 7 での配備に必要な Sun ONE 固有の XML ファイルが含まれます。この EAR ファイルは、これで配備することができます。

Sun ONE Application Server 7 でのアプリケーションの配備

最後の作業は、Sun ONE Application Server 7 のインスタンスでのアプリケーションの配備です。アプリケーションを配備するプロセスは、以下に示すとおりです。

  1. Sun ONE Studio for Java から Sun ONE Server 7 のインスタンスへのアプリケーションの配備
  2. EAR ファイルを右クリックし、「Deploy (配備)」オプションを選択します。これによって、デフォルトのサーバーインスタンスに、アプリケーションが配備されます。サーバーインスタンスを再起動し、アプリケーションをテストします。

  3. Sun ONE Application Server 7 の asadmin ユーティリティによるインスタンスへのアプリケーションの配備
  4. Sun ONE Studio for Java を使用しないで、Sun ONE サーバーインスタンスに、エンタープライズアプリケーションを配備する場合、Sun ONE Studio for Java からアプリケーションの EAR アーカイブを作成およびエクスポートした後で、Sun ONE Application Server 7 の asadmin ユーティリティを使用します。



前へ      目次      索引      次へ     


Copyright 2003 Sun Microsystems, Inc. All rights reserved.