ナビゲーションをスキップ

WebLogic Server アプリケーションのデプロイメント

  前 次 前/次ボタンと目次ボタンとの区切り線 目次  

WebLogic Server デプロイメントの概要

以下の節では、BEA WebLogic ServerTM のデプロイメントに関する主なトピックの基本的な概要を示します。

 


マニュアルの内容と対象読者

このマニュアルは、Java 2 Platform, Enterprise Edition (J2EE) アプリケーションまたはアプリケーション モジュールを WebLogic Server にデプロイする管理者を主な対象としています。このマニュアルは、読者がプロダクション環境で作業しているものと想定しています。通常のプロダクション環境では、複数の WebLogic Server インスタンスまたはクラスタが複数のマシン上で動作しています。また、1 つまたは複数のアプリケーション モジュール アーカイブ ファイルがすでにテストされ、プロダクション サーバにデプロイできる状態にあることも想定しています。

開発環境でアプリケーションをデプロイまたはパッケージ化する必要があるエンジニアの方は、『WebLogic Server アプリケーションの開発』を参照してください。開発環境で使用するデプロイメント機能については、「開発者向けデプロイメント トピック 」を参照してください。

 


デプロイメント ユニット

デプロイメント ユニットとは、J2EE 仕様に従って構成されており、WebLogic Server にデプロイ可能な J2EE アプリケーション (エンタープライズ アプリケーションまたは Web アプリケーション) あるいはスタンドアロン J2EE モジュール (EJB またはリソース アダプタ) のことです。

デプロイメント ユニットのタイプごとに、必要なファイル、およびアプリケーションまたはモジュールのディレクトリ構造内での各ファイルの位置が J2EE 仕様で定義されています。デプロイメント モジュールは、EJB とサーブレットの Java クラス、リソース アダプタ、Web ページとサポート ファイル、XML 形式のデプロイメント記述子、およびその他のモジュールで構成されています。

J2EE では、どのようにデプロイメント ユニットを対象サーバにデプロイするかは指定されておらず、標準のアプリケーションおよびモジュールの構造だけが指定されています。WebLogic Server は、jar ユーティリティを使用してアーカイブ ファイルとしてパッケージ化されたデプロイメント、または展開されたアーカイブ ディレクトリとしてパッケージ化されたデプロイメントをサポートしています。

スタンドアロン モジュール

J2EE には、スタンドアロン モジュールの作成に関する仕様があります。エンタープライズ JavaBean とリソース アダプタ モジュールはスタンドアロン モジュールに含まれます。WebLogic Server では、J2EE 仕様では対象になっていない Web サービス モジュールもデプロイできます。

