Skip navigation.

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

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

ポータル クラスタのコンフィグレーション

この章では、ポータル アプリケーションのデプロイ先となるクラスタを設定するための必要手順について説明します。この章のトピックは、以下のとおりです。

 


プロダクション データベースの設定

ポータル アプリケーションをプロダクションにデプロイするには、エンタープライズ品質のデータベース インスタンスを設定する必要があります。PointBase は、アプリケーションの設計、開発、および検証に関してのみサポートされています。プロダクション サーバのデプロイメントにはサポートされていません。

プロダクション データベースのコンフィグレーションの詳細については、WebLogic Portal データベース管理ガイド』を参照してください。

エンタープライズ品質のデータベース インスタンスをコンフィグレーションしたら、『WebLogic Portal データベース管理ガイド』に記述されているように、コマンドラインから必要なデータベースの DDL および DML をインストールできます。しかし、もっと簡単な方法は、この章で説明するように、プロダクション環境をコンフィグレーションするときに、ドメインの Configuration Wizard を使用して DDL および DML を作成する方法です。

 


wlw-manifest.xml ファイルの読み込み

ドメインの Configuration Wizard でプロダクション サーバまたはプロダクション クラスタをコンフィグレーションする場合は、WebLogic Workshop で生成されて実行時にデプロイされるコンポーネントに必要な JMS キューをデプロイする必要があります。必要な JMS キューの名前を検索するには、ポータル アプリケーションの /META-INF ディレクトリにある wlw-manifest.xml ファイルを開きます。

このファイルで、<con:async-request-queue> および <con:async-request-error-queue> という要素に値として定義されている JMS キューの JNDI 名を検索します。これらの定義で見つかった JMS キューの JNDI 名は、プロダクション システムをコンフィグレーションするときに使用できるよう記録しておきます。

wlw-manifest.xml では、他の設定のコンフィグレーションも必要な場合があります。詳細については、「WebLogic Workshop アプリケーションをプロダクション サーバにデプロイするには」を参照してください。

 


クラスタ アーキテクチャの選択

ポータル アプリケーションをクラスタ化することで、そのアプリケーションの高可用性およびスケーラビリティが実現されます。以下の節を参考に、採用するクラスタ コンフィグレーションを選択してください。

シングル クラスタ

ポータル アプリケーションのプロダクション インスタンスをサポートする場合、最も一般的に使用されるコンフィグレーションは、「推奨基本アーキテクチャ」です。

図 4-1 は、WebLogic Portal 専用の推奨基本アーキテクチャを示しています。

図 4-1 WebLogic Portal のシングル クラスタ アーキテクチャ


 

注意 : WebLogic Portal は、EJB と JSP が 1 つのクラスタ内で異なるサーバに分割される分割コンフィグレーション アーキテクチャをサポートしていません。Portal では、推奨基本アーキテクチャの方が、分割コンフィグレーションよりはるかに優れたパフォーマンスを実現します。

また、このアーキテクチャを使用すると、最初のプロダクション デプロイメントで 1 つのシングル サーバ インスタンスのみを実行する場合でも、必要な時点で新しいサーバ インスタンスを簡単に追加することができます。

マルチ クラスタ

マルチ クラスタ化されたアーキテクチャは、ポータル アプリケーションを常時アクセス可能にする必要がある場合に、ゼロ ダウンタイム環境をサポートするのに使用されます。シングル クラスタ環境では、ポータル アプリケーションを無期限に実行できる一方、クラスタやサーバに新しいコンポーネントをデプロイするときに、ポータルにアクセスできない時間が生じます。これは、新しい EAR アプリケーションが WebLogic Server にデプロイされる間、HTTP リクエストを処理できなくなるためです。ポータル アプリケーションを再デプロイする場合も、既存のセッションが失われます。

マルチ クラスタ環境には、一般に、主クラスタと副クラスタという 2 つのクラスタを設定する必要があります。通常の運用時は、すべてのトラフィックが主クラスタに送信されます。ポートレットなどの新しいコンポーネントをデプロイする必要があるときは、主クラスタを更新している間、副クラスタでリクエストを処理します。マルチクラスタ化された環境を管理および更新するプロセスは、シングル クラスタよりも複雑になります。これについては、「ゼロ ダウンタイムのアーキテクチャ」で説明しています。この環境に関心がある方は、ここを参照してください。

図 4-2 WebLogic Portal のマルチ クラスタ アーキテクチャ


 

 


ドメインのコンフィグレーション

Configuration Wizard でドメインをビルドする前に、ドメインのネットワーク レイアウトを決める必要があります。クラスタ内でコンフィグレーションする管理対象サーバの数、それらのサーバを実行するマシン、リスン ポート、および DNS アドレスを決定します。また、サーバの起動に WebLogic Node Manager を使用するかどうかも決定します。Node Manager の詳細については、『WebLogic Server のコンフィグレーションと管理』を参照してください。

WebLogic Portal は、クラスタの管理サーバ マシンとすべての管理対象サーバ マシンにインストールする必要があります。

Configuration Wizard の使用

ドメインの Configuration Wizard を使用して、新しいプロダクション環境を作成します。『コンフィグレーション ウィザードの使い方』を参照してください。

