前へ 目次 索引 次へ
Sun ONE Application Server 7 管理者ガイド

> ## 第 13 章
> アプリケーションの配備

> この章では、Sun ONE Application Server のさまざまなモジュールとアプリケーションを配備する方法について説明します。

> Sun ONE Application Server のモジュールとアプリケーションには、J2EE 標準の要素と Sun ONE Application Server に固有の要素が含まれます。この章では、Sun ONE Application Server に固有の要素についてだけ詳しく説明しています。

> 配備するモジュールとアプリケーションのパッケージ化とアセンブルについては、『Sun ONE Application Server 開発者ガイド』を参照してください。

> この章では次のトピックについて説明します。

> - J2EE モジュールについて
> - J2EE アプリケーションについて
> - J2EE 標準記述子
> - Sun ONE Application Server 記述子
> - 命名規則
> - 配備ディレクトリの構造
> - 実行時環境
> - クラスローダについて
> - モジュールおよびアプリケーションの配備
> - アプリケーション配備記述子ファイル

> ##

> J2EE モジュールについて

> J2EE モジュールは、J2EE コンポーネントの集合で、同一コンテナタイプの 2 つの配備記述子を持ちます。1 つは J2EE 標準の配備記述子で、もう 1 つは Sun ONE Application Server に固有の配備記述子です。J2EE モジュールの種類は次のとおりです。

> - Web アプリケーションアーカイブ (WAR) : Web アプリケーションは、サーブレット、HTML ページ、クラスなどのリソースの集合で、いくつかの J2EE アプリケーションサーバーにバンドルして配備することができます。WAR ファイルは、Servlet、JSP、JSP タグライブラリ、ユーティリティクラス、静的ページ、クライアントサイドアプレット、Beans、Bean クラス、および配備記述子 (web.xml およびオプションで sun-web.xml) から構成されます。
> - EJB JAR ファイル : EJB JAR ファイルは、Enterprise JavaBean をアセンブルするときに使われる標準フォーマットです。このファイルには、Bean クラス (ホーム、リモート、ローカル、および実装)、すべてのユーティリティクラス、および配備記述子 (ejb-jar.xml、およびオプションで sun-ejb-jar.xml) が含まれています。EJB がコンテナ管理パーシスタンス付きのエンティティ Beans である場合、CMP 配備記述子である sun-cmp-mapping.xml ファイルも同様に含まれる場合があります。
> - アプリケーション (RMI/IIOP) クライアント JAR ファイル : RMI/IIOP クライアントは、Sun ONE Application Server に固有の J2EE クライアントです。RMI/IIOP クライアントでは、J2EE 標準のアプリケーションクライアント仕様がサポートされているだけでなく、Sun ONE Application Server に直接アクセスすることができます。RMI/IIOP クライアントの配備記述子は、application-client.xml、およびオプションで sun-application-client.xml です。
> - リソース RAR ファイル: RAR ファイルは、J2EE CA コネクタに適用されます。コネクタモジュールは、デバイスドライバのような働きをします。この移植性のある方法を使用すると、EJB は外部の企業システムにアクセスできます。Sun ONE Application Server の各コネクタには ra.xml という J2EE XML ファイルがあります。コネクタには、sun-ra.xml という Sun ONE Application Server 配備記述子も必要です。

> モジュールを配備した後にクラスローダが正しいクラスを検索できるように、すべてのモジュールのソースコードでパッケージ定義を使う必要があります。

> 配備記述子内の情報は宣言型であるため、ソースコードを変更しなくても変更できます。J2EE サーバーは、実行時に読み込んだ配備記述子内の情報に従って動作します。

> また、EJB JAR および Web モジュールは、次の図に示すように、.jar ファイルまたは .war ファイルとして個別にアセンブルされ、アプリケーションの外部に個別に配備することもできます。

> ##

> J2EE アプリケーションについて

> J2EE アプリケーションは、1 つまたは複数の J2EE モジュールの論理集合で、アプリケーション配備記述子によって関連付けられています。コンポーネントは、モジュールレベルまたはアプリケーションレベルでアセンブルできます。また、モジュールレベルまたはアプリケーションレベルで配備することもできます。

> コンポーネントはモジュールとしてアセンブルされ、その後、配備可能な Sun ONE Application Server アプリケーション .ear ファイルにアセンブルされます。

