|
以下の節では、アプリケーションのデプロイメントを準備する上で必要となる重要なトピックについて説明します。
WebLogic Server は、jar
ユーティリティまたは Ant の jar
ツールを使用してアーカイブ ファイルとしてパッケージ化されたデプロイメント、または展開されたアーカイブ ディレクトリとしてパッケージ化されたデプロイメントをサポートしています。
注意 : | 一般に、アプリケーションを管理対象サーバにデプロイするときにアーカイブ ファイルを使用すると、より効率的です。ただし、アプリケーションの再デプロイメントが必要になるため、アプリケーションの更新 (Web コンテンツの更新など) がより難しくなります。 |
アーカイブ ファイルは、アプリケーションまたはモジュールのクラス、静的ファイル、ディレクトリ、およびデプロイメント記述子ファイルをすべて含む単一のファイルです。大半のプロダクション環境において、管理者がデプロイメント用に受け取るアプリケーションは、アーカイブ ファイルとして格納されます。
jar
ユーティリティを使用してパッケージ化されたデプロイメント ユニットには、タイプ別に特定のファイル拡張子が付きます。
.jar
ファイルとしてパッケージ化される。.war
ファイルとしてパッケージ化される。.rar
ファイルとしてパッケージ化される。.ear
ファイルとしてパッケージ化され、EJB、JDBC、JMS、Web アプリケーション、リソース アダプタなど他の Java EE モジュールを含めることができる。.war
ファイル、.jar
ファイルのいずれかとしてパッケージ化できる。通常、.war
または .jar
ファイルは、さらにエンタープライズ アプリケーション .ear
ファイルにパッケージ化されます。.ear
ファイル) または標準の Java EE モジュールとしてパッケージ化される。.jar
ファイルとしてパッケージ化される。
アーカイブ ファイルに加えて、特定の環境についてアプリケーションをコンフィグレーションする別個のファイルである、デプロイメント プランを受け取ることになる場合があります。デプロイメント プランについての詳細は、「プロダクション デプロイメントのためのアプリケーションのコンフィグレーション」で説明しています。
展開されたアーカイブ ディレクトリには、JAR アーカイブと同じファイルおよびディレクトリが格納されています。展開されたアーカイブ ディレクトリの使用を選択すると、それ以前にアーカイブされたデプロイメントを手動で復元することが必要になる場合があります。ただし、それらのファイルとディレクトリは、ファイル システム上に直接存在し、jar
ユーティリティを使用して単一のアーカイブ ファイルにパッケージ化されていません。
次のような状況下であれば、展開されたアーカイブ ディレクトリからのデプロイを選択できます。
Java EE 仕様では、アーカイブされた EAR (エンタープライズ アプリケーション アーカイブ) をデプロイメント記述子を含まない状態で Java EE 準拠のサーバにデプロイすることが推奨されています。これを行うには、すべてのコンテナで、妥当なデフォルト値が設定されているか、またはアノテーション付きのクラスが使用されていることが前提となります。WebLogic Server では、この規定のサポートに加えて、展開された EAR ディレクトリをデプロイメント記述子を含まない状態でデプロイすることもできます。
こうしたデプロイメントがディレクトリに適用される場合、EAR とそのネストされたモジュールの特定には一定のルールが使用されます。ルールに従っていないディレクトリは、WebLogic Server Administration Console でもデプロイメント ツールでも、展開された有効な Java EE ディレクトリとして処理されません。
.war
サフィックスが付いている必要がある。 .ear
サフィックスが付いている必要がある。アプリケーション内では、展開された Web モジュールのディレクトリ名に .war
サフィックスが付いていなければなりません。同様に、展開された EJB モジュールには .jar
サフィックスが、展開された RAR モジュールには .rar
サフィックスが必要になります。File.listFiles()
メソッド順序に依存する。モジュールを特定の順序でデプロイするには、application.xml 記述子を追加し、その順序でモジュールをリストする必要があります。
展開されたアーカイブ ディレクトリとしてデプロイするアーカイブ ファイルがある場合は、jar
ユーティリティを使用してアーカイブ ファイルを専用ディレクトリに復元します。次に例を示します。
mkdir /myapp
cd /myapp
jar xvf /dist/myapp.ear
復元するアーカイブ ファイルに他のモジュール アーカイブ ファイル (たとえば、JAR ファイルや WAR ファイルを含むエンタープライズ アプリケーションまたは Web サービス) が含まれていて、それらのモジュールの部分的な更新を行う場合には、組み込まれたアーカイブ ファイルも展開する必要があります。各モジュールをアーカイブ ファイルと同じ名前のサブディレクトリに復元してください。たとえば、myejb.jar
という名前のモジュールは、展開したエンタープライズ アプリケーション ディレクトリの /myejb.jar
サブディレクトリに復元します。
注意 : | 展開した .EAR ファイルのアーカイブ モジュールに異なるサブディレクトリ名を使用する場合は、アプリケーション自体の中で使用しているこれらのモジュールへの参照を修正する必要があります。たとえば、manifest.mf ファイルの application.xml および CLASSPATH のエントリに指定されている URI 値を更新する必要があります。 |
1 つまたは複数の WebLogic Server インスタンスにアプリケーションまたはスタンドアロン モジュールを最初にデプロイするときには、デプロイメント ファイル、対象サーバ、および選択したその他のコンフィグレーション オプションを総体的に説明するデプロイメント名を指定します。後ですべての対象サーバ上のデプロイメント ユニットを再デプロイまたは停止する場合、デプロイメント名を使用して簡単に指定できます。デプロイメント名を使用すると、ドメイン内の複数サーバにかかわるデプロイメント ユニットを操作する場合に、デプロイメント ファイルと対象サーバを再度特定する手間を省くことができます。
デプロイメント時にデプロイメント名を指定しない場合、デプロイメント ツールによってデプロイメント ソース ファイルに基づくデフォルトの名前が選択されます。アーカイブ ファイルの場合、weblogic.Deployer
はアーカイブ ファイル名からファイル拡張子を抜いて使用します。たとえば、ファイル myear.ear
のデフォルト デプロイメント名は、myear
となります。展開されたアーカイブ ディレクトリの場合、weblogic.Deployer
はデプロイする最上位ディレクトリの名前を使用します。
Java EE ライブラリおよびオプション パッケージの場合、weblogic.Deployer
はライブラリのマニフェスト ファイルで指定されている名前を使用します。ライブラリのマニフェスト ファイルで名前が指定されていなければ、-name
オプションで名前を指定できます。
アプリケーションのネーミング要件については次の「アプリケーションのネーミング要件について」を、デフォルト以外のデプロイメント名の指定については「weblogic.deployer によるアプリケーションおよびモジュールのデプロイ」を参照してください。
アプリケーションの WebLogic Server へのデプロイを正常に実行するには、アプリケーション名が有効であることが必要です。アプリケーションのネーミング要件は、次のとおりです。
デプロイメント名に加えて、アプリケーションまたはモジュールには、バージョン文字列を関連付けることもできます。バージョン文字列により、アプリケーションの初期デプロイメントと、後の再デプロイされたバージョンが区別されます。たとえば、問題点を修正したり、新しい機能を追加したりするために、アプリケーションを後から更新する場合があります。プロダクション システムでは、アプリケーションの初期デプロイメントと後続するデプロイメントの双方についてバージョン文字列を維持することが非常に重要です。そうすることで、既存のクライアントに対するサービスを中断させることなく、アプリケーションのバージョンを更新し、再デプロイを行えます。詳細については、「プロダクション環境でのアプリケーションの再デプロイメント」を参照してください。
バージョン文字列は、アプリケーションのマニフェスト ファイルで指定され、他のデプロイメント ファイルと一緒に、開発チームによって提供されます。『WebLogic Server アプリケーションの開発』の「アプリケーションのバージョンの割り当て」で、バージョン文字列を指定する際の規約について説明しています。
アプリケーションのインストール ディレクトリにより、生成されたコンフィグレーション ファイルはコア アプリケーション ファイルから分離されるため、コンフィグレーション ファイルはアプリケーション自体を乱すことなく、簡単に変更または置換できます。このディレクトリ構造はまた、同じアプリケーション デプロイメント ファイルの複数バージョンの整理と維持にも役立ちます。
次の図では、デプロイ可能なアプリケーションまたはモジュールの 1 つのバージョンを格納するアプリケーション インストール ディレクトリの階層を示します。
すべての新しいプロダクション デプロイメントを、WebLogic Server ドメインにデプロイする前に、アプリケーションのインストール ディレクトリにコピーしておくことをお勧めします。このディレクトリ構造からデプロイすることで、デプロイメント ユニットと関連付けられたファイルをすべて簡単に識別できるようになります。Administration Console を使用してインストール ルートをデプロイするだけで、Administration Console が自動的にデプロイメント プランや WebLogic Server デプロイメント記述子など、コンフィグレーション中に生成された関連ファイルを見つけます。
アプリケーションのインストール ディレクトリを作成するには、次の手順に従います。
mkdir c:\deployments\production\myApplication
mkdir c:\deployments\production\myApplication\91Beta
app
および plan
という名前のサブディレクトリを作成します。mkdir c:\deployments\production\myApplication\91Beta\app
mkdir c:\deployments\production\myApplication\91Beta\plan
注意 : | アプリケーションに関連付けられたデプロイメント プランが複数ある場合は、各プランにつき 1 つの \plan サブディレクトリを作成します。たとえば、アプリケーション myApplication の 91Beta バージョンに関連付けられたデプロイメント プランが 2 つある場合は、\plan サブディレクトリを 2 つ作成します。次に例を示します。 |
mkdir c:\deployments\production\myApplication\91Beta\plan1
mkdir c:\deployments\production\myApplication\91Beta\plan2
\app
サブディレクトリにコピーします。アーカイブ ファイルからデプロイしている場合は、次のように、単にアーカイブ ファイルをコピーします。cp c:\downloads\myApplication.ear c:\deployments\production\myApplication\91Beta\app
展開されたアーカイブ ディレクトリからデプロイしている場合は、展開されたアーカイブ ディレクトリ全体を \app
にコピーします。
cp -r c:\downloads\myApplication c:\deployments\production\myApplication\91Beta\app
その結果、新しいディレクトリ c:\deployments\production\myApplication\91Beta\app\myApplication
が作成されます。
\plan
サブディレクトリにコピーします。
アプリケーションのデプロイメント プランが 1 つの場合は、次のようになります。
cp c:\downloads\myApplicationPlans\plan.xml c:\deployments\production\myApplication\91Beta\plan
アプリケーションのデプロイメント プランが 2 つの場合は、次のようになります。
cp c:\downloads\myApplicationPlans\plan1.xml c:\deployments\production\myApplication\91Beta\plan1
cp c:\downloads\myApplicationPlans\plan2.xml c:\deployments\production\myApplication\91Beta\plan2
注意 : | 既存のデプロイメント プランがなければ、「プロダクション デプロイメントのためのアプリケーションのコンフィグレーション」で説明するように、Administration Console を使用して作成できます。Administration Console は、アプリケーションのインストール ディレクトリの \plan サブディレクトリに、新しく生成されたデプロイメント プランを自動的に格納します。 |
plan.xml
という名前のプランが \plan
サブディレクトリ内にあれば、Administration Console はそれを使用します。Administration Console は、\plan
サブディレクトリ以外のサブディレクトリ内にあるプランを識別しません。つまり、\plan1
または \plan2
サブディレクトリ内のプランは、Administration Console では識別されません。したがって、アプリケーションのプランが複数ある場合は、config.xml
の中で、使用するプランを指定する必要があります。「プロダクション デプロイメントのためのアプリケーションのコンフィグレーション」を参照してください。config.xml については、『コンフィグレーション ウィザードを使用した WebLogic ドメインの作成』を参照してください。
アプリケーションをインストール後は、必要に応じてアプリケーションをコンフィグレーション、デプロイ、または分散できます。
注意 : | weblogic.Deployer ツールを使用しているときは、アプリケーションのインストール ディレクトリを指定できず、利用可能な plan.xml ファイルがツールによってデフォルトで使用されることはありません。デプロイメントに使用する実際のデプロイメント ファイルおよびプランを指定する必要があります。「weblogic.deployer によるアプリケーションおよびモジュールのデプロイ」を参照してください。 |
アプリケーションおよびモジュールのデプロイメント準備をする際には、次のベスト プラクティスをお勧めします。