Skip navigation.

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

  前 次 前と次、目次/インデックス/pdf を分けるコロン 目次  

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

対象環境を設定し、アプリケーションをデプロイする準備が整ったら、最後の手順として、アプリケーションを対象環境にデプロイします。

この節では、以下のトピックを取り上げます。

 


デプロイメント ユニットについて

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

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

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

状況によっては、アプリケーション内の個々のモジュールを異なる対象にデプロイする必要がある場合があります。たとえば、WebLogic Platform の複数のコンポーネントを組み合わせている WebLogic Platform をデプロイする場合です。これらのモジュールやアプリケーションを割り当てる場合に重要な考慮事項について、この節で説明します。

 


デプロイメント ツールの概要

次の表に、WebLogic Platform で利用できるデプロイメント ツールの一覧を示します。これらのツールを使用して、アプリケーションをデプロイ、再デプロイ、アンデプロイ、配布することができます。

表 8-1 WebLogic Platform のデプロイメント ツール 

ツール

説明

WebLogic Server Administration Console

ブラウザを使用して、対話形式で基本的なデプロイメント機能を実行する。このデプロイメント方法は、デプロイメント ユニット、対象サーバ、またはデプロイされたアプリケーションの正確な名前がわからない場合に便利である。WebLogic Server Administration Console を使用してアプリケーションをデプロイする方法の詳細については、『WebLogic Server のコンフィグレーションと管理』を参照。

weblogic.Deployer

コマンドライン ベースのインタフェースを使用して、デプロイメントの基本的なタスクおよび高度なタスクの両方を実行できる。weblogic.Deployer を使用すると、シェル スクリプトやバッチ処理を使ってデプロイメント タスクを自動化できる。詳細については、『WebLogic Server アプリケーションのデプロイメント』の「デプロイメント ツールのリファレンス」を参照。

wldeploy

weblogic.Deployer ユーティリティの Ant タスク バージョンである。wldeploy を使用してデプロイメント タスクを自動化するには、コマンドを Ant の build.xml ファイルに配置し、Ant でそのコマンドを実行する。詳細については、『WebLogic Server アプリケーションのデプロイメント』の「デプロイメント ツールのリファレンス」を参照。


 

 


デプロイメントに関する考慮事項

ここでは、プロダクション環境にデプロイする場合の考慮事項について説明します。具体的な項目は次のとおりです。

注意 : カスタマ サポートの Web サイトには、アプリケーションのデプロイメントに関する一般的な考慮事項とトラブルシューティングに関するヒントが用意されています。詳細については、http://support.bea.com/support_news/product_troubleshooting/Deployment_Pattern.html にある『Troubleshooting Deployment Issues』を参照してください。

アーカイブ タイプ

アプリケーションは、単一のアーカイブ EAR ファイルまたは展開されたアーカイブ ディレクトリとして格納できます。考慮事項を確認する場合は、『WebLogic Server アプリケーションのデプロイメント』の「デプロイメント ファイル」を参照してください。

アプリケーションの割り当て

アプリケーションの割り当て方法は、アプリケーションのタイプによって異なります。

詳細については、『WebLogic Server アプリケーションのデプロイメント』に記載されている次の節を参照してください。

セキュリティ ロール

デフォルトの認証プロバイダには、ユーザが WebLogic Server Administration Console を使用してデプロイメント タスクを実行できるように、AdminDeployer という 2 つの組み込みセキュリティ ロールが用意されています。

さらに、カスタム認証プロバイダを作成し、追加のセキュリティ ロールを定義することで環境のセキュリティを強化する必要がある場合もあります。アプリケーションで必要なロールをすべて作成してから、アプリケーションをデプロイすることをお勧めします。詳細については、「セキュリティのコンフィグレーション」を参照してください。

ステージング モード

次の表に、デプロイメント ユニットを対象サーバでどのように利用できるようにするかを定義するステージング モードの一覧を示します。ステージング モード、およびどういう場合に使用するかに関する推奨事項の詳細については、『WebLogic Server アプリケーションのデプロイメント』の「ステージング モード」を参照してください。

表 8-2 ステージング モード 

