ORACLE JAPAN Server Release 6.1

 

  |  

  WebLogic Server ホーム   |     Web アプリケーション   |   前へ   |   次へ   |   目次   |   索引   |   PDF 版

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

 

この章では、Web アプリケーションをデプロイする方法について説明します。

 


Web アプリケーションのデプロイメントの概要

Web アプリケーションのデプロイメントは最後の手順です。これによって WebLogic Server は Web アプリケーションのコンポーネントをクライアントに提供します。Web アプリケーションは、ユーザの環境と Web アプリケーションがプロダクション環境に置かれるかどうかに基づいて、複数の手順のうちの 1 つでデプロイできます。WebLogic Server Administration Console や weblogic.deploy ユーティリティを使うことも、自動デプロイメントを使うことも可能です。

Web アプリケーションをデプロイする手順では、正しいディレクトリ構造を使用し、web.xml デプロイメント記述子を含み、必要であれば weblogic.xml デプロイメント記述子も含む、正常に作動する Web アプリケーションを作成していることを前提としています。Web アプリケーションの作成に必要な手順の概要については、「Webアプリケーション作成の主な手順」を参照してください。

WebLogic Server を実行するには、開発モードとプロダクション モードの 2 つのモードが利用できます。開発モードを有効にするには、-Dweblogic.ProductionModeEnabled=false フラグを指定して WebLogic Server を起動します(これはデフォルトの動作です)。プロダクション モードを有効にするには、-Dweblogic.ProductionModeEnabled=true フラグを指定して WebLogic Server を起動します。これらのモードの設定の詳細については、「WebLogic Server の起動と停止」を参照してください。

開発モードを指定すると、自動デプロイ機能を使用できます。自動デプロイ機能では、管理サーバの applications ディレクトリに Web アプリケーションをコピーすることによって、Web アプリケーションを短時間でデプロイできます。このディレクトリは、WebLogic Server インストール環境の config\mydomain ディレクトリ(mydomain は WebLogic Server ドメインの名前)にあります。WebLogic Server は applications ディレクトリにコピーされるすべてのアプリケーションを自動的にデプロイします。.war 形式の Web アプリケーションが変更された場合、WebLogic Server はその Web アプリケーションを自動的に再デプロイします。Web アプリケーションが展開形式の場合は、 展開ディレクトリ形式でデプロイされた Web アプリケーションの再デプロイを参照してください。アプリケーションを config/mydomain/applications ディレクトリに格納しておくことはお勧めできません。このディレクトリにアプリケーションが既に存在していると、プロダクション モードであっても自動的にデプロイされます。

Web アプリケーションは、ファイル システムから、展開ディレクトリ形式、またはアーカイブされた .war 形式にデプロイできます。展開ディレクトリ形式とは、Web アプリケーション コンポーネントが Web アプリケーション用の標準ディレクトリ構造を使ってファイル システム上に整理されていることを意味しています。.war アーカイブは、Web アプリケーションの内容を展開ディレクトリ形式でアーカイブするために、Java jar ユーティリティを使って作成したものです。

管理対象の WebLogic Server のクラスタを使用している場合、1 つまたは複数の「対象となった」管理対象サーバに Web アプリケーションをデプロイするように指定することができます。管理サーバは、Web アプリケーションの対象になっているドメインにある管理対象サーバに Web アプリケーションを自動的にコピーします。

 


自動デプロイメントを使用した Web アプリケーションのデプロイメント

自動デプロイメントは Web アプリケーションの開発のために設計された便利な機能であり、プロダクション アプリケーションでの使用には適しません。アプリケーションをプロダクション環境に移動するには、 プロダクション モードを有効にした Web アプリケーションのデプロイで説明している手動のデプロイメント手順を使用してください。管理サーバに Web アプリケーションをデプロイする方法は自動デプロイメントだけです。自動デプロイされた Web アプリケーションが管理対象サーバを対象としている場合、Web アプリケーションも管理対象サーバにデプロイされます。