> 各モジュールには、Sun ONE Application Server 配備記述子と J2EE 配備記述子があります。Sun ONE Application Server の管理インタフェースは、アプリケーションコンポーネントの配備、および Sun ONE Application Server へのリソースの登録に配備記述子を使います。

> アプリケーションは、1 つまたは複数のモジュール、オプションの Sun ONE Application Server 配備記述子、および必要な J2EE アプリケーション配備記述子で設定されています。これらのすべてのアイテムが、Java ARchive (.jar) ファイル形式で、拡張子 .ear を持つ 1 つのファイルにアセンブルされます。

> ##

> J2EE 標準記述子

> J2EE プラットフォームでは、アセンブリおよび配備機能が提供されます。これらの機能では、コンポーネントおよびアプリケーションの標準パッケージとして JAR ファイルが使われ、パラメータのカスタマイズには XML ベースの配備記述子が使われます。J2EE アセンブリおよび配備プロセスの詳細は、『Developing Enterprise Applications with the J2EE, v 1.0』の第 7 章を参照してください。

> J2EE 標準配備記述子については、J2EE 仕様書 バージョン 1.3 に説明があります。

> 配備前に配備記述子の正確さを確認する方法については、『Sun ONE Application Server 開発者ガイド』の配備記述子ベリファイアに関する情報を参照してください。

> 次の表「J2EE 標準記述子」は、J2EE 標準配備記述子に関する詳細情報の参照先を示しています。左の列は配備記述子、右の列はそれらの記述子に関する詳細情報の参照先を示しています。

> 表 13-1 J2EE 標準記述子

> 配備記述子 | 詳細情報の参照先
> --- | ---
> application.xml | 『Java 2 Platform Enterprise Edition Specification, v1.3』の第 8 章「Application Assembly and Deployment - J2EE:application XML DTD」
> web.xml | 『Java Servlet Specification, v2.3』の第 13 章「Deployment Descriptor」および『JavaServer Pages Specification, v1.2』の第 7 章「JSP Pages as XML Documents」および第 5 章「Tag Extensions」
> ejb-jar.xml | 『Enterprise JavaBeans Specification, v2.0』の第 16 章「Deployment Descriptor」
> application-client.xml | 『Java 2 Platform Enterprise Edition Specification, v1.3』の第 9 章「Application Clients - J2EE:application-client XML DTD」
> ra.xml | 『Java 2 Enterprise Edition, J2EE Connector Architecture Specification, v1.0』の第 10 章「Packaging and Deployment」

> 仕様書は、次の場所にあります。

> http://java.sun.com/products/

> ##

> Sun ONE Application Server 記述子

> Sun ONE Application Server には、Sun ONE Application Server に固有の機能を設定するための追加配備記述子があります。これらの記述子は、コネクタモジュールに必要な sun-ra.xml ファイルを除いて、任意で使用できます。

> 配備前に配備記述子の正確さを確認する方法については、『Sun ONE Application Server 開発者ガイド』の配備記述子ベリファイアに関する情報を参照してください。

> 次の表「Sun ONE Application Server記述子」は、Sun ONE Application Server 配備記述子に関する詳細情報の参照先を示しています。左の列は配備記述子、右の列はそれらの記述子に関する詳細情報の参照先を示しています。

> 表 13-2 Sun ONE Application Server記述子

> 配備記述子 | 詳細情報の参照先
> --- | ---
> sun-application.xml | 「アプリケーション配備記述子ファイル」
> sun-web.xml | 『Sun ONE Application Server Web アプリケーション開発者ガイド』
> sun-ejb-jar.xml および sun-cmp-mapping.xml | 『Sun ONE Application Server Enterprise Java Beans 開発者ガイド』
> sun-application-client.xml および sun-acc.xml | 『Sun ONE Application Server Developer's Guide to Clients』
> sun-ra.xml | 『Sun ONE J2EE CA Service Provider Implementation 管理者ガイド』

> 注 | Sun ONE Application Server 配備記述子は、UNIX システム上でレベル 600 のアクセス権限を持っている必要があります。

> すべての Sun ONE Application Server 配備記述子の DTD スキーマファイルは、install_dir/appserv/lib/dtds ディレクトリにあります。

> ##

> 命名規則