Configuration Wizard でのプロダクション クラスタ環境の作成

ここでは、WebLogic Portal のプロダクション クラスタ環境を作成する手順を説明します。

  1. Configuration Wizard を起動します。Windows で、[スタートプログラムBEA WebLogic Platform 8.1Configuration Wizard] を選択します。
  2. [コンフィグレーションの作成または拡張] ウィンドウで、[新しい WebLogic コンフィグレーションの作成] を選択し、[次へ] をクリックします。
  3. [コンフィグレーション テンプレートの選択] ウィンドウで、[Basic WebLogic Portal Domain] を選択し、[次へ] をクリックします。
  4. [エクスプレスまたはカスタム コンフィグレーションの選択] ウィンドウで、[カスタム] を選択し、[次へ] をクリックします。
  5. [管理サーバのコンフィグレーション] ウィンドウで、以下の手順を実行します。
    1. 管理サーバの名前を入力します。
    2. [Listen address] フィールドで、デフォルトの [All Local Addresses] をそのまま選択します。
    3. リスン ポートを入力します。
    4. ポータル アプリケーション リソースへのアクセスを保護するためにセキュア ソケット レイヤ (Secure Sockets Layer : SSL) プロトコルを使用する場合は、[SSL enabled] オプションを選択して、SSL リスン ポートを入力します。
    5. [次へ] をクリックします。
  6. [管理対象サーバ、クラスタ、およびマシン オプション] ウィンドウで、[はい] を選択してコンフィグレーション設定をカスタマイズし、[次へ] をクリックします。
  7. [管理対象サーバのコンフィグレーション] ウィンドウで、管理対象サーバを追加します。クラスタに追加できる管理対象サーバの数は、選択したハードウェアによって異なります。
  8. [Listen address] フィールドに、各管理対象サーバの IP アドレスを入力します。

注意 : デフォルトの [All Local Addresses] をそのまま設定しないでください。