自動デプロイメントを使用する前に、正しいディレクトリ構造を使用し、web.xml デプロイメント記述子を含み、必要であれば weblogic.xml デプロイメント記述子も含む、正常に作動する Web アプリケーションを作成する必要があります。Web アプリケーションは、アーカイブされた .war ファイルとして、または展開ディレクトリ形式でデプロイできます( ディレクトリ構造を参照)。

自動デプロイメントを使用した Web アプリケーションのデプロイ方法

自動デプロイメントを使用して Web アプリケーションをデプロイするには、次の手順に従います。

  1. -DProductionModeEnabled=false フラグを指定して WebLogic 管理サーバを起動します。詳細については、「WebLogic Server の起動と停止」を参照してください。

  2. .war アーカイブ ファイルまたは Web アプリケーションを含むディレクトリを、ドメインの applications ディレクトリにコピーします。applications ディレクトリは WebLogic Server インストール環境の config\mydomain ディレクトリ(mydomain は WebLogic Server ドメイン)にあります。Web アプリケーションは管理サーバによって自動的にデプロイされます。

  3. Administration Console を使用して Web アプリケーションをコンフィグレーションします。

    1. Web ブラウザで Administration Console を起動します。

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

    3. 左ペインの [Web アプリケーション] ノードを展開します。右ペインに Web アプリケーションのリストが表示され、その中には applications ディレクトリにコピーしたばかりの Web アプリケーションも入っています。

    4. Web アプリケーションの名前をクリックします。

    5. [対象] タブを選択し、適切なタブから対象サーバ、クラスタ、または仮想ホストを選択し、対象を [選択可] カラムから [選択済み] カラムに移動します。Web アプリケーションをサーバまたはクラスタの対象にしたときに、アプリケーションは任意の管理対象サーバにデプロイされます。Web アプリケーションを仮想ホストの対象にすると、Web アプリケーションが仮想ホスト経由でクライアントから利用できるようになります。

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

    7. [ファイル] タブと [その他] タブで、別の属性をコンフィグレーションします。詳細については、「Web アプリケーション」の [コンフィグレーション] を参照してください。

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

  4. Web ブラウザからリソースをアクセスして、Web アプリケーションをテストします。次のように構築した URL からリソースをアクセスします。

    http://myServer:myPort/myWebApp/resource

    各要素の説明は次のとおりです。

Web アプリケーションの applications ディレクトリへのアップロード

Administration Console は、Web アプリケーションの applications ディレクトリへのアップロードにも使用できます。この手順は、WebLogic Server がリモート マシンにある場合に便利です。

Web アプリケーションをアップロードするには、次の手順に従います。

  1. -DProductionModeEnabled=false フラグを指定して WebLogic 管理サーバを起動します。詳細については、「WebLogic Server の起動と停止」を参照してください。

  2. 左ペインの [Web アプリケーション] ノードを選択します。

  3. [新しい Web アプリケーションをインストール] をクリックします。

  4. ファイル システム内の .war ファイルの格納場所に移動します。

  5. [Upload] をクリックします。Web アプリケーションは管理サーバの applications ディレクトリにコピーされ、デプロイされます。

自動デプロイメントを使用した Web アプリケーションの再デプロイ

自動デプロイメントを使用している場合は、applications ディレクトリにデプロイされている Web アプリケーションの静的コンポーネント(JSP や HTML ページなど)を変更したなら、変更を反映するために、Web アプリケーションを再デプロイする必要があります。その手順は、.war アーカイブ ファイルでデプロイされた Web アプリケーションと、展開ディレクトリ形式でデプロイされた Web アプリケーションとでは異なります。

.war アーカイブでの Web アプリケーションの再デプロイ

アーカイブ ファイルを変更すると、Web アプリケーションの再デプロイメントが自動的に開始されます。自動デプロイされた Web アプリケーションが管理対象サーバを対象としている場合、Web アプリケーションもその管理対象サーバに再デプロイされます。

展開ディレクトリ形式でデプロイされた Web アプリケーションの再デプロイ

