Skip navigation.

プロダクション業務ユーザーズ ガイド

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

EAR ファイルの準備とデプロイ

この章では、アプリケーションのエンタープライズ アーカイブ (EAR) ファイルを準備してデプロイする手順について説明します。

注意 : WebLogic Portal では、クラスタまたはスタンドアロンのサーバ コンフィグレーションへのデプロイメントのみがサポートされています。クラスタ化されていない管理対象サーバへの WebLogic Portal アプリケーションのデプロイメントはサポートされていません。

この章では、以下のトピックについて説明します。

 


EAR ファイルのデプロイの準備

プロダクション環境でポータルをオンラインにするには、まず、ポータル アプリケーションを準備する必要があります。一般的な準備手順には、製品のデプロイメント記述子の変更、関連するすべてのコンパイル済みクラスを使用したエンタープライズ アーカイブ (enterprise archive : EAR) のビルド、その EAR をアーカイブに圧縮するかどうかの決定などが含まれます。

ポータル アプリケーションのデプロイメント記述子のコンフィグレーション

J2EE アプリケーションと同様に、ポータル アプリケーションにも、プロダクション環境に合わせて調整できるデプロイメント記述子があります。

アプリケーションのデプロイメント記述子を変更する

ポータル アプリケーションの場合は、/META-INF ディレクトリに一連のデプロイメント記述子が格納されています。たとえば、キャッシュのコンフィグレーション、行動追跡、キャンペーン、コマースの税金などの設定を定義するポータル固有のデプロイメント記述子 application-config.xml などがあります。プロダクション環境に必要なこれらの値が既存の開発環境の設定と異なる場合は、ポータル アプリケーションをビルドする前に、このファイルを適宜変更します。

Web アプリケーションのデプロイメント記述子を変更する

ポータル Web アプリケーションの場合は、/WEB-INF ディレクトリに、プロダクション環境に合わせて変更できる一連のデプロイメント記述子が格納されています。

WebLogic Workshop デプロイメント記述子を変更する

WebLogic Workshop には、Web サービスを開発する場合に重要なデプロイメント記述子が他にもあります。これらの記述子の詳細については、「WebLogic Workshop の内側」を参照してください。

コンテンツ管理リポジトリの作成

アプリケーションを EAR ファイルにパッケージ化する前に、WebLogic Administration Portal を使用して、アプリケーションで使用するコンテンツ管理リポジトリを作成します。つまり、ルート リポジトリのみを作成し、コンテンツ ノードとコンテンツ項目は作成しません。リポジトリを作成したら、application-config.xml デプロイメント記述子に登録します。アプリケーション EAR を作成すると、application-config.xml は読み込み専用となり、EAR 内での変更ができません。つまり、アプリケーションが EAR ファイル内にある場合、WebLogic Administration Portal でリポジトリを追加または削除することができません。

リポジトリの作成については、「新しいリポジトリ接続を追加する」を参照してください。

実行時 JVM を使用したコンパイル

プロダクション環境で特定の Java 仮想マシン (Java Virtual Machine : JVM) を使用する場合は、その JVM の JDK を使用して EAR アプリケーションをコンパイルした方がよいでしょう。JVM を WebLogic Workshop プロジェクト向けに変更するには、[ツールアプリケーション プロパティ] で [WebLogic Server] を選択し、使用する JDK ホーム (ルート ディレクトリ) のパスを指定します。

WebLogic Workshop を使用したポータル アプリケーションのビルド

ポータル アプリケーションをプロダクション環境にデプロイするには、まず WebLogic Workshop でそのアプリケーションをビルドして、ポータル アプリケーション内の必要なクラスをコンパイルする必要があります。次の 2 つの方法があります。

コマンドラインでのビルド

ポータル アプリケーションは、コマンドラインで wlwBuild コマンドを使用してビルドできます。このコマンドを使用すると、アプリケーションのビルド プロセスをより簡単に自動化できます。詳細については、「wlwBuild コマンド」を参照してください。

 