管理対象サーバを追加したら、[次へ] をクリックします。

  1. [クラスタのコンフィグレーション] ウィンドウで、クラスタを追加します。現在使用されていないマルチキャスト アドレスを選択します。このクラスタ内の管理対象サーバに割り当てるクラスタ アドレスを選択します。これには、管理対象サーバの DNS エリアス名からなる、カンマ区切りのリストを使用します。
  2. 詳細については、『WebLogic Server クラスタ ユーザーズ ガイド』の「クラスタ アドレス」を参照してください。

    終了したら、[次へ] をクリックします。

  3. [サーバのクラスタへの割り当て] ウィンドウで、左側のペインから右側のペインにサーバ名を移動して、各クラスタに関連付けるすべての管理対象サーバを選択します。[次へ] をクリックします。
  4. [マシンのコンフィグレーション] ウィンドウでは、サーバ インスタンスのホスト システムの論理表現を作成できます。ホスト情報は、特にセッション レプリケーション中に、局所性のルーティングに使用されます。1 台のマシンで複数の管理対象サーバを実行している場合は、WebLogic Server が同じマシン上でセッションをレプリケートしないように、ホスト情報をコンフィグレーションすることが重要です。
  5. また、Node Manager を使用してサーバの起動および停止を管理する場合は、ここにその情報を指定します。

    [次へ] をクリックします。

  6. マシンをコンフィグレーションするよう指定した場合は、[サーバのマシンへの割り当て] ウィンドウで、サーバを適切なマシンに割り当てます。
  7. [データベース (JDBC) オプション] ウィンドウで、[はい] を選択して JDBC コンポーネントを定義し、[次へ] をクリックします。
  8. [JDBC 接続プールのコンフィグレーション] ウィンドウに [cgPool] タブが表示されます。cgPool の [Vendor] でプロダクション データベース タイプを使用するように変更し、次に、そのデータベース インスタンスへの接続に必要な情報 (ホスト情報やポート情報など) を指定します。
  9. [cgJMSPool-nonXA] タブおよび [portalPool] タブでも、同じ変更を行います。

    [cgJMSPool-nonXA] の場合は、[Driver] フィールドで、必ず非 XA ドライバを選択してください。

    [次へ] をクリックします。

  10. [JDBC マルチプールのコンフィグレーション] ウィンドウで、[次へ] をクリックします。
  11. [JDBC データ ソースのコンフィグレーション] ウィンドウに、コンフィグレーションされた JDBC データ ソースのリストが表示されます。[次へ] をクリックします。
  12. [JDBC 接続プールのテストおよび JDBC データベースのセットアップ] ウィンドウの [利用できる JDBC 接続プール] ペインから [cgPool] を選択し、[接続のテスト] をクリックします。

    データベース インスタンスにポータル アプリケーションのデータベース オブジェクトをまだ作成していない場合は、[DB バージョン] フィールドでデータベースのバージョンを選択し、[データベースのロード] をクリックします。
  13. 警告 : データベース インスタンスにポータル データベース オブジェクトがすでに存在していると、スクリプトによってそれらが削除されるため、データベースをロードする際に警告が表示されます。この操作では、大量の SQL 文が表示されます。スクリプトは以前に作成されたオブジェクトがあれば削除するので、スクリプトの実行に伴い多数のエラー文が生成されますが、これは正常な動作です。

    [次へ] をクリックします。

  14. [メッセージング (JMS) オプション] ウィンドウで、[はい] を選択して JMS コンポーネントを定義し、[次へ] をクリックします。
  15. [JMS 接続ファクトリのコンフィグレーション] ウィンドウに [cgQueue] が表示されます。[Default delivery mode] を [Persistent] に設定します。[次へ] をクリックします。
  16. [JMS 送り先キーのコンフィグレーション] ウィンドウで、[次へ] をクリックします。
  17. [JMS テンプレートのコンフィグレーション] ウィンドウで、[次へ] をクリックします。
  18. [JMS ファイル ストアのコンフィグレーション] ウィンドウで、[FileStore] があることを確認し、[次へ] をクリックします。
  19. [JMS JDBC ストアのコンフィグレーション] ウィンドウで、管理サーバおよび個々の管理対象サーバに JMS ストアがあることを確認します。一般に、これらのストアには、cgJMSStore_auto_1cgJMSStore_auto_2 などの名前が付いています。
  20. JMS ストアを作成するには、以下の手順を実行します。

    1. [追加] をクリックします。
    2. 管理サーバの名前 (cgJMSStore_auto_a など) を指定します。
    3. [Connection pool] フィールドで、すべてのストアに対して使用する接続プール (cgJMSPool-nonXA など) を選択します。
    4. [Prefix name] フィールドで、ユニークな JMS プレフィックス名 (管理サーバの場合は por_a など) を指定します。
    5. Oracle Database を使用している場合は、プレフィックス名の前に Oracle スキーマ名を指定します。たとえば、OSCHEMA.por_a と指定します。

    6. [次へ] をクリックします。
  21. [JMS サーバのコンフィグレーション] ウィンドウで、作成した JMS ストアに対応するサーバ (管理サーバを含む) があることを確認します。一般に、これらのサーバには、cgJMSServer_auto_1、cgJMSServer_auto_2 などの名前が付いています。JMS サーバを作成するには、以下の手順を実行します。
    1. [追加] をクリックします。
    2. 管理サーバの名前 (cgJMSServer_auto_a など) を指定します。
    3. [Store] フィールドで、前のウィンドウで作成した、対応する JMS JDBC ストアを選択します。
    4. [次へ] をクリックします。
  22. [WebLogic server への JMS サーバの割り当て] ウィンドウで、JMS サーバを管理サーバおよび各管理対象サーバに割り当てます。[次へ] をクリックします。
  23. [JMS トピックのコンフィグレーション] ウィンドウで、[次へ] をクリックします。
  24. [JMS キューのコンフィグレーション] ウィンドウで、[次へ] をクリックします。
  25. [JMS 分散トピックのコンフィグレーション] ウィンドウで、[次へ] をクリックします。
  26. [JMS 分散キューのコンフィグレーション] ウィンドウでは、WebLogic Workshop に必要な新しいキューを追加する必要があります。これらのキューの JNDI 名は、「wlw-manifest.xml ファイルの読み込み」で説明したように、アプリケーションの /META-INF/wlw-manifest.xml ファイルで検索できます。
  27. これらの名前は、WEB_APP.queue.AsyncDispacher および WEB_APP.queue.AsyncDispacher_error のようになります。キューごとに、[追加] ボタンで新しい JMS 分散キューを追加します。wlw-manifest.xml でリストされた名前に、[Name] エントリと [JNDI name] エントリを設定します。[Load balancing policy] と [Forward delay] をアプリケーションにとって適切になるように設定します。

    ポータル アプリケーションの 各 Web アプリケーション (ポータル Web プロジェクト) には、キュー エントリが 1 組ずつ存在します。終了したら、キューごとに分散キューを持つことになります。つまり、エンタープライズ アプリケーションに 3 つの Web アプリケーションがあれば、Web アプリケーションごとに 2 個ずつ、合計 6 個の分散キューを持つことになります。

    WebLogic Administration Portal Web アプリケーション用のキューを作成する必要はありません。

    注意 : 複数のクラスタを使用している場合は、クラスタごとにキューのセットを追加作成します。たとえば、basicWebApp という名前の Web アプリケーションで 2 つ目のクラスタを使用する場合は、そのクラスタ用に basicWebApp.queue.AsyncDispatcher.2 などの、ユニークな名前の basicWebApp キューを作成します。その際には、Configuration Wizard で、複数のキューに同じ JNDI 名を入力することはできません。この例では、JNDI 名の末尾に「.2」を入力します。このセットアップ手順では、各 Web アプリケーションの WebLogic Administration Console で JNDI 名を統一する方法について後述します。

    [次へ] をクリックします。

  28. [サーバまたはクラスタへの JMS 分散送り先の割り当て] ウィンドウで、新しく定義したキューをクラスタに割り当てます。右側のペインでクラスタを、左側のペインでキューを選択して、右矢印のアイコンをクリックします。[次へ] をクリックします。
  29. [JMS 分散キュー メンバーのコンフィグレーション] ウィンドウで、[次へ] をクリックします。分散 JMS キュー メンバーは、「JMS サーバの設定」で作成します。
  30. [アプリケーションおよびサービスの対象指定オプション] ウィンドウで、[はい] を選択し、[次へ] をクリックします。
  31. [アプリケーションのサーバまたはクラスタへの対象設定] ウィンドウで、すべてのアプリケーションを管理サーバおよびクラスタに割り当てます。[次へ] をクリックします。
  32. [サービスのサーバまたはクラスタへの対象設定] ウィンドウで、[次へ] をクリックします。
  33. [管理ユーザ名とパスワードのコンフィグレーション] ウィンドウで、管理サーバの起動に使用するユーザ名およびパスワードを入力します。追加のユーザ、グループ、およびグローバル ロールはコンフィグレーションする必要がないので、ウィンドウの下部で [いいえ] が選択されていることを確認します。[次へ] をクリックします。
  34. Windows システムにインストールを行う場合は、[Windows オプションのコンフィグレーション] ウィンドウで、Windows メニューにショートカットを追加したり、管理サーバを Windows サービスとしてインストールするためのオプションを選択します。このウィザードでは、[[スタート] メニューの作成] オプションの選択内容に関係なく、デフォルトのショートカットが 1 つ、Windows メニューに作成されます。このオプションを使用すると、別の設定のショートカットを追加作成できます。
  35. ドメインに対する Windows メニューのショートカットを作成するよう指定した場合は、[スタート メニュー エントリの構築] ウィンドウで [次へ] をクリックします。

    [次へ] をクリックします。

  36. [サーバの起動モードおよび Java SDK のコンフィグレーション] ウィンドウで、[プロダクション モード] を選択し、使用する SDK (JDK) を選択します。[次へ] をクリックします。
  37. [WebLogic コンフィグレーションの作成] ウィンドウで、管理サーバ ドメインをインストールするディレクトリを参照し、コンフィグレーション名を入力します。
  38. パス長の例外を回避するために、ドメインには drive:/ourDomain のような短いパスを指定します。

  39. [作成] をクリックします。
  40. ドメインが作成されたら、[完了] をクリックします。