自動デプロイメントを使用している場合、展開ディレクトリ形式でデプロイした Web アプリケーションの再デプロイは、REDEPLOY と呼ばれる特殊ファイルを変更して、または Administration Console を使用して行うことができます。または、新しいバージョンのクラス ファイルを WEB-INF/classes ディレクトリにある古いファイルの上にコピーすることで、部分的な再デプロイを行うこともできます。

REDEPLOY ファイルの変更

REDEPLOY ファイルを変更して Web アプリケーションを再デプロイするには、次の手順に従います。

  1. REDEPLOY という空のファイルを作成して、Web アプリケーションの WEB-INF ディレクトリに格納します(ディレクトリが存在しない場合は作成します)。

  2. REDEPLOY ファイルを変更します。まずファイルを開き、内容を変更して(スペースを挿入するのが最も簡単な方法)、ファイルを保存します。また UNIX マシンでは、REDEPLOY ファイルに対して touch コマンドを使用することもできます。次に例を示します。

    touch user_domains/mydomain/applications/DefaultWebApp/WEB-INF/REDEPLOY

    REDEPLOY ファイルが変更されると、Web アプリケーションはすぐに再デプロイされます。

Administration Console を使った再デプロイ

Administration Console を使用して Web アプリケーションを再デプロイするには、次の手順に従います。

  1. 左ペインの [デプロイメント] ノードを展開します。

  2. [Web アプリケーション] ノードを選択します。

  3. 再デプロイする Web アプリケーション ノードを選択します。

  4. 右ペインの [デプロイ] ボックスの選択を解除します。

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

  6. 右ペインの [デプロイ] ボックスをチェックします。

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

ホット デプロイメント

WEB-INF/classes ディレクトリにあるファイルの再デプロイは、次の方法で行います。クラスが WEB-INF/classes にデプロイされている場合は、古いファイルより後のタイム スタンプを持つ新しいバージョンのファイルをコピーするだけで、Web アプリケーションは、WEB-INF/classes フォルダ内のすべてを新しいクラスローダで再ロードします。

WLS がファイル システムを調べる頻度はコンソールで制御します。[デプロイメント|Web アプリケーション] で Web アプリケーションを選択します。[コンフィグレーション] タブの [ファイル] サブタブに移動し、[再ロード間隔(秒)] に秒数を入力します。

 


プロダクション モードを有効にした Web アプリケーションのデプロイ

プロダクション モードを有効にして Web アプリケーションをデプロイするには、-DProductionModeEnabled=true フラグを指定して WebLogic 管理サーバを起動する必要があります。この機能は WebLogic 管理サーバでは使用できますが、管理対象サーバでは使用できません。詳細については、「WebLogic Server の起動と停止」を参照してください。

Web アプリケーションは、Administration Console または weblogic.deploy ユーティリティを使用してデプロイできます。Web アプリケーションは、デプロイすると、ドメイン内で対象とした管理対象サーバすべてに自動的にデプロイされます(管理対象サーバの管理の詳細については、「WebLogic Server とクラスタのコンフィグレーション」を参照してください)。

config/mydomain/applications ディレクトリにはアプリケーションを格納しておかないことをお勧めします。プロダクション モードでは、WebLogic Server は config/mydomain/applications ディレクトリに新しく置かれたアプリケーションは検出しませんが、プロダクション モードに切り替わる前にこのディレクトリで検出していたアプリケーションは、引き続き自動的にデプロイします。

これらのデプロイメント手順の実行には、正しいディレクトリ構造を使用し、web.xml デプロイメント記述子を含み、必要であれば weblogic.xml デプロイメント記述子も含む、正常に作動する Web アプリケーションを作成していることを前提としています。Web アプリケーションは、アーカイブされた .war ファイルとして、または展開ディレクトリ形式でデプロイできます。詳細については、 ディレクトリ構造を参照してください。

Administration Console を使用した Web アプリケーションのデプロイ