ステージング モード

説明

nostage モード

デプロイメント ユニットは、同じ物理コピーを使用してデプロイされる。これらのデプロイメント ユニットは、(たとえば、共有ディレクトリを介して) 管理サーバと対象サーバからアクセスできる必要がある。この場合、管理サーバはデプロイメント ユニット ファイルを対象サーバにコピーしない。このモードは、非常に大きなデプロイメントを複数の対象にデプロイする場合と、デプロイメントを動的に更新する必要がある場合に有用である。これは、管理サーバのデフォルト ステージング モードである。

stage モード

管理サーバはデプロイメント ユニット ファイルを対象サーバのステージング ディレクトリにコピーし、そのローカル コピーを使用してデプロイする。このモードは中小規模のアプリケーションをデプロイする場合に有用であり、元のコピーにアクセスできない場合にシングル ポイント障害を防止できる。これは、管理対象サーバのデフォルト ステージング モードである。

external_stage モード

external_stage モードでは、デプロイメント ユニットを正しいステージング ディレクトリに手動でコピーしてからデプロイする必要がある。このステージング モードは、デプロイメント ファイルの対象サーバへの配布を手動で制御するデプロイメントで使用する。このモードを使用すると、デプロイメント ユニット情報が動的に更新されないようになる。この場合、管理サーバは検証のために元 (マスタ) のデプロイメント ユニットにアクセスする。


 


 

ロード順

ロード順は、[ロード順] 属性で決まります。デフォルトでは、各デプロイメント ユニットのロード順は 100 にコンフィグレーションされます。[ロード順] の値が同じデプロイメントは、デプロイメント名のアルファベット順にデプロイされます。

ロード順は、WebLogic Server Administration Console または ApplicationMBean を使用して変更できます。変更方法の詳細、およびアプリケーション モジュールや起動クラスの順序のコンフィグレーションについては、『WebLogic Server アプリケーションのデプロイメント』の「デプロイ順」を参照してください。

デプロイメント記述子

アプリケーション アーカイブの内容を変更することなく、実行時デプロイメント コンフィグレーションを調整する場合に、アプリケーションの外部にステージングされる代替デプロイメント記述子を使用できます。標準 J2EE (application.xml) や WebLogic Server (weblogic-application.xml) デプロイメント記述子の代わりに代替デプロイメント記述子を指定できます。

詳細については、『WebLogic Server アプリケーションのデプロイメント』の「代替デプロイメント記述子によるエンタープライズ アプリケーションのデプロイ」を参照してください。

 


アプリケーションをデプロイする手順

ここでは、アプリケーションを対象環境にデプロイするのに必要な手順を説明します。具体的には次のとおりです。

注意 : 対象環境にデプロイする前に、次の節の説明に従って、対象環境とアプリケーションの準備を必ず完了させてください。

手順 1: サーバを起動する

管理サーバと管理対象サーバがまだ稼働していない場合は、「サーバの起動」の説明に従って起動します。

手順 2: アプリケーションを管理サーバにアップロードする (省略可能)

アプリケーションをドメイン内のサーバにデプロイするには、ドメイン内の管理サーバからファイルにアクセスできる必要があります。特に、これらのファイルは管理サーバ マシンに存在するか、ネットワークにマウントされたディレクトリを経由してアクセスできる必要があります。詳細については、『WebLogic Server アプリケーションのデプロイメント』の「一般的なデプロイメント タスクの実行」の「管理サーバへのデプロイメント ファイルのアップロード」を参照してください。

手順 3: アプリケーションをデプロイする

アプリケーションをデプロイする手順は、アプリケーション タイプによって異なります。WebLogic Platform および WebLogic Portal アプリケーションでは、特別なデプロイメント シーケンスが必要になります。

次の節では、アプリケーション タイプに基づいてアプリケーションをデプロイする手順を説明します。

WebLogic Integration、WebLogic Server、または WebLogic Workshop アプリケーションのデプロイメント

デプロイメント ツールの概要」で説明されているデプロイメント ツールのいずれかを使用して、WebLogic Integration、WebLogic Server、または WebLogic Workshop アプリケーションをデプロイします。割り当てなど、デプロイメントに関する考慮事項については、「デプロイメントに関する考慮事項」を参照してください。