管理サーバのコンフィグレーション

ここまでの操作で、管理サーバ ドメインは、ドメインの Configuration Wizard によって構成されました。管理サーバを起動して他のコンフィグレーション作業を行う前に、次のいずれかまたは両方のセットアップ タスクを実行することができます。

デフォルトのメモリ サイズを増やす

管理サーバに割り当てられているデフォルトのメモリ サイズを増やすには、ドメインのルート ディレクトリにある startWebLogic スクリプトを修正して、メモリの引数を変更する必要があります。次に例を示します。

Windows の場合は、次のように変更します。

set MEM_ARGS=-Xms256m %memmax%set MEM_ARGS=-Xms512m -Xmx512m に変更

UNIX の場合は、次のように変更します。

MEM_ARGS="-Xms256m ${memmax}"MEM_ARGS="-Xms512m -Xmx512m" に変更

サーバに割り当てる必要がある正確なメモリ容量は、ポータル アプリケーションのサイズなど、さまざまな要因に基づいて変化しますが、一般には、512 MB のデフォルトのメモリ容量が推奨されます。

認証なしでサーバを起動する

認証なしでサーバを起動できるようにするには、ログインに使用するユーザ名とパスワードを含む boot.properties ファイルを、ドメインのルート ディレクトリに作成します。次に例を示します。

username=weblogic
password=weblogic

このファイルを使用してサーバを初めて起動した後に、ユーザ名とパスワードはファイル内で暗号化されます。

JMS サーバの設定