Administration Console を使用して Web アプリケーションをデプロイするには、次の手順に従います。

  1. WebLogic Server の管理サーバを起動します。

  2. WebLogic Server Administration Console を起動します。詳細については、「WebLogic Server 管理の概要」を参照してください。

  3. 左ペインの [デプロイメント] ノードを展開します。

  4. [Web アプリケーション] ノードを右クリックします。

  5. [新しい WebAppComponent のコンフィグレーション] を選択します。

  6. [Path URI] フィールドに、展開ディレクトリへの絶対パスまたは .war ファイルへのパスを入力します。次に例を示します。

    (展開ディレクトリ形式) c:\myApps\myWebApp

    (アーカイブ形式) c:\myApps\myWebApp.war

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

  8. 左ペインの [Web アプリケーション] ノードから新しい Web アプリケーションを選択します。

  9. 右ペインの [対象] タブを選択します。

  10. [サーバ] タブを選択し、適切なサーバを [選択済み] ボックスに移動します。

  11. WebLogic Server のクラスタを使用している場合、[クラスタ] タブを選択し、適切なクラスタを [選択済み] ボックスに移動します。

  12. 仮想ホスティングを使用している場合、[仮想ホスト] タブを選択し、この Web アプリケーションに適用するすべての仮想ホストを対象にします。詳細については、「仮想ホスティングのコンフィグレーション」を参照してください。

  13. [コンフィグレーション] タブを選択して、[一般]、[ファイル]、および [その他] タブで適用する属性をコンフィグレーションします。これらの属性の詳細情報を見るには、疑問符のアイコンをクリックします。

  14. Web ブラウザからリソースをアクセスして、Web アプリケーションをテストします。次のように構築した URL からリソースをアクセスします。

    http://myServer:myPort/myWebApp/resource

    各要素の説明は次のとおりです。

weblogic.deploy ユーティリティを使った Web アプリケーションのデプロイ

weblogic.deploy ユーティリティを使って Web アプリケーションをデプロイするには、次の手順に従います。

  1. WebLogic Server クラスがシステムの CLASSPATH に入り、JDK が利用できるようにローカル環境を設定します。CLASSPATH の設定には、config\mydomain ディレクトリにある setEnv スクリプトを使用できます。

  2. 次のコマンドを入力します。

    % java weblogic.deploy -port port_number -host host_name
    -component application:target deploy password application source

    各要素の説明は次のとおりです。

 


プロダクション モードを有効にした Web アプリケーションの再デプロイ

プロダクション モードを有効にして Web アプリケーションを再デプロイするには、-DProductionModeEnabled=true フラグを指定して WebLogic 管理サーバを起動する必要があります。この機能は WebLogic 管理サーバでは使用できますが、管理対象サーバでは使用できません。詳細については、「WebLogic Server の起動と停止」を参照してください。

管理サーバ上の Web アプリケーションのコンポーネント(サーブレット、JSP、HTML ページなど)を変更するときは、対象になっている管理対象サーバに変更したコンポーネントもデプロイされるように、変更したコンポーネントを更新する追加の手順を実行する必要があります。コンポーネントを更新する 1 つの方法は、Web アプリケーション全体を再デプロイすることです。Web アプリケーションを再デプロイすることは、Web アプリケーションの対象になっている管理対象サーバすべてに、変更したコンポーネントだけではなく Web アプリケーション全体をネットワーク経由で再送信することを意味します。

Web アプリケーションの再デプロイメントでは、次の点に注意してください。

JSP、HTML ファイル、画像ファイルなどの静的ファイルを更新する必要がある場合、weblogic.deploy ユーティリティの更新オプションを使って静的ファイルを更新できます。詳細については、 アプリケーションの再デプロイを利用しない静的コンポーネントの更新を参照してください。

Administration Console を使用した Web アプリケーションの再デプロイ