スタンドアロン モジュールは、通常大規模な分散アプリケーションの部品となるものですが、必ずしも直接ユーザ インタフェースを備えていません。特定のモジュール タイプの詳細については、J2EE 1.3 仕様 (http://java.sun.com/j2ee/download.html#platformspec) を参照してください。

エンタープライズ JavaBean

エンタープライズ JavaBean (EJB) は、ビジネス ロジックを実装する再利用可能な Java コンポーネントで、コンポーネントベースの分散ビジネス アプリケーションの開発を可能にします。EJB モジュールは .jar という拡張子を持つアーカイブ ファイルとしてパッケージ化されますが、通常は展開されたアーカイブ ディレクトリとしてデプロイします。EJB のアーカイブ ファイルまたは展開されたアーカイブ ディレクトリには、コンパイル済みの EJB クラス、省略可能な生成済みクラス、および EJB の XML デプロイメント記述子が格納されます。各種の EJB の詳細については、『WebLogic エンタープライズ JavaBeans (EJB) プログラマーズ ガイド』を参照してください。

リソース アダプタ

リソース アダプタ (コネクタとも呼ばれる) は、エンタープライズ情報システム (EIS) と J2EE プラットフォームの統合を可能にします。コネクタは、WebLogic Server と EIS の接続に使用できるシステムレベルのソフトウェア ドライバとして機能します。コネクタには、Java クラス、および必要に応じて EIS との対話に必要なネイティブ コンポーネントが含まれます。詳細については、『WebLogic J2EE コネクタ アーキテクチャ』を参照してください。

注意 : リソース アダプタは展開されたアーカイブ ディレクトリとしてデプロイできません。

Web サービス

Web サービスは、分散型 Web ベース アプリケーションのコンポーネントとして共有および使用されるサービスのタイプです。これらのサービスは一般的に、CRM (カスタマ リレーションシップ マネージメント)、注文処理システムなどの既存のバックエンド アプリケーションとインタフェースします。

Web サービス モジュールは、Web アプリケーションのデプロイメント記述子と Web サービスのデプロイメント記述子の両方を最低限含む仮想モジュールです。Web サービスを実装する EJB を含む場合もあります。詳細については、『WebLogic Web サービス プログラマーズ ガイド』を参照してください。

デプロイ可能アプリケーション

J2EE には、Web アプリケーション、エンタープライズ アプリケーション、およびクライアント アプリケーションという 3 つの異なるタイプのデプロイ可能アプリケーションも定義されています。アプリケーションは、通常、論理サービスを提供する 1 つまたは複数のスタンドアロン J2EE モジュールを含みます。また、アプリケーションの内容との直接ユーザ インタフェースを備えている場合もあります。

Web アプリケーション

Web アプリケーションは常に以下のファイルを含みます。

Web アプリケーションは、JSP タグ ライブラリ、静的 .html ファイルと画像ファイル、サポート クラスと .jar ファイル、および weblogic.xml デプロイメント記述子 (Web アプリケーションの WebLogic サーバ固有要素をコンフィグレーションする) を含むこともできます。詳細については、『WebLogic Server Web アプリケーションの開発』を参照してください。

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

エンタープライズ アプリケーションは、次に示す 1 つまたは複数の J2EE アプリケーションまたはモジュールで構成されます。

エンタープライズ アプリケーションは、拡張子 .ear を持つ JAR ファイルとしてパッケージ化されますが、通常は展開 EAR ディレクトリとしてデプロイします。展開 EAR ディレクトリには、アプリケーションで使用する JAR、WAR、および RAR モジュールのすべてが (同じく展開形式で) 格納されるほか、エンタープライズ アプリケーション用の XML 記述子ファイル、およびバンドルされたアプリケーションとモジュールが格納されます。詳細については、『WebLogic Server アプリケーションの開発』を参照してください。

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

J2EE 仕様には、クライアント アプリケーションのアーカイブ ファイルをエンタープライズ アプリケーション内に組み込む機能が用意されています。J2EE クライアント アプリケーション モジュールには、クライアント JVM (Java 仮想マシン) で実行される Java クラスと、EJB (エンタープライズ JavaBean)、およびクライアントによって使用されるその他の WebLogic Server リソースに関するデプロイメント記述子が収められます。これによって、サーバサイドとクライアントサイドのコンポーネントを 1 つのユニットとして配布できます。EAR に含まれるクライアント モジュールは、J2EE 標準の application-client.xml デプロイメント記述子、および省略可能な WebLogic Server 記述子である client-application.runtime.xml を使用して定義します。

起動クラスと停止クラス

起動クラスおよび停止クラスは、サーバを起動または正常に停止させるときにロードして実行するようコンフィグレーションできる、Java クラスです。起動クラスおよび停止クラスのデプロイメント プロセスでは、実際のデプロイメント ファイルを指定しないため、他のデプロイ可能ユニットの場合とは異なります。代わりにクラスを実行するサーバを識別し、実行に使用するクラスパスおよび任意指定の引数を指定します。詳細については、Administration Console オンライン ヘルプの「起動クラスと停止クラス」を参照してください。

デプロイメント ユニットの XML デプロイメント記述子

デプロイメント ユニットの各タイプを定義する主要なファイルは、そのタイプ用の XML デプロイメント記述子です。デプロイメント記述子は、アプリケーションまたはモジュールに関する特定の実行時特性を定義する XML ドキュメントです。XML デプロイメント記述子を編集することによって、コードを再コンパイルしたりデプロイメント ユニット自体を再ビルドしたりしなくても、デプロイメント ユニットの実行時動作を変更できます。変更後の動作は、記述子ファイルから読み込まれ、アプリケーションまたはモジュールをデプロイするときに実装されます。

たとえば、EJB 用の WebLogic デプロイメント記述子を使用すると、EJB をサーバにデプロイするときにキャッシュに保持する Bean の数を指定できます。パフォーマンス上の理由により、キャッシュする Bean の数を変更する必要がある場合は、デプロイメント記述子を変更するだけで済みます。

J2EE では、デプロイメント ユニットごとに必要な XML デプロイメント記述子の構造と内容が定義されています。さらに、省略可能な WebLogic Server XML デプロイメント記述子を指定して、デプロイメントを処理するための WebLogic 固有の動作をコンフィグレーションすることができます。WebLogic Server デプロイメント記述子を使用すると、WebLogic Server だけで使用可能な機能を活用しながら、オリジナルの J2EE モジュールの移植性を維持できます。

表  1-1 に、デプロイメント ユニットのタイプと、それらに関連する J2EE 標準および WebLogic 固有のデプロイメント記述子を示します。

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

デプロイメント ユニット

スコープ

デプロイメント記述子

Web アプリケーション

J2EE

WEB-INF/web.xml

WebLogic

WEB-INF/weblogic.xml

エンタープライズ Bean

J2EE

META-INF/ejb-jar.xml

WebLogic

META-INF/weblogic-ejb-jar.xml

META-INF/weblogic-cmp-rdbms-jar.xml

コネクタ

J2EE

META-INF/ra.xml

WebLogic

META-INF/weblogic-ra.xml

Web サービス

J2EE

Web サービスには J2EE 記述子がない。ただし、Web サービス モジュールは通常 Web アプリケーションと EJB モジュール両方を含むエンタープライズ アプリケーションとしてパッケージ化される。このため、Web サービス モジュールには通常、これらのモジュールに必須の J2EE 記述子が必要。

WebLogic

WEB-INF/web-services.xml

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

J2EE

META-INF/application.xml

WebLogic

META-INF/weblogic-application.xml

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

J2EE

META-INF/application-client.xml

WebLogic

client-application.runtime.xml

デプロイメント記述子は手動で作成するか、WebLogic Server の Java ベース ユーティリティで生成します。開発者から J2EE 準拠の JAR ファイルを受け取った場合、そのファイルにはすでに J2EE 標準のデプロイメント記述子と WebLogic Server のデプロイメント記述子が組み込まれています。Administration Console を使用して、デプロイ済みアプリケーションの主要なデプロイメント記述子要素を変更することもできます。この方法は、アプリケーションの実行時動作とパフォーマンスの調整に役立ちます。

 


デプロイメント ファイル

WebLogic Server では、単一のアーカイブ ファイルとして、またはアーカイブ ファイルと同じ内容を含む展開されたディレクトリとして、デプロイメント ユニットを格納できます。

アーカイブ ファイル

ほとんどのプロダクション環境では、デプロイメント ユニットをアーカイブ ファイルとして受け取ります。アーカイブ ファイルは、アプリケーションまたはモジュールのクラス、静的ファイル、ディレクトリ、およびデプロイメント記述子ファイルをすべて含む単一のファイルです。アーカイブ ファイルは通常、jar ユーティリティまたは Ant の jar ツールを使用して作成します。

jar ユーティリティを使用してパッケージ化されたデプロイメント ユニットには、タイプ別に特定のファイル拡張子が付きます。

注意 : 起動および停止クラスは、パッケージ化されません。対象サーバの割り当て時に、使用するクラスパスを指定するだけです。

アーカイブ ファイルを WebLogic Server に直接デプロイできますが、展開されたアーカイブ ディレクトリをデプロイすると、さらに再デプロイ機能が得られます。

展開されたアーカイブ ディレクトリ

展開されたアーカイブ ディレクトリには、.jar アーカイブと同じファイルおよびディレクトリが格納されています。ただし、それらのファイルとディレクトリは、ファイル システム上に直接存在し、jar ユーティリティを使用して単一のアーカイブ ファイルにパッケージ化されていません。

デプロイメント ユニットを単一のアーカイブ ファイルとしてではなく、展開されたアーカイブ ディレクトリとしてデプロイするのは、以下のような場合です。

アーカイブ ファイルの復元

展開されたアーカイブ ディレクトリとしてデプロイするアーカイブ ファイルがある場合は、jar ユーティリティを使用してアーカイブ ファイルを専用ディレクトリに復元します。次に例を示します。

mkdir /myapp
cd /myapp
jar xvf /dist/myapp.ear

復元するアーカイブ ファイルに他のモジュール アーカイブ ファイル (たとえば、JAR ファイルや WAR ファイルを含むエンタープライズ アプリケーションまたは Web サービス) が含まれていて、それらのモジュールの部分的な更新を行う場合には、組み込まれたアーカイブ ファイルも展開する必要があります。各モジュールをアーカイブ ファイルと同じ名前のサブディレクトリに復元してください。たとえば、myejb.jar という名前のモジュールは、展開したエンタープライズ アプリケーション ディレクトリの /myejb.jar サブディレクトリに復元します。

注意 : 展開した .EAR ファイルのアーカイブ モジュールに異なるサブディレクトリ名を使用する場合は、アプリケーション自体の中で使用しているこれらのモジュールへの参照を修正する必要があります。たとえば、manifest.mf ファイルの application.xml および CLASSPATH のエントリに指定されている URI 値を更新する必要があります。

ファイルの位置

新しいアーカイブまたは展開されたアーカイブ ディレクトリをデプロイするには、ドメインの管理サーバからファイルにアクセス可能である必要があります。つまり、ファイルは管理サーバ マシン上にあるか、またはネットワークにマウントされたリモート ディレクトリを通して使用できなければなりません。

Administration Console を使用して最初にモジュールをデプロイするとき、ファイルを使用できるようにする他の方法がない場合は、ファイルを管理サーバにアップロードすることができます。ファイルは、アップロード ディレクトリ名 の属性で指定された場所にアップロードされます。

 


デプロイメント対象

デプロイメント対象は、アプリケーションまたはスタンドアロン モジュールのデプロイ先であるサーバです。有効なデプロイメント対象には、WebLogic Server インスタンス、クラスタ、および仮想ホストが含まれます。デプロイメント プロセス中に、ドメインにコンフィグレーションされている使用可能なサーバ、クラスタ、および仮想ホストから対象のリストを選択します。また、モジュールのデプロイ後いつでも対象リストを変更できます。

以降の節では、対象のタイプについて詳しく説明します。

WebLogic Server インスタンス

ドメインの 1 つまたは複数の管理対象サーバ、または単一サーバ ドメインの管理サーバに、アプリケーションおよびスタンドアロン モジュールをデプロイできます。複数のサーバがあるドメインの管理サーバにデプロイすることはできますが、お勧めしません。複数サーバ ドメインの管理サーバは、管理の目的にのみ使用するようにしてください。

クラスタ

WebLogic Server インスタンスのクラスタにデプロイする場合、デフォルトではクラスタ内のすべてのサーバ インスタンスがデプロイメントの対象になります。これは、ほとんどのクラスタにおいて推奨される、均一なモジュール デプロイメントに対応しています。クラスタ内の 1 つのサーバだけにモジュールをデプロイする (モジュールをサーバに「固定」する) 場合は、個別のサーバ名を選択することもできます。このタイプのデプロイメントはそれほど一般的ではなく、固定サービスが要求される特別な状況においてのみ行うようにする必要があります。詳細については、「クラスタのコンフィグレーションとアプリケーションのデプロイメント」を参照してください。

注意 : クラスタ内のサーバ インスタンスのサブセットにデプロイメントを固定すること (単一サーバとは異なる) は推奨されておらず、警告メッセージが生成されます。

仮想ホスト

仮想ホスティングを使用すると、サーバまたはクラスタが応答するホスト名を定義できます。仮想ホスティングを使用するときは、WebLogic Server またはクラスタの IP アドレスにマップする 1 つまたは複数のホスト名を、DNS 名を使って指定します。また、各仮想ホストによって提供されるアプリケーションを指定します。

デプロイ中に、Weblogic Server のインスタンス名またはクラスタ名を選択するのと同じように、コンフィグレーション済みの仮想ホスト名を選択します。詳細については、『WebLogic Server のコンフィグレーションと管理』の「仮想ホスティングのコンフィグレーション」を参照してください。

注意 :Web アプリケーションのコンテキスト ルートが weblogic.xml ファイルで空白で、仮想ホストがサーバ インスタンスを対象とする場合、Web アプリケーションは仮想ホスト、またはサーバ インスタンスにしかデプロイできません。

 


ステージング モード

デプロイメントのステージング モードにより、デプロイメント ファイルを、アプリケーションまたはスタンドアロン モジュールをデプロイする必要がある対象サーバから使用できるようにする方法が決まります。WebLogic Server のステージング モードには、stage モード、nostage モード、external_stage モードの 3 種類があります。次の表では、デプロイメント ステージング モード別にそのモードを使用する場合の動作とベスト プラクティスについて説明します。

表 1-2 アプリケーション デプロイメントのステージング モード

デプロイメントのステージング モード

動作

使用するタイミング

stage

管理サーバは最初にデプロイメント ユニットのソース ファイルを Staging Directory Name 属性で指定する対象サーバのステージング ディレクトリにコピーする。

対象サーバは次にデプロイメント ファイルのローカル コピーを使用してデプロイする。

  • 小さいサイズまたは中程度のサイズのアプリケーションを複数の WebLogic Server インスタンスにデプロイする場合。

  • 小さいサイズまたは中程度のサイズのアプリケーションをクラスタにデプロイする場合。

nostage

管理サーバはデプロイメント ユニット ファイルをコピーしない。代わりに、すべてのサーバで同じデプロイメント ファイルの物理コピーを使用してデプロイする。それらのファイルは、管理サーバと対象サーバから直接アクセス可能でなければならない。

展開されたアーカイブ ディレクトリの nostage モード デプロイメントでは、WebLogic Server はデプロイメントの JSP またはサーブレットに対する変更を自動的に検出し、デプロイメントを更新する (この動作は必要に応じて無効にできる)。

  • 単一サーバ ドメインにデプロイする場合。

  • 複数のホームがあるマシン上のクラスタにデプロイする場合。

  • 使用可能なデプロイメント ファイルが共有ディレクトリにある複数の対象またはクラスタに、非常に大きいアプリケーションをデプロイする場合。

  • 内容変更後、定期的に再デプロイする展開されたアーカイブ ディレクトリをデプロイする場合。

  • Administration Console を通じて選択されたデプロイメント記述子の動的更新を必要とするデプロイメント。

external_stage

管理サーバはデプロイメント ファイルをコピーしない。その代わりに、デプロイメントの前に、(たとえば、デプロイメントの前に手動でファイルをコピーするなどして) デプロイメント ファイルが正しいステージング ディレクトリの位置にコピーされていることを管理者が確認する必要がある。

external_stage デプロイメントでは、管理サーバは検証用にデプロイメント ファイルのコピーを必要とする。対象サーバのステージング ディレクトリ内に存在するデプロイメント ファイルのコピーは、デプロイメントの前には検証されない。

  • デプロイメント ファイルの対象サーバへの配布を手動で制御するデプロイメント。

  • デプロイメント ファイルを正しいステージング ディレクトリにコピーするようにサードパーティのアプリケーションまたはスクリプトで管理しているドメインにデプロイする場合。

  • Administration Console を通じて、選択されたデプロイメント記述子の動的更新を必要としないデプロイメント (external_stage ではサポートしていない)。

  • アプリケーション コンポーネントの部分的な再デプロイを必要としないデプロイメント。

ほとんどのデプロイメントでは、stage モードまたは nostage モードを使用します。アプリケーションまたはモジュールをデプロイするとき、Administration Console に適切なモードが自動的に示されます。ステージング モードの詳細については、「高度なデプロイメントについて」の「デプロイメントのステージング モードとステージング ディレクトリ」を参照してください。

 


デプロイメント名

1 つまたは複数の WebLogic Server インスタンスにアプリケーションまたはスタンドアロン モジュールを最初にデプロイするときには、デプロイメント ファイル、対象サーバ、および選択したその他のコンフィグレーション オプションを総体的に説明するデプロイメント名を指定します。後ですべての対象サーバ上のデプロイメント ユニットを再デプロイまたは停止する場合、デプロイメント名を使用して簡単に指定できます。デプロイメント名を使用すると、ドメイン内の複数サーバにかかわるデプロイメント ユニットを操作する場合に、デプロイメント ファイルと対象サーバを再度特定する手間を省くことができます。

デプロイメント時にデプロイメント名を指定しない場合、デプロイメント ツールによってデフォルトの名前が選択されます。展開されたアーカイブ ディレクトリについては、デプロイする最上位ディレクトリの名前がデフォルトのデプロイメント名になります。アーカイブ ファイルについては、デプロイメント名はアーカイブ ファイル名と同じで、ファイル拡張子は付きません (ファイル名が myear.ear の場合は myear となります)。

 


デプロイメント ツール

WebLogic Server にはアプリケーションとスタンドアロン モジュールのデプロイに使用するいくつかのツールがあります。

 


デプロイメントのベスト プラクティス

アプリケーションをデプロイするときには、以下のベスト プラクティスをお勧めします。

 


デプロイメント操作

デプロイメント ツールは、次に示す一般的なデプロイメント操作の実行を支援します。

 


デプロイメントに必要なセキュリティ ロール

「Admin」および「Deployer」ユーザの組み込みセキュリティ ロールにより、WebLogic Server Administration Console を使用してデプロイメント タスクを実行できます。組み込みセキュリティ ロールの詳細については、Administration Console オンライン ヘルプの「Administration Console の起動」を参照してください。

 

フッタのナビゲーションのスキップ  ページの先頭 前 次