> アプリケーション名および個別に配備された EJBJAR、WAR、およびコネクタ RAR モジュールの名前 (server.xml ファイル内の name 属性によって指定される) は、Sun ONE Application Server 内で一意である必要があります。名前を指定しない場合、ファイル名の最初の部分がデフォルト名となります (.war または .jar 拡張子は含まない)。server.xml の詳細は、『Sun ONE Application Server 管理者用設定ファイルリファレンス』を参照してください。

> さまざまなタイプのモジュールが、1 つのアプリケーション内で同じ名前を持つ可能性があります。なぜなら、アプリケーションが配備されると、それぞれのモジュールを持つディレクトリ名には、_jar、_war、_rar などのサフィックスが付けられるためです。1 つのアプリケーション内にある同じタイプのモジュールには、一意の名前を付ける必要があります。さらに、データベーススキーマのファイル名も 1 つのアプリケーション内で一意である必要があります。

> ejb-jar.xml ファイルの <module-name> に指定するモジュールファイル名や、ejb-jar.xml ファイルの <ejb-name> に指定する EAR ファイル名には、Java パッケージ方式の命名規則を使用することをお勧めします。Java パッケージ方式の命名規則を使えば、名前の衝突は発生しません。この命名規則を、Sun ONE Application Server だけでなく、ほかの J2EE アプリケーションサーバーでも適用することをお勧めします。

> EJB の JNDI 検索名も一意でなければなりません。この場合も、一貫した命名規則を作成すると有効です。たとえば、EJB 名にアプリケーション名とモジュール名を追加すると、確実に一意な名前になります。この場合、モジュール pkgingEJB.jar 内の EJB の JNDI 名は、アプリケーション pkging.ear にパッケージ化されているため、mycompany.pkging.pkgingEJB.MyEJB になります。

> パッケージとファイル名に、スペースや使用しているオペレーティングシステムで不正となる文字が含まれていないことを確認してください。

> ##

> 配備ディレクトリの構造

> アプリケーションを配備すると、個別のモジュールを持つディレクトリ名には、_jar、_war、_rar などのサフィックスが付きます。EAR ファイルの代わりに、asadmin deploydir コマンドを使用してディレクトリを配備した場合、ディレクトリ構造はこの規則に従っていなければなりません。

> モジュールおよびアプリケーションのディレクトリ構造は、J2EE 仕様書に示されている構造に準拠します。

> 次に、Web モジュール、EJB モジュール、クライアントモジュールを含む簡単なアプリケーションのディレクトリ構造の一例を示します。

> + converter_1/ |--- converterClient.jar |--+ META-INF/ | |--- MANIFEST.MF | |--- application.xml | '--- sun-application.xml |--+ war-ic_war/ | |--- index.jsp | |--+ META-INF/ | | |--- MANIFEST.MF | '--+ WEB-INF/ | |--- web.xml | '--- sun-web.xml |--+ ejb-jar-ic_jar/ | |--- Converter.class | |--- ConverterBean.class | |--- ConverterHome.class | '--+ META-INF/ | |--- MANIFEST.MF | |--- ejb-jar.xml | '--- sun-ejb-jar.xml '--+ app-client-ic_jar/ |--- ConverterClient.class '--+ META-INF/ |--- MANIFEST.MF |--- application-client.xml '--- sun-application-client.xml

> 次に、個別に配備したコネクタモジュールのディレクトリ構造の例を示します。

> + MyConnector/ |--- readme.html |--- ra.jar |--- client.jar |--- win.dll |--- solaris.so '--+ META-INF/ |--- MANIFEST.MF |--- ra.xml '--- sun-ra.xml

> ##

> 実行時環境

> コンポーネントを個別に配備するモジュールとして配備する場合も、アプリケーションとして配備する場合も、配備は、ファイルシステムやサーバー設定に影響を及ぼします。次に示す図「モジュールの実行時環境」と「アプリケーションの実行時環境」を参照してください。

> #### モジュールの実行時環境

> 次の図「モジュールの実行時環境」は、モジュールベースで個別に配備した場合の実行時環境を示しています。

> 図 13-1 モジュールの実行時環境

> ファイルシステムのエントリとして、モジュールは次のように抽出されます。

> instance_dir/applications/j2ee-modules/module_name
> instance_dir/generated/ejb/j2ee-modules/module_name
> instance_dir/generated/jsp/j2ee-modules/module_name

> generated/ejb ディレクトリには、スタブとタイがあり、generated/jsp ディレクトリには、コンパイル済みの JSP があります。

> ライフサイクルモジュールは、次の手順で抽出されます。