この手順では、JMS サーバのコンフィグレーションを完了します。

  1. 管理サーバを起動して、http://server:port/console にある WebLogic Server Administration Console にログインします。
  2. JMS 分散送り先をコンフィグレーションします。
    1. [サービスJMS分散送り先] を展開します。前述の手順で WebLogic Workshop コンポーネントに定義したそれぞれのキューで、以下の手順を実行します。
    2. 注意 : dist_cgJWSQueue_auto キューをコンフィグレーションする必要はありません。

    3. キュー名を選択し、[自動デプロイ] タブを選択します。
    4. [選択されたサーバ (および JMS サーバ) にメンバを作成する] をクリックします。
    5. JMS キューを割り当てるクラスタを選択し、[次へ] をクリックします。
    6. クラスタ内のすべての管理対象サーバを選択してキューのメンバーを作成し、[次へ] をクリックします。
    7. メンバーを作成するすべての JMS サーバを選択し、[次へ] をクリックします。
    8. [適用] をクリックして、変更をコミットします。
    9. 複数のクラスタを使用している場合は、「Configuration Wizard でのプロダクション クラスタ環境の作成」の手順 28 でクラスタ キューに割り当てた JNDI 名を変更します。各クラスタ キューを選択してから (たとえば、basicWebApp.queue.AsyncDispatcher.2 を選択)、[一般] タブをクリックして、「.2」サフィックス (または、Configuration Wizard で使用した他のユニークな識別子) を削除します。各 Web アプリケーションで、JNDI 名がすべて同じになります。たとえば、basicWebApp の JNDI 名はすべて basicWebApp.queue.AsyncDispatcher にする必要があります。変更するたびに、[適用] をクリックします。
  3. 管理対象サーバの JMS サーバをコンフィグレーションします。
    1. [サービスJMSサーバ|管理対象サーバの JMS サーバ名|送り先] を展開します。末尾が AsyncDispatcher であるメンバー キュー (末尾が AsyncDispatcher_error であるメンバー キューは除く) に対して、以下の手順を実行します。
    2. キューを選択し、[再配信] タブを選択します。
    3. [エラー送り先] フィールドで、このキューに付随するエラー キューを選択します。
    4. [適用] をクリックします。
  4. 管理サーバ用の JMS キューを作成します。
    1. [サービスJMSサーバ|管理用の JMS サーバ名|送り先] を選択します。
    2. [新しい JMS Queue のコンフィグレーション] をクリックします。
    3. Web アプリケーションごとに、JMS キューおよびエラー キューを作成します。どんな名前を付けてもかまいませんが、命名規約に従って JNDI 名と同じにします。
    4. アプリケーションの META-INF/wlw-manifest.xml ファイルを参照して、作成する必要のあるキューを確認します。「wlw-manifest.xml ファイルの読み込み」を参照してください。

      たとえば、basicWebApp と bigWebApp の 2 つの Web アプリケーションがある場合、管理サーバである JMS サーバ用に以下のキューを作成します。

      basicWebApp.queue.AsyncDispatcher
      basicWebApp.queue.AsyncDispatcher_error
      bigWebApp.queue.AsyncDispatcher
      bigWebApp.queue.AsyncDispatcher_error

      jws.queue というキューが存在しない場合は、このキューも 1 つだけ作成する必要があります。

      キューを作成するたびに、[作成] をクリックします。

  5. JMS フェイルオーバをサポートするために、JMS サーバを再度移行可能な状態にします。
    1. [サービスJMSサーバ] を展開します。JMS サーバごとに、以下の手順を実行します。
    2. JMS サーバを選択し、[対象とデプロイ] タブを選択します。
    3. [対象] フィールドで、以前の選択対象に対応する、移行可能な対象を選択します。たとえば、対象が managed1 であった場合は、managed1 (migratable) を選択します。
    4. [適用] をクリックします。

管理対象サーバ ディレクトリの作成

管理対象サーバを含めてドメインをコンフィグレーションしたので、各管理対象サーバのサーバ ルート ディレクトリを作成する必要があります。これには、管理対象サーバを管理サーバと同じマシン上に配置するか、または Node Manager を使用するかどうかによって、多数のオプションがあります。

WebLogic Portal をすべての管理対象サーバにインストールする必要があります。

  1. 新しい管理対象サーバを作成するには、Configuration Wizard を起動します。
  2. [新しい Weblogic コンフィグレーションの作成] を選択し、[次へ] をクリックします。
  3. [コンフィグレーション テンプレートの選択] ウィンドウで、[Basic WebLogic Portal Domain] を選択し、[次へ] をクリックします。
  4. [エクスプレスまたはカスタム コンフィグレーションの選択] ウィンドウで、[エクスプレス] を選択し、[次へ] をクリックします。
  5. [管理ユーザ名とパスワードのコンフィグレーション] ウィンドウで、管理対象サーバのユーザ名およびパスワードを入力し、[次へ] をクリックします。
  6. このサーバは、後に管理サーバの資格を使用して管理サーバにバインドするので、この情報は通常は使用されません。

  7. [サーバの起動モードおよび Java SDK のコンフィグレーション] で、[プロダクション モード]、およびドメインで使用する SDK (JDK) を選択します。[次へ] をクリックします。
  8. クラスタ内のすべてのインスタンスで同じ JDK を選択することが重要です。

  9. [WebLogic コンフィグレーションの作成] ウィンドウでインストール先のディレクトリを選択し、[コンフィグレーション名] フィールドに使用するドメイン名を入力します。わかりやすいように、ドメイン名には「managedServer1」、「managedServer2」などの名前を付けます。
  10. [作成] をクリックします。
  11. ドメインが作成されたら、[完了] をクリックします。
  12. 管理対象サーバごとに認証なしでサーバを起動できるようにするには、各管理対象サーバのドメイン ディレクトリ (またはサーバ ディレクトリの 1 階層上のレベル) に、ユーザ名とパスワードを含む boot.properties ファイルを作成します。次に例を示します。
  13. username=weblogic
    password=weblogic

    boot.properties を使用してサーバを初めて起動した後に、ユーザ名とパスワードはファイル内で暗号化されます。

管理対象サーバにファイル システム ドメイン ディレクトリを作成したら、startManagedWebLogic スクリプトに異なる servername パラメータを指定することで、同じマシンの他の管理対象サーバにも同じドメインを再利用できます。あるいは、ドメインの Configuration Wizard を使用して、新しい管理対象ドメインを作成することもできます。

注意 : 管理対象サーバに完全なドメインを使用しない場合 (つまり、ドメインレベル ディレクトリに全ファイルを含めない場合) は、サーバ ディレクトリの 1 階層上のディレクトリ (ドメインレベル ディレクトリに相当) に、wsrpKeystore.jks のコピーを必ず保存または配置してください。