新規アプリケーションの EAR のデプロイ

この節では、ポータル アプリケーションの最初のデプロイメントの手順について説明します。

この時点で、ポータル アプリケーションのクラスタへのデプロイメントが可能になります。まず、.ear ファイル (非圧縮 EAR) を管理サーバのファイル システムに配置する必要があります。アプリケーションを変更したときに再デプロイが容易になるよう、このファイルは、アプリケーションのデプロイに常に使用するわかりやすい場所 (管理ドメインのルート ディレクトリなど) に配置します。

管理サーバおよび管理対象サーバへアプリケーションを最初にデプロイする手順、および管理対象サーバを起動する順序は、シナリオによって異なります。表 5-1 では、デプロイメントおよび起動の手順を、シナリオ別に説明します。

表 5-1 最初のデプロイメントおよび起動のシナリオ 

シナリオ

デプロイメントおよび起動の手順

アプリケーションをデプロイしたことがなく、管理サーバのみが稼動している — アプリケーションでコマースが使用されない (アプリケーションのルート ディレクトリに commerce*.jar ファイルがない)

    1. EAR (圧縮または非圧縮) が、管理サーバ上の必要な場所にあることを確認する。

    2. 管理サーバを起動する。

    3. WebLogic Server Administration Console を起動し (http://adminserver:port/console)、[デプロイメントアプリケーション] を選択する。

    4. [新しいアプリケーションのデプロイ] をクリックし、ファイル システムからアプリケーションのアーカイブを選択する。対象アプリケーションをクリックする。

    5. アプリケーションを管理サーバおよびクラスタに割り当てる。

    6. アプリケーションをデプロイする。

    7. デプロイメントが完了したら、並行 (同時) など、任意の方法で管理対象サーバを起動する。

アプリケーションをデプロイしたことがなく、管理サーバのみが稼動している — アプリケーションでコマースが使用されている (アプリケーションのルート ディレクトリに commerce*.jar ファイルがある)

上記のデプロイメント手順を、最後の手順を除いて実行する。管理対象サーバを起動するときは、最初に 1 つだけ起動する。最初の管理対象サーバが起動した後に、残りの管理対象サーバを並行して起動できる。

管理サーバとクラスタが稼動している (コマースの使用、不使用は問わず)

    8. EAR (圧縮または非圧縮) が、管理サーバ上の必要な場所にあることを確認する。

    9. 管理サーバ上の WebLogic Server Administration Console (http://adminserver:port/console) で、[デプロイメントアプリケーション] を選択する。

    10. [新しいアプリケーションのデプロイ] をクリックし、ファイル システムからアプリケーションのアーカイブを選択する。対象アプリケーションをクリックする。

    11. アプリケーションを管理サーバにのみ割り当てる。

    12. 管理サーバ上にアプリケーションをデプロイする。

    13. デプロイメントが完了したら、[デプロイメントアプリケーション|アプリケーション名] を選択する。

    14. [対象] タブで、管理サーバおよびクラスタを割り当てて、[適用] をクリックする。

    15. [デプロイ] タブで、アプリケーションを再デプロイする。


 

ほとんどのコンポーネントは、クラスタと共に管理サーバにも割り当てる必要があります。次の例外があります。

管理サーバやクラスタには、このような完全なデプロイメントが必要であり、これが唯一サポートされているコンフィグレーションです。WebLogic Portal のアプリケーション設計には、クラスタ化固有の課題がいくつかあり、ポータル アプリケーションをクラスタ環境で適切かつ最適に実行できるようにするには、これらの課題を解決する必要があります。上記の完全な割り当て方法は、このような設計上の課題を解決するための 1 つの方法です。

管理サーバおよびクラスタ上にデプロイするモジュールの数を減らす場合は、デプロイメント手順で [各モジュールの割り当て] をクリックして、管理サーバから AppNameAdmin の割り当てを解除し、クラスタから AppNameDatasync の割り当てを解除します。

ポータル アプリケーションは管理サーバにデプロイする必要がありますが、管理サーバがポータル アプリケーションのページ操作を提供するために使用されることは、一般的にはありません。

対象設定デプロイメントの使用

上記の手順では、個々のモジュールを管理サーバやクラスタに割り当てるのではなく、デプロイメント用にアプリケーション全体を割り当てました。これは推奨されるデプロイメント方法です。管理サーバにもクラスタにも、ほとんどすべてのモジュールをデプロイする必要があるため、モジュールを個々に割り当てても、パフォーマンスやディスク容量に関してそれほど大きなメリットがあるわけではありません。

ただし、何らかの理由で対象設定デプロイメントを使用する場合は、以下の推奨事項に従ってください。簡単な方法から難しい方法の順に示してあります。

管理対象サーバの起動

管理対象サーバを起動するシーケンスは重要であり、アプリケーションのデプロイメント状態によって異なります。どの起動シーケンスを使用するかについては、表 5-1 を参照してください。

新しいアプリケーションや更新されたアプリケーションをデプロイしない場合は、管理対象サーバをすべて並行して (同時に) 起動できます。

管理対象サーバを起動して管理サーバにバインドするには、Node Manager を使用する方法も含め、多数の方法があります。初期設定では、ドメインのルート ディレクトリにある startManagedWebLogic スクリプトを使用した方がよい場合があります。このスクリプトは、このサーバ インスタンスの管理対象サーバ名および管理サーバの URL を指定すると実行できます。スクリプトを起動する前に、これを編集して、管理対象サーバのデフォルトのメモリ容量を増やす必要があります。これには、新しい MEM_ARGS 設定を指定します。たとえば、メモリ割り当てを -Xms512m -Xmx512m に変更します。

管理対象サーバを起動したら、管理対象サーバ インスタンス上で適切な URL を表示することで、ポータル アプリケーションをブラウズできます。セッション フェイルオーバーのサポートのみでなく、クラスタへのシングル エントリ ポイントもユーザに提供するには、プロキシ サーバをコンフィグレーションする必要があります。

プロキシ サーバのコンフィグレーション

WebLogic Server のプロキシ プラグインをコンフィグレーションする手順については、「プロキシ プラグインをコンフィグレーションする」を参照してください。

プロキシ プラグインの設定時には、WebLogic Portal 固有のコンフィグレーション タスクはありません。

解決されない URL のトラブルシューティング

プロキシ サーバを使用したり、非セキュアなポートとセキュアなポートの間で切り替えているとき、{url:port} または {url:securePort} 変数を使用している場合は URL が解決されないことがあります。これは、その値に対する変数がリクエストから読み込まれるためです。たとえば、非セキュアな ポート (ポート番号 80) にいるユーザが {url:securePort} 変数を使用する URL テンプレートで作成されたセキュアな https リンクをクリックすると、request (80) というポート番号が {url:securePort} 変数に対して使用されますが、これは非セキュアなポートでセキュア リクエスト (https) を作成します。プロキシ サーバ (ポート 80) にいるユーザがプロキシ サーバ (ポート 443) の外にあるリソースへのリンクをクリックした場合も同様です。

どちらの場合も、正しく解決される URL を取得するように、URL テンプレートにポート番号をハード コーディングする必要があります。

URL テンプレートの使用の詳細については、http://edocs.beasys.co.jp/e-docs/workshop/docs81/doc/ja_JP/portal/buildportals/url.html の「ポータル リソースへの URL を作成する」を参照してください。

 


ポータル アプリケーションのクラスタへのデプロイ

この節では、ユーザ プロファイルのプロパティ、ユーザ セグメント、コンテンツ セレクタ、キャンペーン、割引などのプロパティ セットが含まれる datasync データの再デプロイメント、部分的な再デプロイメント、および反復的なデプロイメントの手順について説明します。

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

次の手順に従って、アプリケーションを再デプロイします。

  1. 管理サーバ上の WebLogic Server Administration Console (http://adminserver:port/console) で、[デプロイメントアプリケーション] を選択します。
  2. デプロイ済みアプリケーションのリストで、再デプロイするアプリケーションの隣にあるごみ箱形のアイコンをクリックします。これで、現行バージョンのアプリケーションがアンデプロイされます。
  3. アンデプロイ後 (アプリケーション リストからアプリケーション名が消えたとき) に、ファイル システムで、EAR を更新後のアプリケーションに置き換えます。
  4. アプリケーションを再デプロイして、管理サーバおよびクラスタに割り当てます。
  5. datasync ファイルを更新済みの場合は、Propagation ユーティリティを実行します。datasync ファイルの内容および使用方法の詳細については、「Datasync Web アプリケーションの使用」を参照してください。

weblogic.Deployer を使用したポータル アプリケーションの再デプロイ

更新されたポータル アプリケーションをプロダクション サーバに再デプロイするには、WebLogic Server Administration Console または weblogic.Deployer ツールを使用します。「weblogic.Deployer ユーティリティ」を参照してください。

コード リスト 5-1」のバッチ ファイルは、weblogic.Deployer を使用してポータル アプリケーションをプロダクションに再デプロイする例を示しています。

コード リスト 5-1 weblogic.Deployer を呼び出すバッチ ファイル

@echo off
echo Redeploys a Portal Web Project to a Server or Cluster
echo First Parameter is the name of the Server or Cluster
echo Second Parameter is the name of the Application
echo Third Parameter is the administrative username for the Portal Server
set SERVER=%1
set APPNAME=%2
set USERNAME=%3
echo server = %SERVER%
echo appname = %APPNAME%
echo username = %USERNAME%
java weblogic.Deployer -redeploy -username %USERNAME% -name %APPNAME% -targets %SERVER%

weblogic.Deployer を使用した部分的な再デプロイメント

状況によっては、weblogic.Deployer ツールを使用することで、ポータル アプリケーションの個々のコンポーネントの再デプロイメントに要する時間を削減できます。

更新範囲が特定のポータル Web アプリケーションに限られる場合は、その Web アプリケーションのみを再デプロイして、再デプロイメントに要する時間を大幅に短縮できます。この方法は、新しく更新された範囲がポートレットとページフローのみであり、エンタープライズ アプリケーションの範囲内である EJB、ライブラリ、またはモジュールが更新されていない場合に有用です。

ポータル Web アプリケーションは、WebLogic Workshop の制御クラスと依存関係があるため、これらのクラスも同様に再デプロイする必要があります。次のバッチ ファイルを使用すると、このプロセスを簡略化できます。クラスパスには weblogic.Deployer を追加する必要がありますが、これは BEA_HOME/weblogic81/common/bin/commEnv スクリプトを実行することによって追加できます。

コード リスト 5-2 WebLogic Server のコントロール クラスを再デプロイするバッチ ファイル

@echo off
echo Redeploys a Portal Web Project to a Server or Cluster
echo First Parameter is the name of the Server or Cluster
echo Second Parameter is the name of the Application
echo Third Parameter is the name of the Portal Web Application
echo Fourth Parameter is the administrative username for the Portal Server
set SERVER=%1
set APPNAME=%2
set WEBAPPNAME=%3
set USERNAME=%4
echo server = %SERVER%
echo appname = %APPNAME%
echo webappname = %WEBAPPNAME%
echo username = %USERNAME%
set TARGETS=%APPNAME%@%SERVER%
set TARGETS=%TARGETS%,.workshop/%APPNAME%/EJB/TimerControl_-livsjc6qp6ws@
    %SERVER%
set TARGETS=%TARGETS%,.workshop/%APPNAME%/EJB/p13controls_k3cw9vg6497r@
    %SERVER%
set TARGETS=%TARGETS%,.workshop/%APPNAME%/EJB/MDBListener_-1x0154i4jz0he@
    %SERVER%
set TARGETS=%TARGETS%,.workshop/%APPNAME%/EJB/GenericStateless@%SERVER%
set TARGETS=%TARGETS%,.workshop/%APPNAME%/EJB/ProjectBeans@%SERVER%
java weblogic.Deployer -redeploy -username %USERNAME% -name %WEBAPPNAME% -targets %TARGETS%

 


WAR ファイルでの JSR-168 ポートレットのデプロイ

WebLogic Portal には、JSR-168 WAR ファイルにパッケージ化された JSR-168 ポートレットを自動的にデプロイするユーティリティが用意されています。このユーティリティを使用して、JSR-168 ポートレットを含む JSR-168 WAR ファイルをインポートし、ポートレットを WSRP プロデューサで公開できます。

この節では、このインポート ユーティリティの使用方法について説明します。この節のトピックは以下のとおりです。

インポート ユーティリティの起動

ユーティリティを起動するには、次の手順に従います。

  1. 管理サーバを起動します。
  2. ブラウザで、次の URL を入力します。
  3. http://servername:port/appName/jsr168/jsr168import.jsp

    servername は管理サーバの IP 名、port はポート番号、appName はサーバにデプロイされたポータル エンタープライズ アプリケーションの名前です。次に例を示します。

    http://localhost:7001/myProjectAdmin/jsr168/jsr168import.jsp

    図 5-1 にこのユーティリティを示します。

    図 5-1 JSR-168 WAR インポート ユーティリティ


     

インポート ユーティリティの使用

この節では、インポート ユーティリティを使用して JSR-168 WAR ファイルをエンタープライズ アプリケーションにインポートする方法を説明します。

  1. [参照] ボタンを使用して次のファイルを選択します。
  1. 新しいポータル アプリケーションの名前を入力します。このアプリケーション (EAR ファイル) が作成されます。EAR ファイルは、WebLogic Workshop でのアプリケーションのビルドと同じ方法で、選択したテンプレートを使用してビルドされます。各 JSR-168 WAR ファイルが、EAR にパッケージ化された Web アプリケーションになります。アプリケーションにはユニークな名前を使用してください。サーバにデプロイされている既存のアプリケーションと同じ名前は使用しないでください。
  2. [Auto-deploy to running server] チェックボックスをチェックすると、新しいポータル アプリケーションが自動的にデプロイされます。通常、このオプションは、単純なデプロイメントやテスト デプロイメントにのみ使用します。新しいアプリケーションを、ステージング環境やプロダクション環境など、より複雑な環境にアップロードする場合は、このチェックボックスをチェックしないことをお勧めします。代わりに、WebLogic Server Console を使用して EAR をデプロイしてください。
  3. [Perform Import] をクリックして新しいアプリケーションを作成します。[Auto-deploy to running server] をチェックした場合は、新しく作成された EAR ファイルが自動的にデプロイされます。このチェックボックスをチェックしなかった場合、WebLogic Server Console を使用して EAR をデプロイする必要があります。新しい EAR ファイルは、ドメインのルート ディレクトリにあります。

ポートレットへのアクセス

新しい EAR ファイルがデプロイされたら、インポートした WAR ファイルに含まれているポートレットをアプリケーションに追加できます。そのためには、Web アプリケーションを WSRP プロデューサとして追加する必要があります。Web アプリケーションをプロデューサとして追加したら、WebLogic Administration Portal を使用してアプリケーションのポートレットを任意の WSRP プロデューサに取り込むことができます。詳細については、Administration Portal オンライン ヘルプの「プロデューサを追加する」を参照してください。

 

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