BEA ホーム | 製品 | dev2dev | support | askBEA
 ドキュメントのダウンロード   サイト マップ   Glossary 
検索

WebLogic Server アプリケーションの開発

 Previous Next Contents Index PDF で侮ヲ  

WebLogic Server アプリケーションのパッケージ化

以下の節では、WebLogic Server コンポーネントのパッケージ化について説明します。コンポーネントは、WebLogic Server にデプロイする前にパッケージ化します。

 


パッケージ化の概要

WebLogic Server J2EE アプリケーションは、J2EE 仕様に従ってパッケージ化されます。J2EE では、コンポーネントの動作とパッケージ化が汎用的で移植性の高い方法で定義されています。このため、実行時コンフィグレーションはコンポーネントを実際にアプリケーション サーバにデプロイするときに行います。

J2EE には、Web アプリケーション、EJB モジュール、エンタープライズ アプリケーション、クライアント アプリケーション、およびリソース アダプタ用のデプロイメント仕様が含まれています。J2EE では、どのようにアプリケーションをターゲット サーバにデプロイするかは指定されておらず、標準のコンポーネントまたはアプリケーションをパッケージ化する方法だけが指定されています。

コンポーネントのタイプごとに、J2EE には必要なファイルとそれらのディレクトリ構造上の格納場所が定義されています。コンポーネントとアプリケーションは、多くの場合、EJB とサーブレットの Java クラス、リソース アダプタ、Web ページとサポート ファイル、XML 形式のデプロイメント記述子、およびその他のコンポーネントが格納された JAR ファイルで構成されています。

WebLogic Server にデプロイできる状態のアプリケーションには、WebLogic 固有のデプロイメント記述子が必要な場合があります。また、WebLogic EJB、RMI、または JSP コンパイラで生成されたコンテナ クラス (オプション) が含まれることもあります。