Node Manager を使用する場合

WebLogic Portal ドメインで Node Manager を使用する場合、次の手順を実行する必要があります。

デフォルトのメモリ サイズを増やす

管理対象サーバに割り当てられているデフォルトのメモリ サイズを増やすには (Node Manager を使用していない場合)、管理対象サーバのルート ディレクトリにある startManagedWebLogic スクリプトを修正して、メモリの引数を変更する必要があります。次に例を示します。

Windows の場合は、次のように変更します。

set MEM_ARGS=-Xms256m %memmax%set MEM_ARGS=-Xms512m -Xmx512m に変更

UNIX の場合は、次のように変更します。

MEM_ARGS="-Xms256m ${memmax}"MEM_ARGS="-Xms512m -Xmx512m" に変更

サーバに割り当てる必要がある正確なメモリ容量は、ポータル アプリケーションのサイズなど、さまざまな要因に基づいて変化しますが、一般には、512 MB のデフォルトのメモリ容量が推奨されます。

 


管理サーバと WebLogic Portal の依存関係

この節では、管理サーバに依存する WebLogic Portal のコンポーネントについて説明します。この情報は、管理サーバが何らかの理由で一時的に無効になった場合に役立ちます。この節では、クラスタ デプロイメント時の、管理サーバを安全に停止できるタイミングおよび管理サーバの役割について説明します。

この節のトピックは、以下のとおりです。

ポータル機能の依存関係

次の機能を「除く」すべての WebLogic Portal 機能が、管理サーバがオフラインの状態で正常に機能します。

クラスタ デプロイメント前後の依存関係

クラスタに WebLogic Portal アプリケーションをデプロイするときは、管理サーバが実行されている必要があります。これは、WebLogic Portal アプリケーションの datasync データのマスター コピーが管理サーバにあるためです。

クラスタ デプロイメント後、管理サーバを停止した場合、管理対象サーバを再起動またはウォームアップすることなく管理サーバを再起動できます。管理サーバまたはバックアップ管理サーバを再起動するときに、クラスタを再起動する必要はありません。ウォームアップは不要です。この場合、WebLogic Server の discoverManagedServer オプションを有効にする必要があります。

注意 : 管理サーバをオフラインにする前に、いずれかの管理対象サーバで少なくとも 1 回、ブラウザでポータル Web アプリケーションと Administration Portal にアクセスする必要があります。このときの最初のアクセスで、特定のポリシー情報がブートストラップされ、データベースに格納されます。この最初のアクセスの後は、再びこのアクセス操作を行うことなくいつでも管理サーバをオフラインにできます。

Administration Portal の依存関係

Administration Portal を使用して新しいデスクトップを作成する場合は、管理サーバがオンラインになっている必要があります。ただし、管理サーバがオフラインの状態でも、Administration Portal を使用して新しいページの追加やポートレットの配置調整を行うことはできます。

エラー ログ

管理サーバがオフラインの場合、管理対象サーバが管理サーバに接続しようとすると例外が発生します。これらの例外は管理対象サーバのログに記録されます。

 


ポータル リソースについて

ポータル ライブラリには、ブック、ページ、レイアウト、ポートレット、デスクトップなど、ポータル固有のリソースがあります。WebLogic Administration Portal を使用すると、これらのリソースの作成、変更、資格付与、調整を行って、エンド ユーザがアクセスするポータル デスクトップを形成できます。

図 4-3 は、WebLogic Administration Portal で表示したポータル リソース ツリーのイメージです。ツリーには、ライブラリ ノードとポータル ノードの 2 つの主要なノードがあります。ライブラリ ノードにはポートレットなどのリソースのグローバル セットが含まれていますが、ポータル ノードには、それらのリソースのインスタンスとして、colorsSample デスクトップとそのページ、ブックおよびポートレットなどが含まれています。

図 4-3 ポータル リソース ライブラリ


 

これらのリソースはそれぞれポータル データベースで部分的に定義されているため、実行時に簡単に変更できます。存在するリソースの大部分は管理者に新規に作成されたか、または WebLogic Workshop で作成された既存の .portal テンプレートから新しいデスクトップを作成することにより作成されたものです。

ただし、ポートレット自体は開発者によって作成され、最初は XML ファイルとして格納されます。プロダクション環境では、ポータル アプリケーションに存在するすべての .portlet ファイルがデータベースに自動的に読み込まれ、WebLogic Administration Portal で使用できるようになります。

以下の節では、ポートレットのライフサイクルおよびストレージ メカニズムについて説明します。ポートレットのデプロイメント プロセスは、ポータルの運用および管理において重要です。

ポートレット デプロイメントのライフサイクルについて

開発時段階では、.portlet ファイルは XML として、ポータル EAR の既存のポータル Web アプリケーションに格納されます。開発者が新しい .portlet ファイルを作成すると、ファイル ポーラー スレッドによって変更内容がモニタされ、開発データベースが .portlet 情報とともにロードされます。