WebLogic Platform または WebLogic Portal アプリケーションのデプロイメント

WebLogic Portal アプリケーションや WebLogic Platform アプリケーションの Portal モジュールは、2 段階のデプロイメント プロセスでデプロイします。WebLogic Portal アプリケーションや Portal モジュールは、まず単一のサーバにデプロイしてから、クラスタにデプロイする必要があります。

WebLogic Platform や WebLogic Portal アプリケーションをデプロイするには

  1. まず、WebLogic Portal アプリケーションや WebLogic Platform アプリケーションの Portal モジュールを管理サーバのみにデプロイします。
  2. WebLogic Portal や WebLogic Platform アプリケーションをクラスタにデプロイします。
  3. 割り当てなど、デプロイメントに関する考慮事項については、「デプロイメントに関する考慮事項」を参照してください。

注意 : まだクラスタが稼働していない場合には、遅延デプロイメントを利用できます。遅延デプロイメントを開始するには、WebLogic Portal アプリケーションや WebLogic Platform アプリケーションの Portal モジュールを管理サーバとクラスタにデプロイし、その他のアプリケーションやモジュールはすべてクラスタのみにデプロイします。次に、「管理対象サーバの起動」の説明に従って、管理対象サーバを起動します。この時点で、クラスタにデプロイされたアプリケーションは自動的にデプロイされます。遅延デプロイメントの利点は、WebLogic Portal アプリケーションやモジュールを一回だけデプロイすればよいということです。

手順 4: イベント ジェネレータをデプロイする

アプリケーションでイベント ジェネレータを使用する場合は、WebLogic Integration Administration Console を使ってデプロイする必要があります。イベント ジェネレータのデプロイメントの詳細については、『WebLogic Integration ソリューションの管理』の「イベント ジェネレータ」の「イベント ジェネレータの作成およびデプロイメント」を参照してください。

 


サーバの起動

管理サーバと管理対象サーバは、次の節の説明に従って起動できます。

サーバを起動する前に

サーバを起動する前に、次のタスクを実行します。

  1. 管理対象サーバのディレクトリを設定する」の説明に従って、管理対象サーバを設定します。
  2. ノード マネージャを使用する場合
    1. ノード マネージャをコンフィグレーションする」の説明に従って、ノード マネージャをコンフィグレーションします。
    2. 次のいずれかの方法で、各マシンのノード マネージャを起動します。
  3. WebLogic Platform または WebLogic Portal アプリケーションの場合は、サーバを起動する前に、デフォルトのメモリ サイズを最低でも 512 MB に増やすことを検討してください。そうするには、ドメイン ディレクトリにある setDomainEnv スクリプト内の MEM_ARGS 変数への参照を次のようにすべて更新します。
  4. ノード マネージャを使用して管理対象サーバを管理している場合は、「管理対象サーバの起動属性をコンフィグレーションする」の説明に従って、Arguments ServerStart 属性を使用します。

管理サーバの起動

管理サーバを起動するには

  1. ドメインを作成したコンピュータでシェル (コマンド プロンプト) を開きます。
  2. ドメインを作成したディレクトリに移動します。
  3. 例 : BEA_HOME\user_projects\domains\domain-name。ここで、BEA_HOME は WebLogic Platform 8.1 のインストール先ディレクトリで、domain-name はドメイン名です。

  4. 利用可能な起動スクリプトを実行します。
  5. 例 :

    Windows: startWebLogic.cmd
    UNIX: startWebLogic.sh

    注意 : WebLogic Platform で用意されているコンフィグレーション ウィザード テンプレートを使用した場合、起動スクリプトは通常、startWebLogic という名前でドメイン ディレクトリにあります。

管理サーバの詳細については、Administration Console オンライン ヘルプの「管理サーバの起動」を参照してください。

管理対象サーバの起動

次のいずれかの方法で管理対象サーバを起動します。

 


例 : weblogic.Deployer と Ant を使用して WebLogic Integration アプリケーションをデプロイする方法