> instance_dir/applications/lifecycle-modules/module_name

> 設定エントリは、server.xml 内に次のように追加されます。

> <server>
> <applications>
> <type-module>
> ...module configuration...
> </type-module>
> </applications>
> </server>

> server.xml 内のモジュールの type は、lifecycle、ejb、web、または connector のいずれかになります。server.xml の詳細は、『Sun ONE Application Server 管理者用設定ファイルリファレンス』を参照してください。

> #### アプリケーションの実行時環境

> 次の図「アプリケーションの実行時環境」は、アプリケーションベースで配備した場合の実行時環境を示しています。

> 図 13-2 アプリケーションの実行時環境

> ファイルシステムのエントリとして、アプリケーションは次のように抽出されます。

> instance_dir/applications/j2ee-apps/app_name
> instance_dir/generated/ejb/j2ee-apps/app_name
> instance_dir/generated/jsp/j2ee-apps/app_name

> generated/ejb ディレクトリには、スタブとタイがあり、generated/jsp ディレクトリには、コンパイル済みの JSP があります。

> 設定エントリは、server.xml 内に次のように追加されます。

> <server>
> <applications>
> <j2ee-application>
> ...application configuration...
> </j2ee-application>
> </applications>
> </server>

> server.xml の詳細は、『Sun ONE Application Server 管理者用設定ファイルリファレンス』を参照してください。

> #### FastJavac コンパイラを使用するための server.xml の設定

> デフォルトでは、Sun ONE Application Server は組み込みの JDK コンパイラを使って配備時にアプリケーションをコンパイルします。また、より高速のコンパイルが可能な Sun One Studio の FastJavac コンパイラを配備時に使うこともできます。

> Solaris バンドル版インストールの場合、FastJavac コンパイラの場所は透過的ではありません。FastJavac コンパイラを使用するためには、次のように、管理サーバーの server.xml にコンパイラのパスを設定する必要があります。

> 次のように、server.xml の java-config 要素に jvm-option を追加します。

> <java-config java-home="/<install-dir>/jdk" server-classpath="....." >

> jvm-options>-Dcom.sun.aas.deployment.java.compiler=/<install-dir>/studio4/bin/fastjavac/fastjavac.sun</jvm-options>

> <property name="com.sun.aas.deployment.java.compiler.options"

> value="-jdk /<install-dir>/jdk" />

> </java-config>

> ##

> クラスローダについて

> Sun ONE Application Server クラスローダについて理解すると、サポートしている JAR ファイルとリソースファイルをモジュールおよびアプリケーションのどこに配備するかや、その方法を決定しやすくなります。

> Java 仮想マシン (JVM) のクラスローダは、依存関係の解決に必要な Java クラスファイルを動的に読み込みます。たとえば、java.util.Enumeration のインスタンスを作成する場合は、クラスローダの 1 つが関連するクラスを実行時環境に読み込みます。クラスローダの詳細については、『Sun ONE Application Server 開発者ガイド』を参照してください。

> ##

> モジュールおよびアプリケーションの配備

> この節では、J2EE のアプリケーションおよびモジュールを Sun ONE Application Server に配備する方法について説明します。この節には、次の項目があります。

> - 配備名とエラー
> - 配備のライフサイクル
> - モジュールまたはアプリケーションの配備
> - WAR モジュールの配備
> - EJB JAR モジュールの配備
> - ライフサイクルモジュールの配備
> - RMI/IIOP クライアントの配備
> - J2EE CA リソースアダプタの配備
> - 静的コンテンツの配備
> - 共有フレームワークへのアクセス

> ### 配備名とエラー

> アプリケーションまたはモジュールを配備すると、一意の名前が server.xml ファイルに作成されます。この名前を変更しないでください。配備時に、サーバーは名前の重複を検出し、一意の名前を持たないアプリケーションまたはモジュールをロードしません。この場合、サーバーログにメッセージが送信されます。詳細は、「命名規則」を参照してください。

> 配備中にエラーが発生すると、アプリケーションまたはモジュールは配備されません。アプリケーション内のモジュールにエラーが含まれる場合、そのアプリケーション全体が配備されません。

> server.xml の詳細は、『Sun ONE Application Server 管理者用設定ファイルリファレンス』を参照してください。

> ### 配備のライフサイクル