プロダクション環境では、.portlet ファイルを保持するポータル Web アプリケーションを管理サーバに再デプロイするときに .portlet ファイルがロードされます。この再デプロイメントのタイミングにより、.portlet ファイルがポータル ライブラリで使用可能になると同時に、JSP やページフローなどのポートレットのコンテンツも使用可能になります。管理サーバがデータベースの更新を担うマスターとして選択されているため、プロダクション クラスタ内のそれぞれのサーバが、新しいポートレット情報をデータベースに同時に書き込もうとする問題は発生しません。新しいポートレットをプロダクション環境にデプロイするときは、再デプロイメント用のポータル アプリケーションを管理サーバに割り当てます。

ポートレットを格納するデータベース構造について

ポートレットがデータベースにロードされると、ポートレットの XML が解析され、ポートレット情報が入った複数のテーブルが生成されます (PF_PORTLET_DEFINITIONPF_MARKUP_DEFINITIONPF_PORTLET_INSTANCEPF_PORTLET_PREFERENCEL10N_RESOURCEL10N_INTERSECTION など)。

PF_PORTLET_DEFINITION はポートレットのマスター レコードで、ポートレットに定義された定義ラベル、フォーク可能設定、編集 URI、ヘルプ URI などのプロパティ行を保持します。定義ラベルおよび Web アプリケーション名は、ポートレットの一意の識別レコードです。ポートレット定義は、PF_MARKUP_DEF に格納されている残りのポートレットの実際の XML を参照します。

PF_MARKUP_DEF は、.portlet ファイルの格納済みのトークン化された XML を保持します。つまり、.portlet XML がデータベース内で解析され、プロパティがトークンに置き換わります。たとえば、次のコード例ではトークン化されたポートレットを示します。

<netuix:portlet $(definitionLabel) $(title) $(renderCacheable) $(cacheExpires)>

これらのトークンは、PF_PORTLET_DEFINITION のマスター定義テーブルの値、または PF_PORTLET_INSTANCE に格納されているポートレットのカスタマイズされたインスタンスによって置換されます。

次の 4 種類のポートレット インスタンスがデータベースに記録されることにより、ポートレットのプロパティが格納されます。

PF_PORTET_INSTANCE は、DEFAULT_MINIMIZED、TITLE_BAR_ORIENTATION、PORTLET_LABEL などの属性に関するポートレットのプロパティを保持します。

ポートレットに定義済みのポートレット プリファレンスがある場合、それらは PF_PORTLET_PREFERENCE テーブルに格納されます。

最後に、ポートレットのタイトルはインターナショナライズできます。これらの名前は、L10N_INTERSECTION によって PF_PORTLET_DEFINITION にリンクされている L10N_ RESOURCE テーブルに格納されます。

プロダクションからのポートレットの削除

新しくデプロイしたポータル アプリケーションからポートレットを削除する際に、そのポートレットがプロダクション データベースにすでに定義されている場合は、PF_PORTLET_DEFINITION テーブルで IS_PORTLET_FILE_DELETED とマークされます。WebLogic Administration Portal では、削除されたポートレットはグレー表示になります。削除されたポートレットがデスクトップ インスタンスにまだ表示されている場合は、ユーザがそのポートレットへのリクエストを発行すると、ポートレットが使用不可であることを示すメッセージが表示されます。

 


ゼロ ダウンタイムのアーキテクチャ

WebLogic Server クラスタにポータル アプリケーションを再デプロイする際の制約は、再デプロイメントを実行している間、ユーザがサイトにアクセスできないことです。停止時間を設けてポータル アプリケーションを新しいポートレットや他のコンポーネントで更新することが不可能なエンタープライズ環境では、マルチ クラスタ コンフィグレーションを使用することで、再デプロイメント中もポータル アプリケーションを実行させておくことができます。

マルチ クラスタ環境の基本は、主クラスタでポータル アプリケーションを更新している間、ユーザ リクエストがルートされる副クラスタがあるという概念です。

通常の運用時は、図 4-4 に示すように、すべてのトラフィックが主クラスタに送信されます。トラフィックは、正常な状態である限り、副クラスタには送信されません。この 2 つのクラスタは、同じセッション キャッシュを使用できないためです。トラフィックが両方のクラスタに送信されている場合に、一方のクラスタに障害が発生すると、障害が発生したクラスタでセッション中だったユーザはもう一方のクラスタにルートされるため、そのユーザのセッション キャッシュは失われます。

図 4-4 通常の運用時は、トラフィックは主クラスタに送信される


 

図 4-5 に示すように、すべてのトラフィックを副クラスタにルートし、その後で主クラスタを新しいポータル EAR で更新します。この EAR には、データベースにロードされる新しいポートレットが格納されています。副クラスタへのリクエストのルーティングは、段階的に行われます。最初に、主クラスタに対する既存のリクエストを、他のリクエストがなくなるまで、ある程度の時間をかけて終了させなければなりません。それが完了した時点で、主クラスタを新しいポータル アプリケーションで更新できます。

図 4-5 トラフィックが副クラスタにルートされ、主クラスタが更新される


 

図 4-6 に示すように、すべてのトラフィックのルートを主クラスタに戻し、その後で副クラスタを新しい EAR で更新します。データベースは主クラスタを更新したときに更新されているため、副クラスタの更新時にはデータベースは更新されません。