次の例は、Ant ビルド ファイルから抜粋したコードであり、weblogic.Deployer を使用して、「単一クラスタ Platform ドメインの例」に示されているような単一クラスタ ドメインに WebLogic Integration アプリケーションを自動的にデプロイする方法を示しています。

次の節では、アプリケーションを対象ドメインにデプロイするプロセスの手順を示します。

Ant スクリプトのプロパティを定義する

さまざまな対象環境における自動化やスクリプトの再利用を容易にするには、コードで ${cluster.name} などのプロパティを参照するようにします。これらの参照は Ant スクリプトにインポートされるプロパティ ファイルで解決されます。たとえば、次のプロパティは別個のプロパティ ファイル myprops.properties で定義されます。

deploy.dir=deploy
cluster.name=platformcluster
admin.addr=myhost
admin.port=9301
admin.username=username
admin.password=password

このファイルは、Ant ビルド ファイルで次のように参照されます。

<property file="myprops.properties"/>

メイン Ant ターゲットを定義する

次の構文は、WebLogic Integration アプリケーションのメイン Ant ターゲットを定義します。対象の値は、太字で示しています。deploy-app 対象は以下で記述します。

  <target name="deploy-IntApp">
<antcall target="deploy-app">
<param name="app.name" value="IntApp" />
<param name="app.src" location="${deploy.dir}/IntApp.ear" />
<param name="app.target" value="${cluster.name}" />
<param name="admin.url" value="http://${admin.addr}:${admin.port}" />
</antcall>
</target>

デプロイメント Ant ターゲットを定義する

上記の Ant ターゲットで参照している deploy-app 対象は、次のように weblogic.Deployer コマンドを使用してアプリケーションをデプロイします。

<target name="deploy-app">
<java classname="weblogic.Deployer"
fork="true" failonerror="true">
<arg value="-adminurl"/><arg value="${admin.url}"/>
<arg value="-username"/><arg value="${admin.username}"/>
<arg value="-password"/><arg value="${admin.password}"/>
<arg value="-name"/><arg value="${app.name}"/>
<arg value="-source"/><arg value="${app.src}"/>
<arg value="-targets"/><arg value="${app.target}"/>
<arg value="-deploy"/>
</java>

WebLogic Integration アプリケーションをデプロイする

WebLogic Integration アプリケーションを「単一クラスタ Platform ドメインの例」で示されているような単一のドメインにデプロイするには

  1. アプリケーションをデプロイする手順」の説明に従って、管理サーバと管理対象サーバを起動します。
  2. メイン Ant ターゲットを使用して、次のように WebLogic Integration アプリケーションをデプロイします。
  3. ant deploy-IntApp

 


例 : weblogic.Deployer と Ant を使用して WebLogic Platform、WebLogic Portal、および WebLogic Integration アプリケーションをデプロイする方法

次の例は、Ant ビルド ファイルから抜粋したコードであり、weblogic.Deployer を使用して、「単一クラスタ Platform ドメインの例」に示されているような単一クラスタ ドメインにアプリケーションを自動的にデプロイする方法を示しています。

特に、この例では次の 3 つのアプリケーションをプロダクション環境にデプロイします。

次の節では、アプリケーションを対象ドメインにデプロイするプロセスの手順を示します。

Ant スクリプトのプロパティを定義する

さまざまな対象環境における自動化やスクリプトの再利用を容易にするには、コードで ${cluster.name} などのプロパティを参照するようにします。これらの参照は Ant スクリプトにインポートされるプロパティ ファイルで解決されます。たとえば、次のプロパティは別個のプロパティ ファイル myprops.properties で定義されます。

cluster.name=platformcluster
admin.name=cgServer

このファイルは、Ant ビルド ファイルで次のように参照されます。

<property file="myprops.properties"/>

Ant ターゲットを定義する

手順 3: アプリケーションをデプロイする」の説明に従って、WebLogic Platform や WebLogic Portal アプリケーションを 2 段階のデプロイメント プロセスでデプロイします (遅延デプロイメントを使用していない場合)。

  1. まず、WebLogic Portal アプリケーションと WebLogic Platform アプリケーションの Portal モジュールを管理サーバのみにデプロイします。
  2. WebLogic Platform や WebLogic Portal アプリケーションをクラスタにデプロイします。