> アプリケーションが初めて配備された後、修正、再読み込み、再配備、無効化、再有効化、および配備取消し (サーバーから削除) されることがあります。この節には、配備のライフサイクルに関連する次の項目があります。

> - 動的配備
> - 配備されたアプリケーションまたはモジュールの無効化
> - 動的再読み込み

> #### 動的配備

> サーバーを再起動せずにアプリケーションまたはモジュールを配備、再配備、および配備取消しすることができます。これを動的配備と呼びます。

> 動的な配備は、主にサーバーを再起動せずに新しいアプリケーションおよびモジュールを運用環境でオンラインにするために使用されます。ただし、再配備を行うと、再配備中に実行されていたセッションが無効になります。クライアントはセッションを実行し直す必要があります。

> #### 配備されたアプリケーションまたはモジュールの無効化

> 配備されたアプリケーションまたはモジュールをサーバーから削除しないで無効にすることができます。各アプリケーションまたはモジュールは server.xml ファイルに enabled 属性があり、対応するオプションが管理インタフェースにあります。server.xml の詳細は、『Sun ONE Application Server 管理者用設定ファイルリファレンス』を参照してください。

> #### 動的再読み込み

> 動的再読み込みを有効にすると、コードを変更したときにアプリケーションまたはモジュールを再配備する必要がありません。必要となるのは、変更したクラスファイルをアプリケーションまたはモジュールの配備ディレクトリにコピーすることだけです。サーバーは、定期的に変更を確認して、アプリケーションを変更に合わせて自動的かつ動的に再配備します。

> この機能は、変更したコードをすぐにテストできるため、開発環境で役に立ちます。動的な再読み込みは、パフォーマンスが低下することがあるので運用環境にはお勧めしません。また、再読み込みを行うと、再読み込み中に実行されていたセッションが無効になります。クライアントはセッションを実行し直す必要があります。

> 動的再読み込みを有効にするには、次のいずれかを行います。

> - 管理インタフェースを使用する :
> 1. サーバーインスタンスの下にある「アプリケーション」コンポーネントを開きます。
> 2. 「アプリケーション」ページに移動します。
> 3. 「再読み込みを有効」ボックスをオンにして動的再読み込みを有効にします。
> 4. 「再読込のポーリング間隔」フィールドに秒数を入力して、アプリケーションとモジュールにコードの変更がないか確認して動的に再読み込みする間隔を設定します。
> 5. 「保存」ボタンをクリックします。
> 6. サーバーインスタンスのページを表示し、「変更の適用」ボタンを選択します。
> - server.xml ファイルの applications 要素の次の属性を編集します。
> - dynamic-reload-enabled="true" に設定して、動的再読み込みを有効にします。
> - dynamic-reload-poll-interval-in-seconds で、アプリケーションとモジュールにコードの変更がないか確認して動的に再読み込みする間隔を設定します。

> server.xml の詳細は、『Sun ONE Application Server 管理者用設定ファイルリファレンス』を参照してください。

> さらに、新しいサーブレットファイルの読み込み、変更に関連する EJB の再読み込み、または配備記述子の変更の再読み込みを行うには、次の操作を行う必要があります。

> 1. 配備されたアプリケーションのルートに .reload という名前の空のファイルを作成します。

> instance_dir/applications/j2ee-apps/app_name/.reload

> または個別に配備されたモジュールに作成します。

> instance_dir/applications/j2ee-modules/module_name/.reload

> 2. 上記の変更を行うたびに、.reload ファイルのタイムスタンプ (UNIX では touch.reload) を明示的に更新します。

> JSP では、sun-web.xml ファイルのjsp-config 要素にある reload-interval プロパティで設定した頻度で、変更が自動的に再読み込みされます。JSP の動的再読み込みを無効にするには、reload-interval="-1" に設定します。

> ### 配備ツール

> ここでは、モジュールとアプリケーションを配備するときに使用するツールについて説明します。次の配備ツールがあります。

> - asadmin ユーティリティ
> - 管理インタフェース
> - Sun ONE Studio

> #### asadmin ユーティリティ

> asadmin ユーティリティを使用すると、アプリケーションおよび個別に配備されたモジュールをローカルサーバー上に配備および配備取消しができます。複数マシンへの同時配備はサポートされていません。ここでは、asadmin ユーティリティについて簡単に解説します。

> ライフサイクルモジュールを配備する場合は、「ライフサイクルモジュールの配備」を参照してください。