図 4-6 トラフィックのルートが主クラスタに戻され、副クラスタが更新される


 

正常な状況では副クラスタはトラフィックを受信しませんが、それでも現行のポータル アプリケーションで副クラスタを更新する必要があります。ポータル アプリケーションを次に更新するときに、副クラスタが一時的にリクエストを受信することになるため、現行のアプリケーションを使用できるようにしておく必要があります。

以上をまとめると、マルチ クラスタ ポータル環境をアップグレードするには、まずトラフィックを主クラスタから、同じポータル データベース インスタンスで参照される副クラスタに切り替えます。次に、主クラスタを更新して、ユーザを副クラスタから主クラスタに戻します。この切り替えは瞬時に行われるため、サイトがダウンすることはありません。ただし、この場合、実行中のユーザ セッションは切り替え中に失われます。

より高度なシナリオは、段階的な切り替えです。この方法ではまず、新しいセッションを副クラスタに切り替え、主クラスタに既存のユーザ セッションがなくなったところで、主クラスタをアップグレードします。段階的な切り替えは、ハードウェアおよびソフトウェアのさまざまな専用ロード バランサを使用して管理できます。どちらのシナリオにも、アプリケーションをデプロイする前に理解しておかなければならない一般的な概念があります。そのうちのポータル キャッシュ、および単一データベース インスタンスを使用する場合の影響について、以下で説明します。

単一データベース インスタンス

ポータル アプリケーションに複数のクラスタをコンフィグレーションすると、同じデータベース インスタンスが共有されます。このデータベース インスタンスには、ポータルのコンフィグレーション データが格納されます。このことが問題となる場合があります。主クラスタをアップグレードすると、データベース内のポータル コンフィグレーション情報も変更されるのが普通だからです。これらの変更は、その後、ユーザが使用している副クラスタに取り込まれます。

たとえば、ポータル アプリケーションを新しいポートレットとともに主クラスタに再デプロイすると、そのポートレットのコンフィグレーション情報がデータベースに追加されます。この新しいポートレットは、その後、副クラスタに取り込まれます。ただしポートレットによって参照されている新しいコンテンツ (JSP ページまたはページフロー) は、副クラスタにはデプロイされません。

ポートレットは、デスクトップにある場合のみ呼び出されます。そのため、副クラスタでポートレットを有効にしても、ユーザに表示されるポータルにはすぐに反映されません。しかし、WebLogic Administration Portal を使用して新しいポートレットをデスクトップに追加すると、副クラスタ上のユーザに表示されるデスクトップにも、すぐに反映されます。この場合、そのポートレットは呼び出すことができますが、ポートレットのコンテンツは表示されません。

このような状況に対応するには、いくつかの方法があります。その 1 つは、すべてのユーザが主クラスタに戻されるまで、デスクトップにポートレットを追加するのを遅らせる方法です。もう 1 つの方法は、副クラスタ上のユーザに表示されないように、ライブラリ内でポートレットに資格を与えます。その後、ポートレットをデスクトップに追加し、すべてのユーザが主クラスタに戻されたら、資格を削除するか、変更します。

ヒント : 既存ポートレットのコンテンツ URI を、それがまだデプロイされていない新しい場所に更新することができます。このため、ポートレットのコンテンツ URI を更新する場合は注意が必要です。ベスト プラクティスは、コンテンツ URI の更新を段階的な更新の一部として行うことです。

2 つのポータル クラスタを同じデータベースに対して同時に実行する場合は、次の節で説明するように、ポータル キャッシュについても考慮する必要があります。

ポータル キャッシュ

WebLogic Portal には、高度なクラスタ対応のキャッシュ機能が搭載されています。このキャッシュは、さまざまなポータル フレームワークによって、マークアップの定義からポートレット プリファレンスにいたるあらゆるもののキャッシュに使用されます。この他に、開発者も、ポータル キャッシュ フレームワークを使用して、独自のキャッシュを定義できます。ポータル キャッシュは、WebLogic Administration Console で、[コンフィグレーション設定サービス管理Cache Manager] でコンフィグレーションします。いずれのキャッシュ エントリについても、キャッシュの有効化または無効化、有効期限の設定、最大キャッシュ サイズの設定、キャッシュ全体のフラッシュ、特定のキーの無効化などを行うことができます。

キャッシュに格納されているポータル フレームワーク資産が更新されると、一般にデータベースに何らかの書き込みが行われ、クラスタ内のすべてのマシンのキャッシュが自動的に無効になります。このプロセスにより、すべての管理対象サーバのユーザに対するキャッシュの同期が維持されます。

アプリケーションを再デプロイメントするためにマルチ クラスタ環境を操作するときは、キャッシュに関して特別な注意を払う必要があります。キャッシュを無効にするメカニズムは、両方のクラスタで機能するわけではありません。したがって、データベースには書き込まれても、もう一方のクラスタに反映されないような変更を、片方のクラスタで行うことが可能になります。このような状況はシステムが不安定になる要因となるため、ユーザを移行している間は、両方のクラスタでキャッシュを無効にすることをお勧めします。この点は、既存のユーザ セッションが失われるハード スイッチではなく、クラスタ間の段階的な切り替えを行う場合に重要です。

 

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