Administration Console で Web アプリケーションを再デプロイするには、次の手順に従います。

  1. WebLogic Server Administration Console を起動します。

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

  3. [Web アプリケーション] ノードを展開します。

  4. 再デプロイする Web アプリケーション ノードを選択します。

  5. 右ペインの [デプロイ] ボックスの選択を解除します。

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

  7. 右ペインの [デプロイ] ボックスを選択します。

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

注意: Web アプリケーションを再デプロイすると、アクティブな HTTP セッションは失われます。

weblogic.deploy ユーティリティを使った Web アプリケーションの再デプロイ

次のコマンドを入力します。

% java weblogic.deploy -port port_number -host host_name
update password application source

各要素の説明は次のとおりです。

注意: Web アプリケーションを再デプロイすると、アクティブな HTTP セッションは失われます。

アプリケーションの対象になっているサーバ インスタンスの 1 つでそのアプリケーションを更新すると、対象になっているすべてのサーバでアプリケーションが更新されます。たとえば、アプリケーションの対象がクラスタの場合、クラスタ化されたサーバ インスタンスの 1 つでアプリケーションを更新すると、アプリケーションはクラスタの全メンバで更新されます。同様に、クラスタとスタンドアロン サーバ インスタンスがアプリケーションの対象になっている場合は、スタンドアロン サーバのインスタンスでアプリケーションを更新すると、クラスタでもアプリケーションが更新されます。また、逆の場合も同様の処理が行われます。

 


部分的な再デプロイメント

 


アプリケーションの再デプロイを利用しない静的コンポーネントの更新

アプリケーション全体を再デプロイしないでアプリケーションの静的コンポーネントを更新するには、weblogic.refresh ツールを使用します。

管理サーバ上で Web アプリケーションの静的ファイルを更新する場合、ファイルは管理対象サーバ上の Web アプリケーションに自動的にはコピーされません。しかし、weblogic.refresh を使えば、次のような静的ファイルの更新、追加、または削除を行うことができます。

各 JSP はそれ自体のクラスローダによってロードされるので、JSP を更新するために Web アプリケーションを再デプロイする必要はありません。Web アプリケーションのクラスローダは、JSP 個別のクラスローダの親です。

このユーティリティには以下の制限があることに注意してください。

静的ファイルを更新するには、次の手順に従います。

  1. WebLogic Server クラスがシステムの CLASSPATH に入り、JDK が利用できるように開発環境を設定します。環境の設定には、config\mydomain ディレクトリにある setEnv スクリプトを使用できます。

  2. 次の形式でコマンドを入力します。

    % java weblogic.refresh -url -username -password -application -component -files -delete -root

    各要素の説明は次のとおりです。

 


Web アプリケーションのアンデプロイ

Web アプリケーションをアンデプロイすると、コンフィグレーションには何ら影響はありませんが、Web アプリケーションはクライアントからのリクエストに応答できなくなります。Web アプリケーションは、Administration Console または weblogic.deploy ユーティリティを使用してアンデプロイできます。

Administration Console を使用した Web アプリケーションのアンデプロイ

Administration Console を使用して Web アプリケーションをアンデプロイするには、次の手順に従います。

  1. Administration Console を起動します。

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

  3. [Web アプリケーション] ノードを展開します。

  4. アンデプロイする [Web アプリケーション] ノードを選択します。

  5. 右ペインの [コンフィグレーション] タブを選択します。

  6. [デプロイ] ボックスの選択を解除します。

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

weblogic.deploy ユーティリティを使った Web アプリケーションのアンデプロイ

weblogic.deploy ユーティリティを使って Web アプリケーションをアンデプロイするには、次の手順に従います。

  1. WebLogic Server クラスがシステムの CLASSPATH に入り、JDK が利用できるように開発環境を設定します。CLASSPATH の設定には、config\mydomain ディレクトリにある setEnv スクリプトを使用できます。

  2. 次のコマンドを入力します。

    % java weblogic.deploy -port port_number -host host_name
    undeploy password application source

    各要素の説明は次のとおりです。

 


Web アプリケーションの削除