> ##### asadmin deploy

> asadmin deploy コマンドを使用すると、WAR、JAR、RAR、または EAR ファイルを配備できます。アプリケーションを配備するには、コマンドに --typeapplication を指定します。個別のモジュールを配備するには、--typeejb、web、または connector を指定します。構文は次のとおりです。構文は次のとおりです。オプションパラメータにデフォルト値がある場合は、その値を表示しています。

> asadmin deploy --user admin_user [--password admin_password] [--host localhost] [-port 4848] [--secure | -s] [--virtualservers virtual_servers] [--type application|ejb|web|connector] [--contextroot contextroot] [--force=true] [--precompilejsp=false] [--name component_name] [--upload=true] [--retrieve local_dirpath] [--instance instance_name] filepath

> たとえば、次のコマンドは、個別の EJB モジュールを配備します。

> asadmin deploy --user jadams --password secret --host localhost --port 4848 --type ejb --instance server1 packagingEJB.jar

> ##### asadmin deploydir

> asadmin deploydir コマンドを使用すると、オープンディレクトリ構造内のアプリケーションまたはモジュールを配備できます。ディレクトリ構造は、「配備ディレクトリの構造」に指定されているとおりにする必要があります。dirpath の場所が instance_dir/applications/j2ee-apps の下または instance_dir/applications/j2ee-modules の下のどちらにあるかによって、それがアプリケーションか個別に配備されたモジュールかが決まります。構文は次のとおりです。オプションパラメータにデフォルト値がある場合は、その値を表示しています。

> asadmin deploydir --user admin_user [--password admin_password] [--host localhost] [-port 4848] [--secure | -s] [--virtualservers virtual_servers] [--type application|ejb|web|connector] [--contextroot contextroot] [--force=true] [--precompilejsp=false] [--name component_name] [--instance instance_name] dirpath

> たとえば、次のコマンドは、個別の EJB モジュールを配備します。

> asadmin deploydir --user jadams --password secret --host localhost --port 4848 --type ejb --instance server1 packagingEJB

> ##### asadmin undeploy

> asadmin undeploy コマンドを使用すると、アプリケーションまたはモジュールを配備取消しができます。アプリケーションを配備を取消すには、コマンド内に --typeapp を指定します。個別のモジュールを配備を取消すには、--typeejb、web、または connector を指定します。構文は次のとおりです。オプションパラメータにデフォルト値がある場合は、その値を表示しています。

> asadmin undeploy --user admin_user [--password admin_password] [--host localhost] [-port 4848] [--secure | -s] [--type application|ejb|web|connector] [--instance instance_name] component_name

> たとえば、次のコマンドは、個別の EJB モジュールの配備を取消します。

> asadmin undeploy --user jadams --password secret --host localhost --port 4848 --type ejb --instance server1 packagingEJB

> #### 管理インタフェース

> 管理インタフェースを使用すると、モジュールとアプリケーションをローカルおよびリモートの Sun ONE Application Server サイトに配備できます。このツールを使うには、次の手順で行います。

> 1. サーバーインスタンスの下にある「アプリケーション」コンポーネントを開きます。
> 2. 「エンタープライズアプリケーション」、「Web アプリケーション」、「コネクタモジュール」、「EJB モジュール」のいずれかのページに移動します。
> 3. 「配備」ボタンをクリックします。
> 4. モジュールまたはアプリケーションへのフルパスを入力し (または「ブラウズ」をクリックして指定)、「了解」ボタンをクリックします。
> 5. モジュールまたはアプリケーションの名前を入力します。

> モジュールまたはアプリケーションがすでに配備されていれば、適切なボックスをチェックして、それを再配備することもできます。これはオプションです。

> 6. 仮想サーバー名の隣のボックスにチェックマークをつけて、1 つまたは複数の仮想サーバーにアプリケーションまたはモジュールを割り当てます。
> 7. 「了解」ボタンをクリックします。

> ライフサイクルモジュールを配備する場合は、「ライフサイクルモジュールの配備」を参照してください。

> #### Sun ONE Studio

> J2EE アプリケーションとモジュールの配備には Sun ONE Studio 4 を利用できます。Sun ONE Studio に関する詳細は、『Sun ONE Studio 4, Enterprise Edition のチュートリアル』を参照してください。