たとえば、次のコードは、上記の手順 1 を実行するための「最初の」Ant ターゲットを定義します。対象の値は、太字で示しています。deploy-PlatApp-first では、モジュールレベルの割り当てを使用して、WebLogic Platform アプリケーションの WebLogic Portal モジュールを管理サーバにのみ割り当て、WebLogic Integration モジュールはクラスタに割り当てていることに注目してください。

注意 : 次の Ant ターゲットで参照されている deploy-app 対象は、「デプロイメント Ant ターゲットを定義する」で定義しています。

WebLogic Integration アプリケーションの「最初」の Ant ターゲットは定義する必要がありません。2 段階のデプロイメント プロセスを必要としないからです。

  <target name="deploy-PlatApp-first">
<antcall target="deploy-PlatApp">
<param name="app.target" value="p13n_ejb.jar@${admin.name},PortIntAppDatasync@${admin.name},\
.workshop/PortIntAppWeb/EJB/GenericStateless@${cluster.name},\
.workshop/PortIntAppWeb/EJB/Allocate_1trtqtoxcz4uv@${cluster.name},\
.workshop/PortIntAppWeb/EJB/ProjectBeans@${cluster.name},PortIntAppWeb@${cluster.name}
"
/>
</antcall>
</target>
  <target name="deploy-PortApp-first">
<antcall target="deploy-PortApp">
<param name="app.target" value="${admin.name}" />
</antcall>
</target>

次のコードは、上記の手順 2 を実行するためのメイン Ant ターゲットを定義します。対象の値は、太字で示しています。WebLogic Portal および WebLogic Platform アプリケーションがクラスタに割り当てられることに注目してください。上記で説明した「最初の」Ant ターゲットによって、管理サーバにはすでに割り当てられるからです。

注意 : WebLogic Integration アプリケーションのメイン Ant ターゲットは、「メイン Ant ターゲットを定義する」で定義しています。

 <target name="deploy-PlatApp">
<antcall target="deploy-app">
<param name="app.name" value="PlatApp" />
<param name="app.src" location="${deploy.dir}/PortIntApp.ear" />
<param name="app.target" value="${cluster.name}" />
<param name="admin.url" value="http://${admin.addr}:${admin.port}" />
</antcall>
</target>
  <target name="deploy-PortApp">
<antcall target="deploy-app">
<param name="app.name" value="PortApp" />
<param name="app.src" location="${deploy.dir}/PortApp.ear" />
<param name="app.target" value="${cluster.name}" />
<param name="admin.url" value="http://${admin.addr}:${admin.port}" />
</antcall>
</target>

デプロイメント Ant ターゲットを定義する

2 つのデプロイメント Ant ターゲットを以下で定義します。1) 「最初」の Ant ターゲットを実行して WebLogic Portal アプリケーションと WebLogic Platform の Portal モジュールを管理サーバだけにデプロイする定義と、2) WebLogic Portal、WebLogic Platform、および WebLogic Integration アプリケーションをクラスタにデプロイする 2 番目の定義です。

  <target name="deploy-apps-first"
depends="
deploy-PlatApp-first,
deploy-PortApp-first
/>
  <target name="deploy-apps"
depends="
deploy-PlatApp
deploy-PortApp
deploy-IntApp
/>

WebLogic Platform、WebLogic Portal、および WebLogic Integration アプリケーションをデプロイする

アプリケーションを「単一クラスタ Platform ドメインの例」で示されているような単一のドメインにデプロイするには

  1. アプリケーションをデプロイする手順」の説明に従って、管理サーバと管理対象サーバを起動します。
  2. まず、次のように「最初」の Ant ターゲットを使用して、WebLogic Portal および WebLogic Platform アプリケーションをデプロイします。
  3. ant deploy-apps-first
  4. 次のようにメイン Ant ターゲットを使用してアプリケーションをデプロイします。
  5. ant deploy-apps

 

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