Web アプリケーションの削除とは、ドメイン コンフィグレーションから Web アプリケーションのコンフィグレーション情報すべてを削除し、Web アプリケーションをクライアントからのリクエストに応答できなくすることです。Web アプリケーションは、Administration Console または weblogic.deploy ユーティリティを使用して削除できます。

Web アプリケーションを削除しても、ファイル システムから Web アプリケーションが削除されるわけではありません。

Web アプリケーションの applications ディレクトリからの削除

(WebLogic Server を -DProductionModeEnabled=false フラグで起動した)開発モードで WebLogic Server を稼働している場合、applications ディレクトリの Web アプリケーションを削除するには、applications ディレクトリから Web アプリケーションを含むディレクトリまたはアーカイブを物理的に削除する必要があります。

Administration Console を使用した Web アプリケーションの削除

Administration Console を使用して Web アプリケーションを削除するには、次の手順に従います。

  1. WebLogic Server Administration Console を起動します。詳細については、「WebLogic Server 管理の概要」を参照してください。

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

  3. [Web アプリケーション] ノードを選択します。

  4. 右ペインで、削除する Web アプリケーションの名前の隣にあるごみ箱アイコンをクリックします。本当に削除するかどうかを確認するプロンプトが表示されます。

  5. [はい] をクリックします。

weblogic.deploy ユーティリティを使った Web アプリケーションの削除

weblogic.deploy ユーティリティを使って Web アプリケーションを削除するには、次の手順に従います。

  1. WebLogic Server クラスがシステムの CLASSPATH に入り、JDK が利用できるように開発環境を設定します。CLASSPATH の設定には、config\mydomain ディレクトリにある setEnv スクリプトを使用できます。

  2. 次のコマンドを入力します。

    % java weblogic.deploy -port port_number -host host_name
    delete password application

    各要素の説明は次のとおりです。

 


エンタープライズ アプリケーションの一部としての Web アプリケーションのデプロイ

エンタープライズ アプリケーションは、Web アプリケーション、EJB、およびリソース アダプタを単一のデプロイ可能なユニットにバンドルする J2EE デプロイメント ユニットです。詳細については、「WebLogic Server J2EE アプリケーションのパッケージ化」を参照してください。エンタープライズ アプリケーションの一部として Web アプリケーションをデプロイすると、WebLogic Server が Web アプリケーション用のリクエストを解決するときに、Web アプリケーションの実際の名前の代わりに使う文字列を指定することができます。エンタープライズ アプリケーション用の application.xml デプロイメント記述子の <context-root> 要素に新しい名前を指定します。詳細については、「application.xml デプロイメント記述子の要素」を参照してください。

たとえば、oranges という Web アプリケーションでは、多くの場合、次のような URL で oranges Web アプリケーションのリソースを要求します。

http://host:port/oranges/catalog.jsp

oranges Web アプリケーションがエンタープライズ アプリケーションにパッケージ化された場合、次の例で示す <context-root> に値を指定できます。

<module>
<web>
<web-uri>oranges.war</web-uri>
<context-root>fruit</context-root>
</web>
</module>

その結果、次の URL を使用して、oranges Web アプリケーションの同じリソースにアクセスできます。

http://host:port/fruit/catalog.jsp

注意: 1 つのエンタープライズ アプリケーションでは、複数の名前で 1 つの Web アプリケーションをデプロイすることはできません。ただし、それぞれの Web アプリケーションが異なるエンタープライズ アプリケーションにパッケージ化されている場合には、複数の名前で同一の Web アプリケーションをデプロイできます。

 


スタンドアロン Web アプリケーションのデプロイ

Web アプリケーションがスタンドアロンである場合は、weblogic.xml ファイルの context-root 要素を使って、Web アプリケーションのコンテキスト ルートを指定できます。Web アプリケーションが EAR の一部である場合は、EAR の application.xml ファイルでコンテキスト ルートを指定します。application.xml ファイルにおける context-root の設定の方が、weblogic.xml での context-root の設定より優先されます。 context-root 要素を参照してください。

 

back to top previous page next page