> 注 | Sun ONE Studio では、モジュールまたはアプリケーションの配備を「実行」と呼びます。「実行」には、サーバーが稼動していることの確認、およびモジュールまたはアプリケーションをアクティブにする正しい URL の表示も含まれます。

> ### モジュールまたはアプリケーションの配備

> アプリケーションまたはアプリケーションから独立した個別のモジュールを配備することができます。アプリケーションベースまたは個別のモジュールベースで配備したときの実行時環境およびファイルシステムについては、「実行時環境」を参照してください。

> 次のものがコンポーネントにアクセスする場合は、個別のモジュールベースで配備することをお勧めします。

> - ほかのモジュール
> - J2EE アプリケーション
> - RMI/IIOP クライアント (モジュールベースで配備すると、RMI/IIOP クライアント、サーブレット、または EJB から Bean に共有アクセスできる)

> 複数のモジュールを 1 つの EAR ファイルに結合すると、1 つのモジュールとして配備できるようになります。これは、EAR のモジュールを個別に配備するのと似ています。

> ### WAR モジュールの配備

> WAR モジュールの配備は、「配備ツール」で説明されている方法で行うことができます。

> JSP 用の生成されたソースは、-keepgenerated プロパティを sun-web.xml 内の jsp-config 要素に追加することによって保持できます。WAR モジュールを配備するときにこのプロパティを追加すると、生成されたソースが保存されます。保存先は、アプリケーションの場合は instance_dir/generated/jsp/j2ee-apps/app_name/module_name、個別に配備された Web モジュールの場合は instance_dir/generated/jsp/j2ee-modules/module_name です。-keepgenerated プロパティの詳細については、『Sun ONE Application Server Web アプリケーション開発者ガイド』を参照してください。

> ### EJB JAR モジュールの配備

> EJB JAR モジュールの配備は、「配備ツール」に記載されている方法で行うことができます。

> スタブとタイ用の生成されたソースは、-keepgenerated フラグを server.xml 内の java-config 要素の rmic-options 属性に追加することによって保持できます。EJB JAR モジュールを配備するときにこのフラグを追加すると、生成されたソースが保存されます。保存先は、アプリケーションの場合は instance_dir/generated/ejb/j2ee-apps/app_name/module_name、個別に配備された Web モジュールの場合は instance_dir/generated/ejb/j2ee-modules/module_name です。-keepgenerated フラグの詳細は、『Sun ONE Application Server 管理者用設定ファイルリファレンス』を参照してください。

> ### ライフサイクルモジュールの配備

> ライフサイクルモジュールに関する一般的な情報については、『Sun ONE Application Server 開発者ガイド』を参照してください。

> ライフサイクルモジュールを配備するには、次のツールを使います。

> - asadmin ユーティリティ
> - 管理インタフェース

> #### asadmin ユーティリティ

> ライフサイクルモジュールを配備するには、asadmin create-lifecycle-module コマンドを使います。構文は次のとおりです。オプションパラメータにデフォルト値がある場合は、その値を表示しています。

> asadmin create-lifecycle-module --user admin_user [--password admin_password] [--host localhost] [-port 4848] [--secure | -s] [--instance instance_name] --classname classname [--classpath classpath] [--loadorder load_order_number] [--failurefatal=false] [--enabled=true] [--description text_description] [--property (name=value)[:name=value]*] modulename

> 次に例を示します。

> asadmin create-lifecycle-module --user jadams --password secret --host localhost --port 4848 --instance server1 --classname RMIServer MyRMIServer

> ライフサイクルモジュールの配備を取消すには、asadmin delete-lifecycle-module コマンドを使います。構文は次のとおりです。オプションパラメータにデフォルト値がある場合は、その値を表示しています。

> asadmin delete-lifecycle-module --user admin_user [--password admin_password] [--host localhost] [-port 4848] [--secure | -s] [--instance instance_name] module_name

> 次に例を示します。

> asadmin delete-lifecycle-module --user jadams --password secret --host localhost --port 4848 --instance server1 MyRMIServer

> サーバーインスタンス上に配備されたライフサイクルモジュールをリスト表示するときは、asadmin list-lifecycle-modules コマンドを使います。構文は次のとおりです。オプションパラメータにデフォルト値がある場合は、その値を表示しています。

> asadmin list-lifecycle-modules --user admin_user [--password admin_password] [--host localhost] [-port 4848] instance_name

> 次に例を示します。

> asadmin list-lifecycle-module --user jadams --password secret --host localhost --port 4848 server1