詳細については、J2EE 1.3 仕様 (http://java.sun.com/j2ee/download.html#platformspec) を参照してください。

 


JAR ファイル

Java の jar ツールで作成される JAR (Java ARchive: Java アーカイブ) ファイルには、1 つのディレクトリ内のファイルが、ディレクトリ構造を維持したまま統合されます。Java クラスローダは、クラスパス内のディレクトリを検索するのと同じように、JAR ファイル内の Java クラス ファイル (および他のファイル タイプ) を検索できます。クラスローダはディレクトリまたは JAR ファイルを検索できるので、「展開された」ディレクトリまたは JAR ファイルの形式で、J2EE コンポーネントを WebLogic Server にデプロイできます。

JAR ファイルは、コンポーネントとアプリケーションをパッケージ化して配布するのに役立ちます。簡単にコピーでき、展開されたディレクトリよりも処理するファイル数が少なく、ファイル圧縮によってディスク スペースも節約できます。管理サーバが複数の WebLogic Server を持つドメインを管理する場合、JAR ファイルまたは EAR ファイルしかデプロイできません。Administration Console は展開されたディレクトリを管理対象サーバにコピーしないからです。

jar ユーティリティは、Java Development Kit の bin ディレクトリに格納されています。パスに javac が指定されている場合、jar も指定されています。jar コマンドの構文と動作は、UNIX tar コマンドとほぼ同じです。

jar コマンドの最も一般的な使い方は次のとおりです。

jar cf jar-file files ...

jar-file という名前の JAR ファイルを作成し、指定したファイルを統合します。ファイル リストにディレクトリを入れた場合、そのディレクトリとサブディレクトリ内のすべてのファイルが JAR ファイルに追加されます。

jar xf jar-file

現在のディレクトリ内の JAR ファイルを展開 (分解) します。

jar tf jar-file

JAR ファイルの内容を一覧表示します。

最初のフラグは、操作 (作成 (create)、展開 (extract)、または一覧表示 (tell)) を指定します。f フラグの後には、JAR ファイル名を指定しなければなりません。f フラグを指定しないと、jar は JAR ファイルの内容を stdin から読み込むか、または stdout に書き出します。このような処理は一般的ではありません。jar コマンド オプションの詳細については、JDK ユーティリティのドキュメントを参照してください。

 


XML デプロイメント記述子

コンポーネントとアプリケーションには、ディレクトリまたは JAR ファイルの内容について説明したデプロイメント記述子という XML ドキュメントが組み込まれています。デプロイメント記述子は、XML タグでフォーマットされたテキスト ドキュメントです。J2EE 仕様では、J2EE コンポーネントおよびアプリケーション用の標準的で移植性の高いデプロイメント記述子が定義されています。BEA では、コンポーネントまたはアプリケーションを WebLogic Server 環境にデプロイするときに使用する WebLogic 固有のデプロイメント記述子をさらに定義しています。

表 4-1 に、コンポーネントとアプリケーションのタイプと、それらの J2EE 標準および WebLogic 固有のデプロイメント記述子を示します。

表4-1 J2EE と WebLogic のデプロイメント記述子

コンポーネントまたは
アプリケーション

スコープ

デプロイメント記述子

Web アプリケーション

J2EE

web.xml

WebLogic

weblogic.xml

エンタープライズ Bean

J2EE

ejb-jar.xml

WebLogic

weblogic-ejb-jar.xml

weblogic-cmp-rdbms-jar.xml

リソース アダプタ

J2EE

ra.xml

WebLogic

weblogic-ra.xml

エンタープライズ アプリケーション

J2EE

application.xml

WebLogic

weblogic-application.xml

クライアント アプリケーション

J2EE

application-client.xml

WebLogic

client-application.runtime.xml

コンポーネントまたはアプリケーションをパッケージ化する場合は、デプロイメント記述子を格納するディレクトリ (WEB-INF または META-INF) を作成し、次にそのディレクトリ内に XML デプロイメント記述子を作成します。

手動でデプロイメント記述子を作成することも、WebLogic 固有の Java ベース ユーティリティを使用して自動的に生成することもできます。デプロイメント記述子の生成の詳細については、デプロイメント記述子の自動生成を参照してください。

開発者から J2EE 準拠の JAR ファイルを受け取った場合、そのファイルには既に J2EE 標準のデプロイメント記述子が組み込まれています。その JAR ファイルを WebLogic Server にデプロイするには、その JAR ファイルの内容をディレクトリに展開し、WebLogic 固有のデプロイメント記述子とその他の生成されたコンテナ クラスを追加して、新旧のファイルが入った新しい JAR ファイルを作成します。JAR ユーティリティには、「u」オプションが付いていて、このオプションを使用するとファイルを変更したり、既存の JAR ファイルに直接ファイルを追加できます。

デプロイメント記述子の自動生成

WebLogic Server には、Web アプリケーション、エンタープライズ JavaBean (バージョン 2.0) などの J2EE コンポーネントのデプロイメント記述子を自動的に生成する Java ベースのユーティリティがあります。

これらのユーティリティは、ステージング ディレクトリにアセンブルしたオブジェクトを検証し、サーブレット クラス、EJB クラス、および既存の記述子を基に適切なデプロイメント記述子を構築します。ユーティリティは、コンポーネントごとに標準 J2EE デプロイメント記述子と WebLogic 固有のデプロイメント記述子の両方を生成します。

WebLogic Server には、以下のユーティリティがあります。

DDInit の制限

DDInit ユーティリティは、ユーザのコンポーネントまたはアプリケーションに完全かつ厳密に従ったデプロイメント記述子ファイルを作成しようとしますが、必要な要素の多くに対して値を推測しなければなりません。この推測が間違っていると、コンポーネントまたはアプリケーションをデプロイするときに WebLogic Server はエラーを返します。この場合、コンポーネントまたはアプリケーションをアンデプロイし、Administration Console のデプロイメント記述子エディタでデプロイメント記述子を編集してから、再デプロイする必要があります。デプロイメント記述子エディタの使用方法の詳細については、デプロイメント記述子の編集.を参照してください。

エンティティ Bean 間の関係は DDInit 特有の問題です。DDInit は 1 対 1 の双方向の関係を断定することしかできないからです。「多」の側面を持つ関係の場合、DDInit は関係の性質を推測します。

WEB-INF ディレクトリ、JSP ファイル、および Web アプリケーションを構成するその他のオブジェクトを含む c:\stage というディレクトリを作成したものの、web.xml および weblogic.xml デプロイメント記述子を作成していないとします。それらを自動的に生成するには、次のコマンドを実行します。

java weblogic.marathon.ddinit.WebInit c:\stage

ユーティリティによって web.xml および weblogic.xml デプロイメント記述子が生成され、WEB-INF ディレクトリに配置されます (WEB-INF ディレクトリがない場合は DDInit によって作成されます)。

デプロイメント記述子の編集

BEA では、WebLogic Server アプリケーションおよびコンポーネントのデプロイメント記述子の編集用に以下の 2 つのツールを提供しています。

いずれかのエディタを使用して、以下のデプロイメント記述子に対して、既存の要素の更新、新しい要素の追加、既存の要素の削除を行うことができます。

BEA XML エディタの使い方

XML ファイルを編集するには、完全な Java ベースの XML スタンドアロン エディタである BEA XML エディタを使用します。この XML エディタは、XML ファイルを作成および編集するためのシンプルで使いやすいツールです。このツールでは、XML ファイルの内容を、階層的な XML ツリー構造と実際の XML コードの両方で表示します。このようにドキュメントを 2 通りに表示することにより、以下のいずれかの編集方法を選択できます。

BEA XML エディタは、指定した DTD または XML スキーマを基に XML コードを検証します。

BEA XML エディタの使用法およびダウンロードの詳細については、BEA dev2dev Online を参照してください。

EJBGen について

EJBGen は、Javadoc マークアップを使用して EJB デプロイメント記述子ファイルを生成するエンタープライズ JavaBeans 2.0 のコード ジェネレータ (コマンドライン ツール) です。Bean クラス ファイルに javadoc タグで注釈を付け、EJBGen を使用してリモート クラスとホーム クラス、および EJB アプリケーション用のデプロイメント記述子ファイルを生成し、編集および保守が必要な複数の EJB ファイルを 1 つにまとめます。

EJBGen の詳細については、『WebLogic エンタープライズ JavaBeans プログラマーズ ガイド』を参照してください。

Administration Console のデプロイメント記述子エディタの使い方

Administration Console のデプロイメント記述子エディタは、メインの Administration Console に非常に似ています。左側のペインでは、デプロイメント記述子ファイルの要素がツリー形式で表示され、右側のペインには、特定の要素を更新するためのフォームがあります。

エディタを使用する場合、インメモリ デプロイメント記述子のみを更新するか、またはインメモリおよびディスク ファイルの両方を更新できます。特定の要素を更新してから [適用] ボタンをクリックするか、[作成] ボタンをクリックして新しい要素を作成すると、WebLogic Server のメモリ内のデプロイメント記述子のみが更新されます。変更はまだディスクには書き込まれていません。ディスクに保存するには、[永続化] ボタンをクリックします。変更を明示的にディスクに永続化しない場合、WebLogic Server を終了して再起動すると、変更は失われます。

EJB デプロイメント記述子の編集

この節では、Administration Console のデプロイメント記述子エディタを使用して以下の EJB デプロイメント記述子を編集する手順を説明します。

EJB 固有のデプロイメント記述子の要素の詳細については、『WebLogic エンタープライズ JavaBeans プログラマーズ ガイド』を参照してください。

EJB デプロイメント記述子を編集する手順は次のとおりです。

  1. ブラウザで次の URL を指定して、Administration Console を起動します。
    http://host:port/console

    host は WebLogic Server が稼働するコンピュータの名前、port は WebLogic Server がリスンするポートの番号です。

  2. 左ペインの [デプロイメント] ノードをクリックして展開します。

  3. [デプロイメント] ノードの [EJB] ノードをクリックして展開します。

  4. 編集対象のデプロイメント記述子がある EJB の名前を右クリックし、ドロップダウン メニューから [EJB 記述子の編集] を選択します。Administration Console ウィンドウが新しいブラウザに表示されます。

    左側のペインには、3 つの EJB デプロイメント記述子のすべての要素がツリー形式で表示され、右側のペインには、ejb-jar.xml ファイルの説明要素のためのフォームがあります。

  5. EJB デプロイメント記述子の要素を編集、削除、または追加するには、以下のリストで説明されているように、左側のペインで編集対象のデプロイメント記述子に対応するノードをクリックして展開します。

  6. いずれかの EJB デプロイメント記述子の既存の要素を編集するには、次の手順に従います。

    1. 左側のペインでツリーを移動し、編集対象の要素が見つかるまで親要素をクリックします。

    2. 要素をクリックします。右側のペインに、属性または下位要素のどちらかを表示するフォームが表示されます。

    3. 右側のペインのフォームで、テキストを編集します。

    4. [適用] をクリックします。

  7. いずれかの EJB デプロイメント記述子の新しい要素を追加するには、次の手順に従います。

    1. 左側のペインでツリーを移動し、作成対象の要素の名前が見つかるまで親要素をクリックします。

    2. 要素を右クリックして、ドロップダウン メニューから [新しい (要素名) のコンフィグレーション] を選択します。

    3. 右側のペインに表示されるフォームで、要素情報を入力します。

    4. [作成] をクリックします。

  8. いずれかの EJB デプロイメント記述子の既存の要素を削除するには、次の手順に従います。

    1. 左側のペインでツリーを移動し、削除対象の要素の名前が見つかるまで親要素をクリックします。

    2. 要素を右クリックして、ドロップダウン メニューから [(要素名) の削除] を選択します。

    3. [はい] をクリックすると、要素の削除が確定されます。

  9. EJB デプロイメント記述子への変更がすべて完了したら、左側のペインでツリーのルート要素をクリックします。ルート要素は、EJB の JAR アーカイブ ファイルの名前または EJB の表示名です。

  10. EJB デプロイメント記述子のエントリが有効かどうかを確認する場合は、[検証] をクリックします。

  11. [永続化] をクリックして、デプロイメント記述子ファイルの編集内容を、WebLogic Server のメモリだけでなくディスクに書き込みます。

Web アプリケーションのデプロイメント記述子の編集

この節では、Administration Console のデプロイメント記述子エディタを使用して、web.xml および weblogic.xml Web アプリケーション デプロイメント記述子を編集する手順を説明します。

Web アプリケーション デプロイメント記述子の要素の詳細については、『Web アプリケーションのアセンブルとコンフィグレーション』を参照してください。

Web アプリケーション デプロイメント記述子を編集する手順は次のとおりです。

  1. ブラウザで Administration Console を起動します。
    http://host:port/console

    host は WebLogic Server が稼働するコンピュータの名前、port は WebLogic Server がリスンするポートの番号です。

  2. 左ペインの [デプロイメント] ノードをクリックして展開します。

  3. [デプロイメント] ノードの [Web アプリケーション] ノードをクリックして展開します。

  4. 編集対象のデプロイメント記述子がある Web アプリケーションの名前を右クリックし、ドロップダウン メニューから [Web アプリケーション記述子の編集] を選択します。Administration Console ウィンドウが新しいブラウザに表示されます。

    左側のペインには、2 つの Web アプリケーション デプロイメント記述子のすべての要素がツリー形式で表示され、右側のペインには、web.xml ファイルの説明要素のためのフォームがあります。

  5. Web アプリケーション デプロイメント記述子の要素を編集、削除、または追加するには、左側のペインで編集対象のデプロイメント記述子に対応するノードをクリックして展開します。

  6. いずれかの Web アプリケーション デプロイメント記述子の既存の要素を編集する手順は次のとおりです。

    1. 左側のペインでツリーを移動し、編集対象の要素が見つかるまで親要素をクリックします。

    2. 要素をクリックします。右側のペインに、属性または下位要素のどちらかを表示するフォームが表示されます。

    3. 右側のペインのフォームで、テキストを編集します。

    4. [適用] をクリックします。

  7. いずれかの Web アプリケーション デプロイメント記述子に新しい要素を追加する手順は次のとおりです。

    1. 左側のペインでツリーを移動し、作成対象の要素の名前が見つかるまで親要素をクリックします。

    2. 要素を右クリックして、ドロップダウン メニューから [新しい (要素名) のコンフィグレーション] を選択します。

    3. 右側のペインに表示されるフォームで、要素情報を入力します。

    4. [作成] をクリックします。

  8. いずれかの Web アプリケーション デプロイメント記述子から既存の要素を削除する手順は次のとおりです。

    1. 左側のペインでツリーを移動し、削除対象の要素の名前が見つかるまで親要素をクリックします。

    2. 要素を右クリックして、ドロップダウン メニューから [(要素名) の削除] を選択します。

    3. [はい] をクリックすると、要素の削除が確定されます。

  9. Web アプリケーション デプロイメント記述子への変更がすべて完了したら、左側のペインでツリーのルート要素をクリックします。ルート要素は、Web アプリケーションの WAR アーカイブ ファイルの名前または Web アプリケーションの表示名です。

  10. Web アプリケーション デプロイメント記述子のエントリが有効かどうかを確認する場合は、[検証] をクリックします。

  11. [永続化] をクリックして、デプロイメント記述子ファイルの編集内容を、WebLogic Server のメモリだけでなくディスクに書き込みます。

リソース アダプタのデプロイメント記述子の編集

この節では、Administration Console のデプロイメント記述子エディタを使用して、ra.xml および weblogic-ra.xml リソース アダプタ デプロイメント記述子を編集する手順を説明します。

リソース アダプタ デプロイメント記述子の要素の詳細については、『WebLogic J2EE コネクタ アーキテクチャ』を参照してください。

リソース アダプタ デプロイメント記述子を編集する手順は次のとおりです。

  1. ブラウザで Administration Console を起動します。
    http://host:port/console

    host は WebLogic Server が稼働するコンピュータの名前、port は WebLogic Server がリスンするポートの番号です。

  2. 左ペインの [デプロイメント] ノードをクリックして展開します。

  3. [デプロイメント] ノードの [コネクタ] ノードをクリックして展開します。

  4. 編集対象のデプロイメント記述子があるリソース アダプタの名前を右クリックし、ドロップダウン メニューから [コネクタ記述子の編集] を選択します。Administration Console ウィンドウが新しいブラウザに表示されます。

    左側のペインには、2 つのリソース アダプタのデプロイメント記述子のすべての要素がツリー形式で表示され、右側のペインには、ra.xml ファイルの説明要素のためのフォームがあります。

  5. リソース アダプタ デプロイメント記述子の要素を編集、削除、または追加するには、左側のペインで編集対象のデプロイメント記述子に対応するノードをクリックして展開します。

  6. いずれかのリソース アダプタ デプロイメント記述子の既存の要素を編集する手順は次のとおりです。

    1. 左側のペインでツリーを移動し、編集対象の要素が見つかるまで親要素をクリックします。

    2. 要素をクリックします。右側のペインに、属性または下位要素のどちらかを表示するフォームが表示されます。

    3. 右側のペインのフォームで、テキストを編集します。

    4. [適用] をクリックします。

  7. いずれかのリソース アダプタ デプロイメント記述子に新しい要素を追加する手順は次のとおりです。

    1. 左側のペインでツリーを移動し、作成対象の要素の名前が見つかるまで親要素をクリックします。

    2. 要素を右クリックして、ドロップダウン メニューから [新しい (要素名) のコンフィグレーション] を選択します。

    3. 右側のペインに表示されるフォームで、要素情報を入力します。

    4. [作成] をクリックします。

  8. いずれかのリソース アダプタ デプロイメント記述子から既存の要素を削除する手順は次のとおりです。

    1. 左側のペインでツリーを移動し、削除対象の要素の名前が見つかるまで親要素をクリックします。

    2. 要素を右クリックして、ドロップダウン メニューから [(要素名) の削除] を選択します。

    3. [はい] をクリックすると、要素の削除が確定されます。

  9. リソース アダプタ デプロイメント記述子への変更がすべて完了したら、左側のペインでツリーのルート要素をクリックします。ルート要素は、リソース アダプタの RAR アーカイブ ファイルの名前またはリソース アダプタの表示名です。

  10. リソース アダプタ デプロイメント記述子のエントリが有効かどうかを確認する場合は、[検証] をクリックします。

  11. [永続化] をクリックして、デプロイメント記述子ファイルの編集内容を、WebLogic Server のメモリだけでなくディスクに書き込みます。

エンタープライズ アプリケーションのデプロイメント記述子の編集

Administration Console のデプロイメント記述子エディタを使用してエンタープライズ アプリケーション デプロイメント記述子 (application.xml および weblogic-application.xml) を編集する手順をこの節で説明します。

application.xml および weblogic-application.xml ファイルの詳細については、アプリケーション デプロイメント記述子の要素application.xml デプロイメント記述子の要素を参照してください。

注意: 以下の手順は、application.xml ファイルおよび weblogic-application.xml ファイルの編集方法のみを説明するものです。エンタープライズ アプリケーションを構成するコンポーネントのデプロイメント記述子を編集する場合は、EJB デプロイメント記述子の編集Web アプリケーションのデプロイメント記述子の編集、または リソース アダプタのデプロイメント記述子の編集を参照してください。

エンタープライズ アプリケーション デプロイメント記述子を編集する手順は次のとおりです。

  1. ブラウザで Administration Console を起動します。
    http://host:port/console

    host は WebLogic Server が稼働するコンピュータの名前、port は WebLogic Server がリスンするポートの番号です。

  2. 左ペインの [デプロイメント] ノードをクリックして展開します。

  3. [デプロイメント] ノードの [アプリケーション] ノードをクリックして展開します。

  4. 編集対象のデプロイメント記述子があるエンタープライズ アプリケーションの名前を右クリックし、ドロップダウン メニューから [アプリケーション記述子の編集] を選択します。Administration Console ウィンドウが新しいブラウザに表示されます。

    左側のペインには、application.xml ファイルのすべての要素がツリー構造で表示され、右側のペインには、表示名やアイコン ファイル名などの説明要素のためのフォームがあります。

  5. application.xml デプロイメント記述子の既存の要素を編集するには、次の手順に従います。

    1. 左側のペインでツリーを移動し、編集対象の要素が見つかるまで親要素をクリックします。

    2. 要素をクリックします。右側のペインに、属性または下位要素のどちらかを表示するフォームが表示されます。

    3. 右側のペインのフォームで、テキストを編集します。

    4. [適用] をクリックします。

  6. application.xml デプロイメント記述子に新しい要素を追加する手順は次のとおりです。

    1. 左側のペインでツリーを移動し、作成対象の要素の名前が見つかるまで親要素をクリックします。

    2. 要素を右クリックして、ドロップダウン メニューから [新しい (要素名) のコンフィグレーション] を選択します。

    3. 右側のペインに表示されるフォームで、要素情報を入力します。

    4. [作成] をクリックします。

  7. application.xml デプロイメント記述子の既存の要素を削除する手順は次のとおりです。

    1. 左側のペインでツリーを移動し、削除対象の要素の名前が見つかるまで親要素をクリックします。

    2. 要素を右クリックして、ドロップダウン メニューから [(要素名) の削除] を選択します。

    3. [はい] をクリックすると、要素の削除が確定されます。

  8. application.xml デプロイメント記述子への変更がすべて完了したら、左側のペインでツリーのルート要素をクリックします。ルート要素は、エンタープライズ アプリケーションの EAR アーカイブ ファイルの名前または エンタープライズ アプリケーションの表示名です。

  9. application.xml デプロイメント記述子のエントリが有効かどうかを確認する場合は、[検証] をクリックします。

  10. [永続化] をクリックして、デプロイメント記述子ファイルの編集内容を、WebLogic Server のメモリだけでなくディスクに書き込みます。

 


Web アプリケーションのパッケージ化

Web アプリケーションがプログラムに基づく Java クライアントによってアクセスされる場合は、クライアント アプリケーションのパッケージ化を参照してください。この節では、サーバによるアプリケーション クラスのロード方法を説明しています。

Web アプリケーションをステージングおよびパッケージ化するには、次の手順に従います。

  1. 一時ステージング ディレクトリをハードディスクの任意の場所に作成します。このディレクトリには、任意の名前を付けることができます。

  2. HTML ファイル、JSP ファイル、およびこれらの Web ページが参照する画像などのすべてのファイルを、ステージング ディレクトリにコピーします。その際、参照されるファイルのディレクトリ構造はそのまま維持します。たとえば、HTML ファイルに <img src="images/pic.gif"> というタグが定義されている場合、pic.gif ファイルはその HTML ファイルの images サブディレクトリに配置されなければなりません。

  3. ステージング ディレクトリに WEB-INF および WEB-INF/classes サブディレクトリを作成して、デプロイメント記述子とコンパイル済みの Java クラスを格納します。

  4. サーブレット クラスとヘルパー クラスを WEB-INF/classes サブディレクトリにコピーまたはコンパイルします。

  5. サーブレットが使用するエンタープライズ Bean のホームおよびリモート インタフェース クラスを WEB-INF/classes サブディレクトリにコピーします。

  6. JSP タグ ライブラリを WEB-INF サブディレクトリにコピーします。タグ ライブラリは WEB-INF のサブディレクトリにインストールされます。.tld へのパスは .jsp ファイルにコーディングされています。

  7. シェル環境を設定します。

    Windows NT の場合は、server¥bin¥setenv.cmd ディレクトリにある setenv.cmd コマンドを実行します。server は WebLogic Server がインストールされている最上位ディレクトリです。

    UNIX の場合は、server/bin/setenv.sh ディレクトリにある setenv.sh コマンドを実行します。server は WebLogic Server がインストールされている最上位ディレクトリです。

  8. WEB-INF サブディレクトリに web.xml および weblogic.xml デプロイメント記述子を自動的に生成する次のコマンドを実行します。
    java weblogic.marathon.ddinit.WebInit staging-dir

    staging-dir は、ステージング ディレクトリです。

    デプロイメント記述子を生成する Java ベース ユーティリティ DDInit の詳細については、デプロイメント記述子の自動生成を参照してください。

    代わりに、WEB-INF サブディレクトリに web.xml および weblogic.xml ファイルを手動で作成することもできます。

    注意: web.xml および weblogic.xml ファイルの要素の詳細については、『Web アプリケーションのアセンブルとコンフィグレーション』を参照してください。

  9. 次のような jar コマンドを実行して、ステージング ディレクトリを WAR ファイルにパッケージ化します。
    jar cvf myapp.war -C staging-dir

    作成された WAR ファイルは、エンタープライズ アプリケーション (EAR ファイル) に追加するか、Administration Console または weblogic.Deployer コマンドライン ユーティリティを使用して単独でデプロイできます。

    注意: これで、Web アプリケーションのパッケージ化が完了しました。WebLogic Server におけるアプリケーションのデプロイメントの手順については、「アプリケーションのデプロイメント」を参照してください。

 


エンタープライズ JavaBeans のパッケージ化

1 つまたは複数のエンタープライズ JavaBean (EJB) を 1 つのディレクトリにステージングして、それらを EJB JAR ファイルにパッケージ化できます。EJB がプログラムに基づく Java クライアントによってアクセスされる場合は、クライアント アプリケーションのパッケージ化を参照してください。この節では、WebLogic Server による EJB クラスのロード方法を説明しています。

EJB のステージングおよびパッケージ化

エンタープライズ JavaBean (EJB) をステージングおよびパッケージ化する手順は次のとおりです。

  1. ハード ディスクの任意の場所に一時ステージング ディレクトリを作成します (c:\stagedir など)。

  2. 対象となる Bean の Java クラスをステージング ディレクトリにコンパイルまたはコピーします。

  3. ステージング ディレクトリに META-INF サブディレクトリを作成します。

  4. シェル環境を設定します。

    Windows NT の場合は、server¥bin¥setenv.cmd ディレクトリにある setenv.cmd コマンドを実行します。server は WebLogic Server がインストールされている最上位ディレクトリです。

    UNIX の場合は、server/bin/setenv.sh ディレクトリにある setenv.sh コマンドを実行します。server は WebLogic Server がインストールされている最上位ディレクトリで、domain はドメインの名前です。

  5. 次のコマンドを実行して、META-INF サブディレクトリに ejb-jar.xmlweblogic-ejb-jar.xml、および (必要に応じて) weblogic-rdbms-cmp-jar-bean_name.xml デプロイメント記述子を自動的に生成します。
    java weblogic.marathon.ddinit.EJBInit staging-dir

    staging-dir は、ステージング ディレクトリです。このユーティリティでは、EJB 2.0 用のデプロイメント記述子が生成されます。

    デプロイメント記述子を生成する Java ベース ユーティリティ DDInit の詳細については、デプロイメント記述子の自動生成を参照してください。

    または、EJB デプロイメント記述子ファイルを手動で作成することもできます。META-INF サブディレクトリに ejb-jar.xml および weblogic-ejb-jar.xml ファイルを作成します。この Bean がコンテナ管理される永続的なエンティティ Bean である場合、META-INF ディレクトリに、weblogic-rdbms-cmp-jar-bean_name.xml デプロイメント記述子を作成し、その Bean のエントリを追加します。weblogic-ejb-jar.xml ファイルの <type-storage> 属性を使用して、Bean をこの CMP デプロイメント記述子にマッピングします。

    注意: エンタープライズ Bean のコンパイルと EJB デプロイメント記述子の作成については、『WebLogic エンタープライズ JavaBeans プログラマーズ ガイド』を参照してください。

  6. すべてのエンタープライズ Bean クラスとデプロイメント記述子をステージング ディレクトリに配置したら、次のように jar コマンドを使用して EJB JAR ファイルを作成します。
    jar cvf jar-file.jar -C staging-dir

    このコマンドによって、WebLogic Server にデプロイ可能な JAR ファイルが作成されます。

    -C staging-dir オプションを指定すると、jar コマンドはディレクトリを staging-dir に変更します。これにより、JAR ファイルに記録されるディレクトリ パスがエンタープライズ Bean のステージング ディレクトリを基準にした相対パスとなります。

    エンタープライズ Bean には、コンテナ クラスが必要となります。コンテナ クラスとは、WebLogic EJB コンパイラによって生成され、エンタープライズ Bean を WebLogic Server にデプロイできるようにするためのクラスです。WebLogic EJB コンパイラは、EJB JAR ファイル内のデプロイメント記述子を読み取って、コンテナ クラスの生成方法を決定します。WebLogic EJB コンパイラは、エンタープライズ Bean をデプロイする前に JAR ファイル上で実行できます。また、デプロイメント時に WebLogic Server にコンパイラを実行させることもできます。WebLogic EJB コンパイラに関して不明な点があれば、『WebLogic エンタープライズ JavaBeans プログラマーズ ガイド』を参照してください。

    注意: これで、EJB のパッケージ化が完了しました。WebLogic Server におけるアプリケーションのデプロイメントの手順については、「アプリケーションのデプロイメント」を参照してください。

ejb-client.jar の使用

WebLogic Server では、ejb-client.jar ファイルを使用できます。ejb-client.jar ファイルを作成するには、この機能を Bean の ejb-jar.xml デプロイメント記述子ファイルで指定してから、weblogic.ejbc を使用して ejb-client.jar ファイルを生成します。ejb-client.jar には、ejb-jar ファイルの EJB を呼び出すためにクライアント プログラムに必要なクラス ファイルが格納されます。これらのファイルは、クライアントをコンパイルするために必要なクラスです。この機能を指定した場合、WebLogic Server は ejb-client.jar を自動的に作成します。

詳細については、『WebLogic エンタープライズ JavaBeans プログラマーズ ガイド』の「WebLogic Server コンテナ用の EJB のパッケージ化」を参照してください。

 


リソース アダプタのパッケージ化

1 つまたは複数のリソース アダプタを、1 つのディレクトリにステージングした後で Java アーカイブ (JAR) にパッケージ化できます。リソース アダプタをパッケージ化する前に、「WebLogic Server J2EE アプリケーション クラスローディング」を読み、WebLogic Server がクラスをどのようにロードするかを理解してください。

リソース アダプタをステージングおよびパッケージ化するには、次の手順に従います。

  1. 一時ステージング ディレクトリをハードディスクの任意の場所に作成します。

  2. 対象となるリソース アダプタの Java クラスをステージング ディレクトリにコンパイルまたはコピーします。

  3. リソース アダプタの Java クラスを入れる JAR を作成します。この JAR をステージング ディレクトリの最上位に追加します。

  4. ステージング ディレクトリに META-INF サブディレクトリを作成します。

  5. META-INF サブディレクトリに ra.xml デプロイメント記述子を作成して、そのリソース アダプタのエントリを追加します。

    注意: ra.xml の文書型定義の詳細については、次の Sun Microsystems のドキュメントを参照してください (http://java.sun.com/dtd/connector_1_0.dtd)

  6. META-INF サブディレクトリに weblogic-ra.xml デプロイメント記述子を作成して、そのリソース アダプタのエントリを追加します。

    注意: weblogic-ra.xml 文書型定義の詳細については、『WebLogic J2EE コネクタ アーキテクチャ』を参照してください。

  7. リソース アダプタ クラスとデプロイメント記述子をステージング ディレクトリに配置すると、次のような JAR コマンドを使用して RAR を作成できます。
    jar cvf jar-file.rar -C staging-dir

    このコマンドによって作成された RAR は、WebLogic Server にデプロイすることも、またはアプリケーション アーカイブ (EAR) にパッケージ化することもできます。

    -C staging-dir オプションを指定すると、JAR コマンドはディレクトリを staging-dir に変更します。これにより、JAR に記録されるディレクトリ パスがリソース アダプタのステージング ディレクトリを基準にした相対パスとなります。

 


エンタープライズ アプリケーションのパッケージ化

エンタープライズ アーカイブには、関連するアプリケーションの一部である EJB および Web モジュールが格納されます。この EJB と Web モジュールは、エンタープライズ アプリケーション デプロイメント記述子ファイルと共に、拡張子 .ear のついた別の JAR ファイルにパッケージ化されます。

エンタープライズ アプリケーション デプロイメント記述子ファイル

EAR ファイルの META-INF サブディレクトリには、application.xml デプロイメント記述子が入っています。このデプロイメント記述子のフォーマット定義は Sun Microsystems によって提供されています。application.xml デプロイメント記述子によって、EAR ファイルにパッケージ化されるモジュールが識別されます。

application.xml ファイルの DTD は、http://java.sun.com/j2ee/dtds/application_1_2.dtd で提供されています。

application.xml 内では、アプリケーションを構成するモジュールおよびアプリケーションで使用されるセキュリティ ロールなどの項目を定義します。次に、Pet Sotre サンプルの application.xml ファイルを示します。

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE application PUBLIC '-//Sun Microsystems, Inc.//DTD
J2EE Application 1.2//EN'
'http://java.sun.com/j2ee/dtds/application_1_2.dtd'>

<application>
<display-name>estore</display-name>
<description>Application description</description>
<module>
<web>
<web-uri>petStore.war</web-uri>
<context-root>estore</context-root>
</web>
</module>
<module>
<ejb>petStore_EJB.jar</ejb>
</module>
<security-role>
<description>the gold customer role</description>
<role-name>gold_customer</role-name>
</security-role>
<security-role>
<description>the customer role</description>
<role-name>customer</role-name>
</security-role>
</application>

補足デプロイメント記述子、weblogic-application.xml には WebLogic 固有のデプロイメント情報が収められます。このデプロイメント記述子は省略可能で、アプリケーション スコープのコンフィグレーションを行うときにのみ必要です。

アプリケーション スコープとは、WebLogic Server のコンフィグレーション全体に対してではなく、特定のエンタープライズ アプリケーションに対してリソースをコンフィグレーションすることです。リソースの例としては、アプリケーションで使用される XML パーサ、EJB エンティティ キャッシュ、JDBC 接続プールなどがあります。アプリケーション スコープの最大の利点は、特定のアプリケーションに対するリソースがそのアプリケーション専用になることです。

アプリケーション スコーピングを使用するもう 1 つのメリットは、リソースを EAR ファイルと関連付けることにより、WebLogic Server の別のインスタンスで、そのサーバのリソースをコンフィグレーションせずにこの EAR ファイルを実行できることです。

アプリケーション スコーピングについては、「アプリケーション スコープの JDBC 接続プール」、および「XML アプリケーション スコーピング」を参照してください。

weblogic-application.xml デプロイメント記述子要素については、アプリケーション デプロイメント記述子の要素weblogic-application.xml デプロイメント記述子の要素を参照してください。

エンタープライズ アプリケーションのパッケージ化 : 主な手順

エンタープライズ アプリケーションがプログラムに基づく Java クライアントによってアクセスされる場合は、クライアント アプリケーションのパッケージ化を参照してください。この節では、WebLogic Server によるエンタープライズ アプリケーション クラスのロード方法を説明しています。

エンタープライズ アプリケーションをステージングおよびパッケージ化するには、次の手順に従います。

  1. 一時ステージング ディレクトリをハードディスクの任意の場所に作成します。

  2. Web アーカイブ (WAR ファイル) と EJB アーカイブ (JAR ファイル) をステージング ディレクトリにコピーします。

  3. ステージング ディレクトリに META-INF サブディレクトリを作成します。

  4. シェル環境を設定します。

    Windows NT の場合は、server¥bin¥setenv.cmd ディレクトリにある setenv.cmd を実行します。ここで server は WebLogic Server がインストールされている最上位ディレクトリです。

    UNIX の場合は、server/bin/setenv.sh ディレクトリにある setenv.sh コマンドを実行します。ここで、server は WebLogic Server がインストールされているディレクトリです。

  5. META-INF サブディレクトリに、エンタープライズ アプリケーションを記述する application.xml デプロイメント記述子を作成します。このファイルの要素の詳細については、アプリケーション デプロイメント記述子の要素を参照してください。

  6. (省略可能) アプリケーション デプロイメント記述子の要素.の説明に従って、META-INF ディレクトリに weblogic-application.xml ファイルを手動で作成します。

  7. 次のような jar コマンドを使用して、アプリケーションのエンタープライズ アーカイブ (EAR ファイル) を作成します。
    jar cvf application.ear -C staging-dir

    作成された EAR ファイルは、Administration Console または weblogic.Deployer コマンドライン ユーティリティを使用してデプロイできます。

    注意: これで、エンタープライズ アプリケーションのパッケージ化が完了しました。WebLogic Server におけるアプリケーションのデプロイメントの手順については、「アプリケーションのデプロイメント」を参照してください。

 


クライアント アプリケーションのパッケージ化

WebLogic Server アプリケーションには必要ありませんが、J2EE にはクライアント アプリケーションをデプロイするための仕様が定義されています。J2EE クライアント アプリケーション モジュールは、JAR ファイルにパッケージ化されます。この JAR ファイルには、クライアント JVM (Java 仮想マシン) で実行される Java クラスと、EJB (エンタープライズ JavaBeans)、およびクライアントによって使用されるその他の WebLogic Server リソースに関するデプロイメント記述子が収められます。

J2EE クライアントに対しては、事実上の標準である Sun のデプロイメント記述子 application-client.xml が使用され、補足デプロイメント記述子には WebLogic 固有のデプロイメント情報が収められます。

注意: これらのデプロイメント記述子については、クライアント アプリケーションのデプロイメント記述子の要素application-client.xml のデプロイメント記述子の要素を参照してください。

EAR ファイル内のクライアント アプリケーションの実行

アプリケーションの配布を簡素化するため、J2EE によってクライアントサイド コンポーネントを WebLogic Server で使用されるサーバサイド モジュールと共に 1 つの EAR ファイルに含める方法を定義します。これによって、サーバサイドとクライアントサイドのコンポーネントを 1 つのユニットとして配布できます。

クライアント JVM は、アプリケーション用に作成した Java クラスと、そのアプリケーションが依存する Java クラス (WebLogic Server クラスなど) を見つけることができなければなりません。クライアント アプリケーションのステージングでは、クライアントで必要なすべてのファイルを 1 つのディレクトリにコピーし、そのディレクトリを JAR ファイルにまとめます。クライアント アプリケーション ディレクトリの最上位には、アプリケーションを起動するバッチ ファイルまたはスクリプトを置くことができます。最後に、classes サブディレクトリを作成して Java クラスと JAR ファイルを格納し、起動スクリプト内のクライアントの Class-Path に追加します。また、Java Runtime Environment (JRE) を Java クライアント アプリケーションに組み込むこともできます。

注意: Class-Path マニフェスト エントリのクライアント コンポーネント JAR での使用は、J2EE 標準ではないため移植性はありません。

JAR ファイル マニフェストの Main-Class 属性は、クライアント アプリケーションのメイン クラスを定義しています。クライアントは、通常、java:/comp/env JNDI ルックアップを使用して Main-Class 属性を実行します。デプロイヤが、クライアントの Main-Class 属性を呼び出す前に JNDI ルックアップ エントリの実行時値を指定し、コンポーネント ローカル JNDI ツリーに入力します。クライアント デプロイメント記述子で JNDI ルックアップ エントリを定義します (クライアント アプリケーションのデプロイメント記述子の要素.を参照)。

J2EE EAR ファイルからクライアントサイド JAR ファイルを展開して、デプロイ可能な JAR ファイルを作成するには、weblogic.ClientDeployer を使用します。weblogic.ClientDeployer クラスは、Java コマンド ラインで次の構文を使用して実行します。

java weblogic.ClientDeployer ear-file client

ear-file 引数は、1 つまたは複数のクライアント アプリケーション JAR ファイルが格納されている展開されたディレクトリか、または拡張子 .ear を持つ Java アーカイブ ファイルです。

例 :

java weblogic.ClientDeployer app.ear myclient

ここで、app.ear は、myclient.jar にパッケージ化された J2EE クライアントを格納する EAR ファイルです。

EAR ファイルからクライアントサイドの JAR ファイルが展開されたら、weblogic.j2eeclient.Main ユーティリティを使用してクライアントサイド アプリケーションをブートストラップし、次のように WebLogic Server インスタンスを示すようにします。

java weblogic.j2eeclient.Main clientjar URL [application args]

例 :

java weblogic.j2eeclient.Main helloWorld.jar t3://localhost:7001 Greetings

J2EE クライアント アプリケーションのデプロイメントに関する考慮事項

J2EE クライアント アプリケーションのデプロイメントで特に考慮すべき事項を以下に示します。

注意: デプロイメントの詳細については、WebLogic Server デプロイメントを参照してください。

 


Apache Ant による J2EE アプリケーションのパッケージ化

この節の各トピックでは、拡張可能 Java ベース ツール、Apache Ant を使用して J2EE アプリケーションを構築およびパッケージ化する方法を説明します。Ant は、make コマンドと似ていますが、Java アプリケーションを構築するためのツールです。Ant ライブラリは WebLogic Server に付属していて、製品パッケージから Java アプリケーションを簡単に構築できるようになっています。

開発者は、eXtensible Markup Language (XML) を使用して、Ant によるスクリプトを作成します。XML タグは構築対象、対象間の依存性、および対象を構築するための実行タスクを定義します。

Ant 機能の詳しい説明については、以下のサイトを参照してください。http://jakarta.apache.org/ant/manual/index.html

Java ソース ファイルのコンパイル

Ant には、Java ソース ファイルをコンパイルする javac タスクがあります。現在のディレクトリのすべての Java ファイルを classes ディレクトリにコンパイルする例を以下に示します。

<target name=”compile”>
  <javac srcdir=”.” destdir=”classes”/>
</target>

javac タスクに関するすべてのオプションを確認したい場合は、Apache Ant のオンライン マニュアルを参照してください。

WebLogic Server コンパイラの実行

Ant から任意の Java プログラムを実行するには、カスタム Ant タスクを作成するか、java タスクを使用してそのままプログラムを実行します。ejbc または rmic などのタスクは、以下に示す java タスクによって実行されます。

コード リスト 4-1 WebLogic Server コンパイラの実行

<java classname="weblogic.ejbc" fork="yes" failonerror="yes">
  <sysproperty key="weblogic.home" value="${WL_HOME}"/>
     <arg line="-compiler java ${dist}/std_ejb_basic_containerManaged.jar
     ${APPLICATIONS}/ejb_basic_containerManaged.jar"/>
  <classpath>
     <pathelement path="${CLASSPATH}"/>
  </classpath>
</java>

上記の例では、fork システム呼び出しを使用して、ejbc を実行する Java プロセスを作成します。この例では、system プロパティを指定して weblogic.home を定義し、arg タグでコマンド ライン引数を指定しています。呼び出し元である Java プロセスのクラスパスは、classpath タグで指定します。

J2EE デプロイメント ユニットのパッケージ化

前述のように、J2EE アプリケーションは、そのコンポーネント タイプによって以下のような特定のファイル拡張子の付いた JAR ファイルにパッケージ化されます。

これらのコンポーネントは、J2EE 仕様に従って構造化されます。標準 XML デプロイメント記述子だけでなく、コンポーネントも WebLogic Server 固有の XML デプロイメント記述子によってパッケージ化されます。

Ant が提供するタスクによって、JAR ファイルの構築が容易になります。JAR コマンドの機能に加えて、Ant では、EAR ファイルと WAR ファイルを構築する特別なタスクも提供しています。Ant を使用すれば、パス名を JAR アーカイブに表示されるとおりに指定でき、ファイル システムの元のパスと異なるパスでもかまいません。この機能は、デプロイメント記述子 (この中で J2EE が指定するアーカイブ内の正確な場所は、ソース ツリー内の場所とは一致しない場合がある) のパッケージ化に便利です。関連情報については、ZipFileSet コマンドに関する Apache Ant オンライン マニュアルを参照してください。

WAR タスクの例を以下に示します。

コード リスト 4-2 WAR タスクの例

<war warfile="cookie.war" webxml="web.xml" manifest="manifest.txt">
   <zipfileset dir="." prefix="WEB-INF" includes="weblogic.xml"/>
   <zipfileset dir="." prefix="images" includes="*.gif,*.jpg"/>
   <classes dir="classes" includes="**/CookieCounter.class"/>
   <fileset dir="." includes="*.jsp,*.html">
   </fileset>
</war>

J2EE デプロイメント ユニットをパッケージ化する手順は以下のとおりです。

  1. webxml パラメータを使用して標準 XML デプロイメント記述子を指定します。

  2. war タスクにより、XML デプロイメント記述子が WAR アーカイブ WEB-INF/web.xml の標準名に自動的にマップされます。

  3. Apache Ant により、manifest パラメータで指定された manifest ファイルが、標準名 META-INF/MANIFEST.MF の下に格納されます。

  4. Apache Ant ZipFileSet コマンドを使用して、WEB-INF ディレクトリに格納される一連のファイル (この場合は、WebLogic Server 固有のデプロイメント記述子、weblogic.xml だけ) を定義します。

  5. 次に、ZipFileSet コマンドを使用し、すべての画像を images ディレクトリにパッケージ化します。

  6. classes タグは、WEB-INF/classes ディレクトリのサーブレット クラスをパッケージ化します。

  7. 最後に、すべての .jsp ファイルと .html ファイルを現在のディレクトリからアーカイブに追加します。

構造が WAR ファイルと同じディレクトリ内にファイルをステージングし、そのディレクトリから JAR ファイルを作成しても、同じ結果が得られます。Ant JAR タスクの特別機能を使用することにより、ファイルを特定のディレクトリ階層にコピーする手間が省けます。

以下の例では、Web アプリケーションと EJB を 1 つずつ構築し、それらをまとめて EAR ファイルにパッケージ化しています。

コード リスト 4-3 パッケージ化の例

<project name="app" default="app.ear">
	   <property name="wlhome" value="/bea/wlserver6.1"/>
   <property name="srcdir" value="/bea/myproject/src"/>
   <property name="appdir" value="/bea/myproject/config/mydomain/applications"/>
   <target name="timer.war">
       <mkdir dir="classes"/>
       <javac srcdir="${srcdir}" destdir="classes" includes="myapp/j2ee/timer/*.java"/>
        <war warfile="timer.war" webxml="timer/web.xml" manifest="timer/manifest.txt">
          <classes dir="classes" includes="**/TimerServlet.class"/>
       </war>
   </target>
   <target name="trader.jar">
   <mkdir dir="classes"/>
   <javac srcdir="${srcdir}" destdir="classes" includes="myapp/j2ee/trader/*.java"/>
   <jar jarfile="trader0.jar" manifest="trader/manifest.txt">
      <zipfileset dir="trader" prefix="META-INF" includes="*ejb-jar.xml"/>
      <fileset dir="classes" includes="**/Trade*.class"/>
      </jar>
      <ejbc source="trader0.jar" target="trader.jar"/>
   </target>
   <target name="app.ear" depends="trader.jar, timer.war">
      <jar jarfile="app.ear">
         <zipfileset dir="." prefix="META-INF" includes="application.xml"/>
         <fileset dir="." includes="trader.jar, timer.war"/>
      </jar>
   </target>
   <target name="deploy" depends="app.ear">
      <copy file="app.ear" todir="${appdir}/>
   </target>
</project>

Ant の実行

BEA では、Ant を実行する簡単なスクリプトを server/bin ディレクトリで提供しています。デフォルトでは、Ant は build.xml ビルド ファイルをロードしますが、-f フラグを使用すればこの指定はオーバーライドできます。以下のコマンドで、上記のビルド スクリプトを使用してアプリケーションを構築し、デプロイできます。

ant -f yourbuildscript.xml

 

Back to Top Previous Next