> #### 管理インタフェース

> 管理インタフェースを使ってライフサイクルモジュールを配備することもできます。次の手順に従います。

> 1. サーバーインスタンスの下にある「アプリケーション」コンポーネントを開きます。
> 2. 「ライフサイクルモジュール」ページに移動します。
> 3. 「配備」ボタンをクリックします。
> 4. 次の情報を入力します。
> - 「名前」(必須) - ライフサイクルモジュールの名前
> - 「クラス名」(必須) - ライフサイクルモジュールのクラスファイルの完全修飾された名前
> - 「クラスパス」(オプション) - ライフサイクルモジュールのクラスパス。モジュールの場所を指定する。デフォルトの場所は、アプリケーションのルートディレクトリの下
> - 「読み込み順序」(オプション) - 起動時にライフサイクルモジュールが読み込まれる順序を決定する。モジュールに指定された数値が小さいほど、早く読み込まれる。値の範囲は、101 から オペレーティングシステムの MAXINT まで。100 までの値は予約されている
> - 「致命的な障害」(オプション) - ライフサイクルモジュールが失敗した場合にサーバーをシャットダウンするかどうかを決定する。デフォルトは false
> - 「ライフサイクルを有効」(オプション) - ライフサイクルモジュールを有効にするかどうかを決定する。デフォルトは true
> 5. 「了解」ボタンをクリックします。

> ### RMI/IIOP クライアントの配備

> EJB とやりとりするクライアントの場合のみ、配備が必要です。RMI/IIOP クライアントは、3 つの手順で配備します。

> 1. RMI/IIOP クライアントがアクセスする EAR または EJB JAR を配備します。
> 2. 必要なクライアントファイルをアセンブルし、クライアントを配備します。
> 3. 配備後、クライアント JAR ファイルは、アプリケーション用の次の場所に作成されます。

> instance_dir/applications/j2ee-apps/app_name/app_name Client.jar

> または、個別に配備されたモジュール用の次の場所に作成されます。

> instance_dir/applications/j2ee-modules/module_name/module_name Client.jar

> クライアント JAR には、RMI/IIOP クライアント用のタイおよび必要なクラスが含まれています。このファイルをクライアントマシンにコピーし、クライアント上の APPCPATH 環境変数がこの JAR を示すように設定します。

> これで、クライアントを実行する準備ができました。詳細は、『Sun ONE Application Server Developer's Guide to Clients』を参照してください。

> ### J2EE CA リソースアダプタの配備

> コネクタモジュールの配備は、「配備ツール」で説明されている方法で行うことができます。

> ### 静的コンテンツの配備

> 静的コンテンツ (HTML、画像など) は、Web サーバー上および Sun ONE Application Server 上で管理できます。ただし、WAR が登録されているときは、静的コンテンツはアプリケーションサーバーに配備されます。Sun ONE Application Server に付属するすべてのサンプルは、アプリケーションサーバー上で静的コンテンツを管理します。

> たとえば、アプリケーションサーバー上の静的ファイル index.html にアクセスするには、次のパスを使います。

> http://server:port/NASApp/context_root/index.html

> ### 共有フレームワークへのアクセス

> J2EE のアプリケーションとモジュールで共有フレームワーククラス (コンポーネント、ライブラリなど) を使用する場合、それらのクラスはアプリケーションやモジュールではなくシステムクラスローダまたは共有クラスローダのパスに配備できます。サイズが大きい共有ライブラリを、そのライブラリを使用するすべてのモジュールにアセンブルする場合、サーバーへの登録に多くの時間がかかります。また、同一クラスの複数のインスタンスが独自のクラスローダを使用すると、リソースの浪費になります。

> システムクラスローダについては、「クラスローダについて」を参照してください。

> ##

> アプリケーション配備記述子ファイル

> Sun ONE Application Server には、次の 2 種類の配備記述子ファイルがあります。

> - 『Java Servlet Specification, v2.3』の第 13 章「Deployment Descriptors」で説明している J2EE 標準ファイル (application.xml)
> - この章で説明した Sun ONE Application Server に固有のオプションファイル (sun-application.xml)

> アプリケーション配備記述子ファイルの詳細については、『Sun ONE Application Server 開発者ガイド』を参照してください。

> 前へ 目次 索引 次へ

> Copyright 2003 Sun Microsystems, Inc. All rights reserved.