APPHOST1およびAPPHOST2でのRACデータベースに対するFast Connection Failoverの構成
Oracle Application Serverコンポーネント接続の管理
アプリケーション層は、中間層のOracle Application Serverインスタンスをホスティングする複数のコンピュータで構成されます。各Oracleホームには、複数のOracle Containers for J2EEインスタンスを含めて、そこにアプリケーションをデプロイできます。完全な構成では、リクエストがアプリケーション層コンピュータ上のOC4Jインスタンス間でロード・バランシングされ、高性能でフォルト・トレラントなアプリケーション環境が実現されます。
Web層(WEBHOST1およびWEBHOST2)は、複数のOracle HTTP Serverで構成されます。図1-1、図1-2および図1-3は、アプリケーション層とWeb層を示しています。
Oracle Universal Installerの「拡張インストール」オプションを使用して、Oracle HTTP Serverインスタンスをインストールします。
使用しているプラットフォームに対応したOracle Application Serverのインストレーション・ガイドで説明されているとおり、システム、パッチ、カーネルの要件、およびその他の要件が満たされていることを確認します。このマニュアルは、ご使用のプラットフォームおよびリリースのOracle Application Serverドキュメント・ライブラリで参照できます。
Disk1/stage/Response
ディレクトリのstaticports.ini
ファイルを、TMPなどのローカル・ディレクトリにコピーします。インストール中に、このファイルへのパスを設定します。
staticport.ini
ファイルを編集し、次のカスタム・ポートを割り当てます。
Oracle HTTP Server port = 7777
注意: コンピュータ上の他のサービスが、これらのポートをすでに使用していないことを確認してください。静的ポート機能を使用してApplication Server層をインストールすると、ファイル内でのポートの指定が適切で、そのポートがすでに使用されていないかぎり、常に同じポートが割り当てられます。ポートの指定が適切でない場合、Oracle Universal Installerによってデフォルト・ポートが割り当てられます。ポートがすでに使用されている場合は、次に割当て可能なポートが選択されます。 |
次のように、Oracle Universal Installerを起動します。
UNIXでは、runInstaller
コマンドを発行します。
Windowsでは、setup.exe
をダブルクリックします。
「Oracle Application Server SOA Suite 10.1.3.0.1インストール」画面が表示されます。
インスタンスのインストール・ディレクトリを指定します。
「拡張インストール・モード」を選択します。
「インストール」をクリックします。
「インストール・タイプの選択」画面が表示されます。
「Webサーバー」を選択し、「次へ」をクリックします。
「ポート構成オプションの指定」画面が表示されます。
「手動」を選択してstaticports.ini
ファイルの場所を指定してから、「次へ」をクリックします。
「インスタンス名の指定」画面が表示されます。
インスタンス名を指定し、「次へ」をクリックします。
「クラスタ・トポロジ構成」画面が表示されます。
チェック・ボックスを選択し、インスタンスをOracle Application Serverクラスタの一部として構成します。
マルチキャスト・アドレスとポートを指定します。
注意: たとえば、マルチキャスト・アドレスに225.0.0.20 、ポートに8001 を指定します。このアドレスとポートはファーム内のすべてのコンピュータで同じにする必要があります。 |
「次へ」をクリックします。
「サマリー」画面が表示されます。
「インストール」をクリックします。
「コンフィギュレーション・アシスタント」画面が表示されます。構成プロセスが終了すると、「インストールの終了」画面が表示されます。
「終了」をクリックしてから、その選択を確認します。
Oracle HTTP Serverインスタンスを表示して、インストールが成功したことを確認します。ブラウザを起動し、次のURLにアクセスします。
http://
hostname
:7777
注意: インストールの正常終了を確認するためのインストールURLとコマンドは、ORACLE_HOME /install/readme.txt ファイルに記載されています。 |
Apache 2.0ベースのOracle HTTP ServerをCompanion CDからWEBHOST1およびWEBHOST2にインストールした場合、両方のコンピュータ上のインスタンス名は、インストーラによって割り当てられたデフォルト名になります。クラスタでは、opmnctl @cluster status
コマンドで各インスタンスを表示するとき、インスタンス名が一意である必要があります。インスタンスの名前を変更する手順は次のとおりです。
Web層のクラスタ化されたインスタンスとアプリケーション層のクラスタ化されたインスタンスの間にはファイアウォールがあるため、トポロジ間ゲートウェイを構成して、クラスタ間の通信を可能にする必要があります。ゲートウェイ構成では、ファイアウォールの両側にある1台のサーバーが各クラスタへのエントリ・ポイントとなります。この項で説明する手順では、APPHOST1とWEBHOST1をゲートウェイ・サーバーとして指定しますが、任意のサーバーをゲートウェイ・サーバーとして指定できます。ゲートウェイ・サーバーとの通信には、opmn.xml
の<gateway>
サブ要素で指定されたリモート・ポートが使用されます(太字の箇所)。
アプリケーション層とWeb層にゲートウェイ・サーバーを指定する手順は次のとおりです。
APPHOST1_ORACLE_HOME
/opmn/conf/opmn.xml
ファイルを開きます。
次の例に示すように、<gateway>
サブ要素を作成します。
<notification-server>
<port local="6101" remote="6201" request="6004"/>
<ssl enabled="true" wallet-file="$ORACLE_HOME\opmn\conf\ssl.wlt\default"/>
<topology>
<discover list="*225.0.0.20:8001"/>
<gateway list="apphost1.mycompany.com:6200&apphost2.mycompany.com:6200&webhost1.mycompany.com:6200&webhost2.mycompany.com:6200/"/>
</topology>
</notification-server>
...
注意: 6201はAPPHOST1上のOPMNリモート・ポートで、6202はWEBHOST1上のOPMNリモート・ポートです。構成に必要なポート値を決めるには、すべてのサーバーのopmn.xml ファイルを参照する必要があります。 |
APPHOST1_ORACLE_HOME
/opmn/bin
にある次のコマンドを発行します。
opmnctl reload
WEBHOST1_ORACLE_HOME
/opmn/conf/opmn.xml
ファイルに<gateway>
サブ要素をコピーします。
WEBHOST1_ORACLE_HOME
/opmn/bin
にある次のコマンドを発行します。
opmnctl reload
注意: 詳細は、『Oracle Containers for J2EE構成および管理ガイド』の「トポロジ間ゲートウェイの構成」を参照してください。 |
Application Server Controlコンソールは、ファイアウォールの内側からのみアクセスできる必要があります。ご使用のファイアウォールのドキュメントを参照して、外部からのアクセスを防止するようにファイアウォールを構成してください。
Oracle Universal Installerの「拡張インストール」オプションを使用すると、1つのOC4Jインスタンスのみで構成されるOracle Application Serverインスタンスをインストールできます。APPHOST1およびAPPHOST2にアプリケーション・サーバーをインストールし、ORA-HOME1、ORA-HOME2、ORA-HOME3およびORA-HOME4を作成する手順は次のとおりです。
Oracle Application Serverのインストレーション・ガイドで説明されているとおり、システム、パッチ、カーネルの要件、およびその他の要件が満たされていることを確認します。このマニュアルは、ご使用のプラットフォームおよびリリースのOracle Application Serverドキュメント・ライブラリで参照できます。
次のいずれかのコマンドを使用して、Oracle Universal Installerを起動します。
UNIXでは、runInstaller
コマンドを発行します。
Windowsでは、setup.exe
をダブルクリックします。
「Oracle Application Server SOA Suite 10.1.3.0.1インストール」画面が、「基本インストール・モード」と「統合されたWebサーバー、J2EE Serverおよびプロセス管理」インストール・タイプが選択された状態で表示されます。
インスタンスのインストール・ディレクトリを指定します。または、デフォルトのままにします。
「拡張インストール」を選択し、「次へ」をクリックします。
確認ダイアログ・ボックスが表示されます。
「はい」をクリックします。
進行状況ダイアログに続いて、「インストール・タイプの選択」画面が表示されます。
「J2EEサーバー」を選択し、「次へ」をクリックします。
「ポート構成オプションの指定」画面が表示されます。
「自動」を選択し、「次へ」をクリックします。
「管理(Administration)設定」画面が表示されます。
アプリケーション・サーバー・インスタンスのインスタンス名を指定します。
デフォルトOC4Jインスタンスの管理者パスワードを指定および確認します。
インストーラによって作成されたデフォルトOC4Jインスタンスに対して、Application Server Control用のインスタンスであることを示すAdmin
などの名前を指定します(デフォルトはhome
)。
注意: このインスタンスにはアプリケーションをデプロイしません。このインスタンスは、アプリケーションのデプロイ先となる、ユーザーが作成するOC4Jインスタンスとクラスタ化されません。 |
管理用のOC4Jインスタンス(Application Server Controlコンソールが動作するインスタンス)としてインストールされたインスタンスであることを示すチェック・ボックスを選択します。
「次へ」をクリックします。
「クラスタ・トポロジ構成」画面が表示されます。
マルチキャスト・アドレスとポートを指定します。
注意: たとえば、マルチキャスト・アドレスに225.0.0.20 、ポートに8001 を指定します。このアドレスとポートはファーム内のすべてのコンピュータで同じにする必要があります。 |
「このOC4Jインスタンスに別のOracle HTTP Serverからアクセス」チェック・ボックスを選択します。
「次へ」をクリックします。
「サマリー」画面が表示されます。
「インストール」をクリックします。
「インストールの準備中」ダイアログに続いて、「インストール」画面が表示されます。
「コンフィギュレーション・アシスタント」画面が表示されます。構成プロセスが終了すると、「インストールの終了」画面が表示されます。
「終了」をクリックしてから、その選択を確認します。
ここまでの手順で、第1.3項の図にORA-HOME1と示されている最初のOracleホームがAPPHOST1上にインストールされ、Admin OC4Jインスタンスが作成されます。
次の例外を除き、手順1から18までを繰り返して、第1.3項の図にORA-HOME2と示されている2番目のOracleホームを作成します。
手順3では、2番目のOracleホームの作成用として、異なるインストール・ディレクトリを指定します。
デフォルトのOC4Jインスタンスを管理インスタンスとして指定しないでください。
デフォルトのOC4JインスタンスをOC4J_ESBDTと命名します。
Oracle Enterprise Manager 10gにインスタンスを表示して、インストールが成功したことを確認します。インスタンスの表示は、ファイアウォールの内側からのみ行います。詳細は、第3.1.4項を参照してください。ブラウザを起動し、Application Server Controlコンソールにログインしてアプリケーション・サーバー・インスタンスを表示します。
http://
WEBHOST1
.mycompany.com:7777/em
注意: Windowsでは、「スタート」メニューからインスタンスを選択し、「Oracle Application Server Control」オプションを選択できます。 |
Oracle Enterprise Manager 10gにインスタンスを表示して、インストールが成功したことを確認します。インスタンスの表示は、ファイアウォールの内側からのみ行います。詳細は、第3.1.4項を参照してください。ブラウザを起動し、Application Server Controlコンソールにログインしてアプリケーション・サーバー・インスタンスを表示します。
http://
WEBHOST2
.mycompany.com:7777/em
Application Server Controlコンソールには、別のアクティブなApplication Server Controlコンソールにレプリケートされない、ローカルな状態情報も格納されます。JMX通知サブスクリプションおよび受信済通知などの情報が、これに該当します。JMX通知を使用する場合は、Oracle HTTP Serverによってリクエストがルーティングされないように、APPHOST1以外のApplication Server Controlコンソールを無効化する必要があります。これによって、リクエストを受信したインスタンス上で、通知サブスクリプションが変更されたり削除されることがなくなります(2つのインスタンスが非同期化されます)。Application Server Controlコンソールへのルーティングを無効化するには、次に示すように、Application Server Controlコンソールに対応付けられたdefault-web-site.xml
ファイルで、ohs-routing
タグをfalse
に設定します。
<web-app application="ascontrol" load-on-startup="true" name="ascontrol" ohs-routing="false" root="/em"/>
フェイルオーバー目的で2番目のApplication Server Controlコンソールを使用する必要がある場合は、ohs-routing
をtrue
に設定します。通知サブスクリプションおよび受信済通知の状態をプライマリなApplication Server ControlコンソールからセカンダリなApplication Server Controlコンソールにリストアするには、バックアップおよびリカバリ手順を使用する必要があります。複数のApplication Server Controlコンソールをアクティブにする場合は、次の点に注意してください。
管理対象OC4Jインスタンスの管理者パスワードを変更した場合は、すべてのApplication Server Controlコンソール・インスタンスの保存済管理者パスワードに変更を適用する必要があります。Oracle HTTP Serverによって正しいパスワードを持たないApplication Server Controlコンソールにリクエストが転送されたときは、管理インスタンスへの接続が失敗し、新しい管理者パスワードの入力を求められます。
ログイン時に、Application Server Controlコンソールの「クラスタ・トポロジ」ページに、複数のインスタンスが実行されていることを示す警告が表示されます。
次のnetstat
コマンドを使用して、占有されているポートを調べます。
netstat -an
AJPのポート範囲は、12501〜12600です。この範囲のポート番号で、netstat
コマンドの出力に含まれない範囲を書き留めます。これらが、OC4Jインスタンスに割当て可能なポートになります。
APPHOST1およびAPPHOST2には、3つのOracleホーム(アプリケーション・サーバー・インスタンス)があります。第1.3項の図に示されているOC4Jインスタンスを作成する必要があります。APPHOST2にはインストール時に1つのOC4Jインスタンス(OC4J_ESBDT)が作成されているので、次のOC4Jインスタンスを作成する必要があります。
OC4J_SOA
OC4J_GTWY
OC4J_WSM
インストール時に設定したパスワードで、Application Server Controlコンソールにログインします。
「クラスタ・トポロジ」ページが表示されます。
APPHOST1のアプリケーション・サーバー・インスタンスの「メンバー」リストにあるリンクをクリックします。
インスタンスの「アプリケーション・サーバー」ページが表示され、「システム・コンポーネント」リストにAdmin OC4Jインスタンスが表示されます。
「OC4Jインスタンスの作成」をクリックします。
「OC4Jインスタンスの作成」ページが表示されます。
「OC4Jインスタンス名」フィールドに「OC4J_SOA
」と入力します。グループにはデフォルトを適用し、インスタンスを起動するチェック・ボックスを選択します。
「作成」をクリックします。
「処理中:」画面がメッセージとともに表示され、「アプリケーション・サーバー」ページに、新しいインスタンスと、インスタンスが作成されグループに追加されたことを示す構成メッセージが表示されます。
OC4J_SOAインスタンスをクリックします。
「OC4J」ページが表示されます。
「管理」をクリックします。
「管理タスク」表が表示されます。
「プロパティ」リストの「サーバー・プロパティ」に対応付けられた「タスクに移動」アイコンをクリックします。
「サーバー・プロパティ」ページが表示されます。
default-web-siteに未使用のAJPポート(第3.1.7項で調査済)を指定し、「適用」をクリックします。
「処理中」画面がステータス・メッセージとともに表示され、次に確認メッセージが表示されます。
手順1から9までを繰り返し、OC4J_GTWYおよびOC4J_WSMインスタンスを作成します。各インスタンスには、一意の異なるポートを範囲内から割り当てます。
ORACLE_HOME
/opmn/bin
にある次のコマンドを発行します。
opmnctl stopall
opmnctl startall
APPHOST2において、手順1から11までを繰り返します。
ロード・バランシング・ルーター(「図1-1 JSSOとOracle Internet Directoryを実装するmySOACompany」に示すsoa.mycompany.com)は、クライアント・リクエストを受信してWeb層上の2つのOracle HTTP Serverインスタンスにロード・バランシングするように構成する必要があります。ロード・バランサの構成方法は、各ロード・バランシング・ルーターのマニュアルを参照してください。Oracle HTTP Serverは、この項の手順に従って構成します。
mySOACompany構成内のロード・バランシング・ルーターのホスト名とポートに、着信リクエストを関連付ける必要があります。これを構成するには、WEBHOST1およびWEBHOST2で次の手順を実行します。
次のOracle HTTP Server構成ファイルを開きます。
Apache 1.3:
ORACLE_HOME
/Apache/Apache/conf/httpd.conf
Apache 2.0:
ORACLE_HOME
/ohs/conf/httpd.conf
次の手順を実行します。
使用するプラットフォームに対して、適切なLoadModule certheaders_module
ディレクティブを追加します。
UNIX Apache 1.3:
LoadModule certheaders_module libexec/mod_certheaders.so
UNIX Apache 2.0: UNIXでApache 2.0を使用する場合は、次のディレクティブを使用します。
LoadModule certheaders_module modules/mod_certheaders.so
Windows:
LoadModule certheaders_module modules/ApacheModuleCertHeaders.dll
使用しているApacheバージョンに対して次の行を追加し、NameVirtualHost
ディレクティブ、およびsoa.mycompany.comとポート443用のVirtualHost
コンテナを作成します。
Apache 1.3:
NameVirtualHost *:7777
<VirtualHost *:7777>
ServerName soa.mycompany.com
Port 7777
ServerAdmin
you@your.address
RewriteEngine On
RewriteOptions inherit
</VirtualHost>
NameVirtualHost *:7777
<VirtualHost *:7777>
ServerName soa.mycompany.com:443
Port 443ServerAdmin
you@your.address
RewriteEngine On
RewriteOptions inherit
SimulateHttps On
</VirtualHost>
Apache 2.0(UNIX):
NameVirtualHost *:7777
<VirtualHost *:7777>
ServerName soa.mycompany.com:7777
ServerAdmin
you@your.address
RewriteEngine On
RewriteOptions inherit
</VirtualHost>
NameVirtualHost *:7777
<VirtualHost *:7777>
ServerName soa.mycompany.com:443
ServerAdmin
you@your.address
RewriteEngine On
RewriteOptions inherit
SimulateHttps On
</VirtualHost>
注意: LoadModule ディレクティブ(特にLoadModule rewrite_module ディレクティブ)は、httpd.conf ファイル内のVirtualHost ディレクティブの前に配置する必要があります。サーバーでは、VirtualHost コンテナ内のディレクティブが実行される前に、すべてのモジュールがロードされている必要があります。
|
httpd.conf
ファイルを保存します。
ORACLE_HOME
/opmn/bin
にある次のコマンドを発行して、コンポーネントを再起動します。
opmnctl stopall
opmnctl startall
次のURLにアクセスできることを確認します。
http://soa.mycompany.com:7777/j2ee
https://soa.mycompany.com/j2ee
ロード・バランシング・ルーターは、Web層のESBDインスタンスへの内部アクセスを提供するように構成する必要があります。ロード・バランサの構成方法は、各ロード・バランシング・ルーターのマニュアルを参照してください。このURLに対してOracle HTTP Serverを構成するには、この項の手順に従います。
mySOACompany構成内のロード・バランシング・ルーターのホスト名とポートに、着信リクエストを関連付ける必要があります。これを構成するには、WEBHOST1およびWEBHOST2で次の手順を実行します。
次のOracle HTTP Server構成ファイルを開きます。
Apache 1.3:
ORACLE_HOME
/Apache/Apache/conf/httpd.conf
Apache 2.0:
ORACLE_HOME
/ohs/conf/httpd.conf
次の手順を実行します。
使用するプラットフォームに対して、適切なLoadModule certheaders_module
ディレクティブを追加します。
UNIX Apache 1.3:
LoadModule certheaders_module libexec/mod_certheaders.so
UNIX Apache 2.0: UNIXでApache 2.0を使用する場合は、次のディレクティブを使用します。
LoadModule certheaders_module modules/mod_certheaders.so
Windows:
LoadModule certheaders_module modules/ApacheModuleCertHeaders.dll
使用しているApacheバージョンに対して次の行を追加し、NameVirtualHost
ディレクティブ、およびesb.mycompany.com用のVirtualHost
コンテナを作成します。
Apache 1.3:
NameVirtualHost *:7777
<VirtualHost *:7777>
ServerName esbd.myco.com
Port 7777
ServerAdmin
you@your.address
RewriteEngine On
RewriteOptions inherit
</VirtualHost>
Apache 2.0(UNIX):
NameVirtualHost *:7777
<VirtualHost *:7777>
ServerName esbd.myco.com:7777
ServerAdmin
you@your.address
RewriteEngine On
RewriteOptions inherit
</VirtualHost>
注意: LoadModule ディレクティブ(特にLoadModule rewrite_module ディレクティブ)は、httpd.conf ファイル内のVirtualHost ディレクティブの前に配置する必要があります。サーバーでは、VirtualHost コンテナ内のディレクティブが実行される前に、すべてのモジュールがロードされている必要があります。
|
httpd.conf
ファイルを保存します。
ORACLE_HOME
/opmn/bin
にある次のコマンドを発行して、コンポーネントを再起動します。
opmnctl stopall
opmnctl startall
次のURLにアクセスできることを確認します。
http://esbd.myco.com:7777/j2ee
https://esbd.myco.com/j2ee
APPHOST1
およびAPPHOST2
のOC4J_SOA
インスタンスに、Oracle BPEL Process Managerインスタンスをインストールする必要があります。
注意: 各コンポーネントのインストールにはそれぞれのコンポーネントCD-ROM(たとえば、Oracle BPEL Process Manager CD-ROMやOracle Enterprise Service Bus CD-ROM)を使用します。各コンポーネントは、J2EEサーバー・インストールとして同じOracleホームにインストールします(第3.1.5項「Application ServerインスタンスのAPPHOST1およびAPPHOST2へのインストール」でインストール済)。 |
使用しているプラットフォームに対応したOracle Application Serverのインストレーション・ガイドで説明されているとおり、システム、パッチ、カーネルの要件、およびその他の要件が満たされていることを確認します。このマニュアルは、ご使用のプラットフォームおよびリリースのOracle Application Serverドキュメント・ライブラリで参照できます。
Oracle BPEL Process Manager(10.1.3.1.0)CDを挿入します。
次のいずれかのコマンドを使用して、Oracle Universal Installerを起動します。
UNIXでは、runInstaller
コマンドを発行します。
Windowsでは、setup.exe
をダブルクリックします。
「ようこそ」画面が表示されます。
「次へ」をクリックします。
「ファイルの場所の指定」画面が表示されます。
J2EE ServerのOracle Application Serverインスタンスをインストールしたインストール・ディレクトリを指定します。
「次へ」をクリックします。
「インストール・タイプの選択」画面が表示されます。
「BPEL Process Manager for OracleAS Middle Tier」オプションを選択し、「次へ」をクリックします。
「送信HTTPプロキシ情報の指定」画面が表示されます。
ホスト、ポートおよびバイパス・プロキシを指定し、「次へ」をクリックします。
「データベースの指定」画面が表示されます。
データベース情報を指定します。
データベース・タイプ: Oracle Database
ホスト名とポート: INFRADBHOST1
.mycompany.com:1521^
INFRADBHOST2
.mycompany.com:1521
サービス名: orcldb.mycompany.com
ORABPELスキーマ・パスワード: BPEL Process Managerスキーマのパスワード
「次へ」をクリックします。
「管理(Administration)設定」画面が表示されます。
管理設定を指定します。
AS管理者のパスワード: インストール時に設定されたOracle Application Serverの管理者パスワード
OC4Jインスタンス名: OC4J_SOA
HTTPホスト:ポート: soa.mycompany.com:7777
「次へ」をクリックします。
「サマリー」画面が表示されます。
「インストール」をクリックします。
インストールが実行され完了します。
「終了」をクリックしてから、その選択を確認します。
次のURLにアクセスして、インストールが正しく実行されたことを確認します。
http://soa.mycompany.com:7777/BPELConsole
https://soa.mycompany.com/BPELConsole
この項では、エンタープライズ・デプロイメント用にクラスタを構成する方法について簡単に説明します。詳細は、『Oracle BPEL Process Managerインストレーション・ガイド』の「Oracle BPEL Process Managerクラスタの作成」を参照してください。
両方のJ2EEインスタンス(ホスト・コンピュータが同じサブネットにある)で、次のサーバー・サイド・プロパティを構成します。
次のファイルのenableCluster
をtrueに設定し、ClusterName
プロパティに同じ名前を割り当てます。
ORACLE_HOME
/bpel/system/config/collaxa-config.xml
次のファイルのmcast-addr
およびmcast-port
を、同じアドレスに設定します。
ORACLE_HOME
/bpel/system/config/jgroup-protocol.xml
(これらの値はクラスタ内のすべてのコンピュータで同じにする必要があります)
クラスタ内のすべてのコンピュータについて、クライアント・サイドの次のプロパティを構成します。
ORACLE_HOME
/bpel/utilities/ant-orabpel.properties
ファイル:
cluster
をtrue
に設定します。oc4jinstancename
をOC4Jグループの名前(たとえば、default_group)に設定します。
soapServerURL
とsoapCallbackUrl
の値はロード・バランサのURLと同じ値に設定します。
soapServerURL
とsoapCallbackUrl
の値をhttpsのURLに設定します。設定すると、エントリは次のようになります。
... <property id="soapServerUrl"> <name>BPEL soap server URL</name> <value>https://soa.mycompany.com</value> ... </property> ... <property id="soapCallbackUrl"> <name>BPEL soap callback URL</name> <value>https://soa.mycompany.com</value> ... </property>
両方のコンピュータでOC4J_SOAインスタンスを再起動します。
BPELクラスタにアプリケーションをデプロイするときは、次の各手順を遵守する必要があります。
BPELプロセスと他のすべての必要な部分を、クラスタ内の各コンピュータにデプロイする必要があります。この手順が必要なのは、各コンピュータでカスタムjar(ローカルなEJBなど)が必要になる場合があるためです。
クラスタ内の各コンピュータで、obant.sh
を実行します。
すべてのコンピュータを1台ずつ起動します。1つのコンピュータが完全に起動されてから、次のコンピュータを起動します。
EJBバインディング用のクライアント・インタフェースを、各コンピュータのsystem/classes
ディレクトリにコピーします。次にBPEL Process Managerを再起動して、それらのクラスをロードします。
ビルドおよびデプロイ対象のアプリケーションで、bpel.xml
ファイルのwsdlLocation
がローカル・ファイル・システム上のwsdl
ファイルを指すように定義し、wsdlRuntimeLocation
が実行時にwsdl
ファイルを指すようにします。定義例は、ORACLE_HOME
/bpel/samples/demos/LoanFlow/LoanDemo/bpel/bpel.xml
を参照してください。
ORACLE_HOME
/bpel/samples/demos/LoanDemo
ディレクトリにあるサンプル・アプリケーションのLoanFlowを使用して、デプロイ後にBPELプロセスが動作することを検証します。
APPHOST1
およびAPPHOST2
のOC4J_SOA
インスタンスに、ESBランタイム・インスタンスをインストールする必要があります。
注意: 各コンポーネントのインストールにはそれぞれのコンポーネントCD-ROM(たとえば、Oracle BPEL Process Manager CD-ROMやOracle Enterprise Service Bus CD-ROM)を使用します。各コンポーネントは、J2EEサーバー・インストールとして同じOracleホームにインストールします(第3.1.5項「Application ServerインスタンスのAPPHOST1およびAPPHOST2へのインストール」でインストール済)。 |
使用しているプラットフォームに対応したOracle Application Serverのインストレーション・ガイドで説明されているとおり、システム、パッチ、カーネルの要件、およびその他の要件が満たされていることを確認します。このマニュアルは、ご使用のプラットフォームおよびリリースのOracle Application Serverドキュメント・ライブラリで参照できます。
Oracle Enterprise Bus(10.1.3.1.0)CDを挿入します。
次のいずれかのコマンドを使用して、Oracle Universal Installerを起動します。
UNIXでは、runInstaller
コマンドを発行します。
Windowsでは、setup.exe
をダブルクリックします。
「ようこそ」画面が表示されます。
「次へ」をクリックします。
「ファイルの場所の指定」画面が表示されます。
最初のJ2EE ServerのOracle Application Serverインスタンス(Adminインスタンスが常駐するインスタンス)をインストールしたインストール・ディレクトリを指定します。
「次へ」をクリックします。
「インストール・タイプの選択」画面が表示されます。
「Enterprise Service Bus for OracleAS Middle Tier」オプションを選択し、「次へ」をクリックします。
「送信HTTPプロキシ情報の指定」画面が表示されます。
ホスト、ポートおよびバイパス・プロキシを指定し、「次へ」をクリックします。
「データベースの指定」画面が表示されます。
データベース情報を指定します。
データベース・タイプ: Oracle Database
ホスト名とポート: INFRADBHOST1
.mycompany.com:1521^
INFRADBHOST2
.mycompany.com:1521
サービス名: orcldb.mycompany.com
ORAESBスキーマ・パスワード: ESBスキーマ・パスワード
「次へ」をクリックします。
「管理(Administration)設定」画面が表示されます。
インストール時に設定した管理者パスワードを入力し、OC4J_SOAインスタンスを選択し、HTTPホストおよびポート値(soa.mycompany.com:7777)を指定して、「次へ」をクリックします。
「ESBタイプの選択」画面が表示されます。
「ランタイム」を選択し、「次へ」をクリックします。
「サマリー」画面が表示されます。
「インストール」をクリックします。
インストール・プロセスが完了したら、「インストールの終了」画面が表示されます。
「終了」をクリックしてから、その選択を確認します。
BPELコンソールでタスクを実行中に、次のエラーが発生することがあります。
500 Internal Server Error
java.lang.OutOfMemoryError: PermGen space
このエラーを解決するには、MaxPermSize
パラメータを使用して、PermGen領域(静的クラスのロードに使用される)に割り当てられているメモリーを増やします。次の手順に従って、APPHOST1およびAPPHOST2のOracle Application Serverインスタンスで、MaxPermSize
パラメータを設定します。
ORACLE_HOME
/opmn/conf/opmn.xml
ファイルを開き、MaxPermSize
パラメータ(例3-1の太字の箇所)を見つけます。
例3-1 MaxPermSizeパラメータ
...
<category id="start-parameters">
<data id="java-options" value="-Xrs -server
-XX:MaxPermSize=128M -ms512M -mx1024M -XX:AppendRatio=3
-Djava.security.policy=$ORACLE_HOME/j2ee/Admin/config/java2.policy
-Djava.awt.headless=true -Dhttp.webdir.enable=false"/>
</category>
<category id="stop-parameters">
<data id="java-options"
value="-Djava.security.policy=$ORACLE_HOME/j2ee/Admin/config/java2.policy
-Djava.awt.headless=true -Dhttp.webdir.enable=false"/>
...
次の例に示すように、この値を増やします。
-XX:MaxPermSize=
256
M
ファイルを保存して閉じ、OPMNインスタンスを再起動します。
次の例外を除き、第3.1.13項「Oracle Enterprise Bus(10.1.3.1.0)CDからのESBランタイム・インスタンスのAPPHOST1およびAPPHOST2へのインストール」の手順を実行します。
「ファイルの場所の指定」画面で、該当するOracleホーム(ORA-HOME2)を選択します。
「管理(Administration)設定」画面で、OC4J_ESBDTインスタンスを選択します。
「ESBタイプの選択」画面で、「リポジトリ」を選択します。
OC4J_ESBDTインスタンスのフェイルオーバー・スキームでは、常に1つのインスタンスのみが起動されます。唯一のアクティブ・インスタンスに障害が発生した場合は、OPMNによってもう一方のインスタンスが起動されます。このフェイルオーバーを構成するには、両方のOC4J_ESBDTインスタンスで次の手順を実行します。
OC4J_ESBDTプロセスを、次に示すように変更します。
<process-type id="OC4J_ESBDT" module-id="OC4J" service-failover="1" status="enabled">
numprocs
エントリを削除します。
<process-set id="default_group" numprocs="1"/>
ORACLE_HOME
\opmn\bin
にある次のコマンドを発行して、インスタンスを再起動します。
opmnctl reload
opmnctl restartproc process-type=OC4J_ESBDT
インバウンド・ファイル・アダプタやFTPアダプタなどの単独のアダプタを使用するシステムをサポートするには、ファイル・アダプタをホストする追加のESBランタイム・インスタンス(ESBインスタンスのクラスタのメンバーではないインスタンス)が必要です。第3.1.13項「Oracle Enterprise Bus(10.1.3.1.0)CDからのESBランタイム・インスタンスのAPPHOST1およびAPPHOST2へのインストール」の手順に従って、追加のESBランタイム・インスタンスをインストールしてください。
インバウンド・ファイル・アダプタは、単一のESBランタイム・サーバーでのみサポートされます。インバウンド・ファイル・アダプタを使用する場合は、単一のESBランタイム・サーバー上のESBファイル・アダプタ・システムに対して、ESBインスタンスのクラスタ名(ORACLE_HOME
/integration/esb/config/esb_config.ini
ファイルのcluster_name
プロパティ)を設定する必要があります。
注意: ESBインスタンスのクラスタは、ランタイム・サーバー・タイプのインスタンスのみで構成する必要があります。リポジトリ・サーバー・タイプのインスタンスは、クラスタのメンバーにできません。 |
ORACLE_HOME
/integration/esb/bin
ディレクトリにナビゲートし、次のコマンドを発行します。
Windows: esbsetenv.bat
UNIX: esbsetenv.sh
esbparam.properties
という名前のファイルを作成し、例3-2に示すkey=valueのペアを記述します。
例3-2 esbparam.propertiesファイル
DT_OC4J_HTTP_PORT=7777 DT_OC4J_HOST=soa.mycompany.com PROP_NAME_DEFERRED_TOPIC_JNDI=ESBTopics/Topics/ESB_JAVA_DEFERRED PROP_NAME_DEFERRED_TCF_JNDI=OracleOJMS/TCF PROP_NAME_DEFERRED_XATCF_JNDI=OracleOJMS/XATCF PROP_NAME_CONTROL_TOPIC_JNDI=ESBTopics/Topics/ESB_CONTROL PROP_NAME_CONTROL_TCF_JNDI=OracleOJMS/XATCF PROP_NAME_ERROR_TOPIC_JNDI=ESBTopics/Topics/ESB_ERROR PROP_NAME_ERROR_TCF_JNDI=OracleOJMS/TCF PROP_NAME_ERROR_XATCF_JNDI=OracleOJMS/XATCF PROP_NAME_ERROR_RETRY_JNDI=ESBTopics/Topics/ESB_ERROR_RETRY PROP_NAME_ERROR_RETRY_TCF_JNDI=OracleOJMS/XATCF PROP_NAME_MONITOR_TOPIC_JNDI=ESBTopics/Topics/ESB_MONITOR PROP_NAME_MONITOR_TCF_JNDI=OracleOJMS/TCF PROP_NAME_INITIAL_CONTEXT_FACTORY=com.evermind.server.rmi.RMIInitialContextFactory ACT_ID_RANGE=400
次のコマンドを発行して、esb.parameter
表に移入します。
ant import-params -Dparamfile=
esbparam.properties
ESBコンソール・システムの画面で、各インストールに対して、非同期トピックのトピックおよびトピック・コネクション・ファクトリを次の値で更新します。
トピック: ESBTopics/Topics/ESB_JAVA_DEFERRED
トピック・コネクション・ファクトリ: OracleOJMS/XATCF
ORACLE_HOME
/integration/esb/config
ディレクトリにナビゲートします。
Domain_DB.xml
ファイルのコピーを作成し、Domain.xml
と命名します。
サーバーを再起動します。
Oracle Enterprise Manager 10gを使用して、次の手順を実行し、設計時と両方のESBリポジトリ・インスタンスにJNDIを構成します。
「管理」タブで、「すべてを開く」→「サービス」→「エンタープライズ・メッセージ・サービス」→「データベース永続性」をクリックします。
「データベース永続性」構成ページが表示されます。
「データベース永続性」構成ページで、「デプロイ」をクリックします。
Oracle Enterprise Manager 10gで、OC4J Adminインスタンスの「管理」タブにナビゲートします。
「すべてを開く」をクリックします。
「管理タスク」→「サービス」→「エンタープライズ・メッセージ・サービス」→「データベース永続性」にナビゲートします。
「デプロイ」をクリックします。
「データベース永続性プロバイダのデプロイ」画面が表示されます。
次のエントリを作成および選択します。
リソース・アダプタ・モジュール名: OracleOJMS
「このコネクタによって使用される新しいリソース・プロバイダを追加します。」を選択します。
リソース・プロバイダ名: esbRP
データソースのJNDIロケーション: jdbc/esbaqdatasource
「OK」をクリックします。
確認ページが表示されます。
「再起動」をクリックし、再起動の確認を求められたら、その選択を確認します。エラーが発生した場合は、opmnctl shutdown
およびopmnctl startall
コマンドを使用して、default
アプリケーションを再起動します。
確認メッセージが表示されます。
OracleOJMS RAの「リソース・アダプタ」ページの「コネクション・ファクトリ」タブで、「作成」をクリックしてコネクション・ファクトリを作成します。
「コネクション・ファクトリの作成: インタフェースの選択」画面が表示されます。
「コネクション・ファクトリ・インタフェース」ドロップダウン・リストから「javax.jms.XATopicConnectionFactory
」を選択し、「続行」をクリックします。
「コネクション・ファクトリの作成」画面が表示されます。
「JNDIロケーション」フィールドに「OracleOJMS/XATCF
」と入力します。「終了」をクリックします。
確認メッセージが表示されます。
次の値を使用して手順10から12までを繰り返し、もう一方のコネクション・ファクトリを作成します。
「コネクション・ファクトリ・インタフェース」ドロップダウン・リストから「javax.jms.TopicConnectionFactory
」を選択します。
「JNDIロケーション」フィールドに「OracleOJMS/TCF
」と入力し、「終了」をクリックします。
「管理対象オブジェクト」タブをクリックし、「作成」をクリックします。
「管理対象オブジェクトの作成」画面が表示されます。
「オブジェクト・クラス」ドロップダウン・リストから「oracle.j2ee.ra.jms.generic.AdminObjectTopicImpl
」を選択し、「続行」をクリックします。
「JNDIロケーション」フィールドに「ESBTopics
」と入力します。「終了」をクリックします。「JNDIロケーション」フィールドに「ESBTopics
」と入力します。「リソース・プロバイダ名」フィールドに「esbRP
」と入力します。
「終了」をクリックします。
確認メッセージが表示されます。
次に示すOC4JインスタンスにOWSMインスタンスをインストールする必要があります。
APPHOST1のOracleホーム1: OC4J_WSM
APPHOST1のOracleホーム4: OC4J_GTWY
APPHOST2のOracleホーム1: OC4J_WSM APPHOST2のOracleホーム4: OC4J_GTWY
注意: 各コンポーネントのインストールにはそれぞれのコンポーネントCD-ROM(たとえば、Oracle BPEL Process Manager CD-ROMやOracle Enterprise Service Bus CD-ROM)を使用します。各コンポーネントは、J2EEサーバー・インストールとして同じOracleホームにインストールします(第3.1.5項「Application ServerインスタンスのAPPHOST1およびAPPHOST2へのインストール」でインストール済)。 |
使用しているプラットフォームに対応したOracle Application Serverのインストレーション・ガイドで説明されているとおり、システム、パッチ、カーネルの要件、およびその他の要件が満たされていることを確認します。このマニュアルは、ご使用のプラットフォームおよびリリースのOracle Application Serverドキュメント・ライブラリで参照できます。
Oracle Web Services Manager(10.1.3.1.0)CDを挿入します。
次のいずれかのコマンドを使用して、Oracle Universal Installerを起動します。
UNIXでは、runInstaller
コマンドを発行します。
Windowsでは、setup.exe
をダブルクリックします。
Oracle Web Services Manager 10g(10.1.3.1.0)インストール画面が表示されます。
J2EE ServerのOracle Application Serverインスタンスをインストールしたインストール・ディレクトリを指定します。
アプリケーション・サーバーの詳細を次のように指定します。
HTTPホスト:ポート: soa.mycompany.com:7777
OC4Jインスタンス: OC4J_WSMまたはOC4J_GTWY(APPHOST1およびAPPHOST2の該当Oracleホームのそれぞれのインスタンスに応じて)
管理者のユーザー名: oc4jadmin
管理者のパスワード: インストール時に設定したパスワード
データベースの詳細を次のように指定します。
データベース・タイプ: Oracle(デフォルト)
ドライバ・タイプ: Thin(デフォルト)
名前: SOAデータベースのサービス名
データベース接続文字列: SOAデータベース・リスナーのホスト名およびポート(host:port形式)
ユーザーID: ORAWSM
パスワード: Oracle Web Services Managerスキーマのパスワード
「次へ」をクリックします。
「サマリー」画面が表示されます。
「インストール」をクリックします。
「インストール」→「Oracle Web Services Manager Configuration Assistant」→「インストールの終了」画面が表示されます。
「終了」をクリックしてから、その選択を確認します。
ORACLE_HOME
/j2ee/OC4J_GTWY/config
ディレクトリにナビゲートします。
load-on-startup
パラメータを削除します。
ORACLE_HOME
/j2ee/OC4J_WSM/config
ディレクトリにナビゲートします。
default-web-site.xml
ファイルを開きます。
load-on-startup
パラメータを削除します。
ORACLE_HOME_1
/opmn/bin
にある次のコマンドを実行します。
opmnctl stopall
opmnctl startall
ORACLE_HOME_4
/opmn/bin
にある次のコマンドを実行します。
opmnctl stopall
opmnctl startall
各ゲートウェイ・ホストをOWSMポリシー・マネージャに接続します。
ORACLE_HOME
/owsm/config/gateway/gateway-config-installer.properties
ファイルを編集し、gateway.policymanagerURL
プロパティをポリシー・マネージャURLに設定します。例: http://soa.mycompany.com/policymanager
ORACLE_HOME
/owsm/bin
にある次のコマンドを発行して、アプリケーションを再デプロイします。
Windows: wsmadmin.bat deploy
password
gateway
Linux: wsmadmin.sh deploy
password
gateway
前述のコマンドで、passwordは、OC4J_GTWYインスタンスの作成時に設定したOC4J_GTWYの管理者パスワードです。
次のOWSMコンソールにアクセスします(ユーザー名admin
、パスワードoracle
)。
http://soa.mycompany.com/ccore
注意: この手順ではデフォルトのパスワードを指定しています。セキュリティを保証するには、このパスワードを変更する必要があります。 |
「新規コンポーネントの追加」をクリックし、新しいゲートウェイを追加します。
次の値を使用して、クラスタ化されたゲートウェイを登録します。
コンポーネント名: Gateway_Cluster
コンポーネント・タイプ: ゲートウェイ
コンテナ・タイプ: Oracle Web Services Manager
コンポーネントURL: http://soa.mycompany.com/gateway
他のすべての値にはデフォルトを適用します。
単一の論理ゲートウェイをOWSMモニターに接続します。
http://soa.mycompany.com/ccoreにアクセスし、Oracle WSMコントロール・アプリケーションを起動します。
「強制ポイント」ページが表示されます。
構成対象のゲートウェイを選択し、その「編集」アイコンをクリックします。
cfluent.monitor.rmi.host
プロパティをモニターのホスト名に設定します。たとえば、APPHOST1
.mycompany.com
(coreman
は、APPHOST1で起動、APPHOST2で停止と想定)。
cfluent.monitor.rmi.port
プロパティをモニターのRMIポートに設定します。たとえば、3118(このポート番号は、ORACLE_HOME
/owsm/bin/coresv.properties
ファイルのdataload.monitor.rmi.port
の値)。
「保存」をクリックします。
各OC4J_WSMインスタンスで次の手順を実行し、Oracle WSMコントロールをOracle WSMモニターに接続します。
ORACLE_HOME
/owsm/config/ccore/ui-config-installer.properties
ファイルを開きます。
ui.om.server.rmiHost
プロパティをモニターのホスト名に設定します。
ui.om.server.rmiPort
プロパティをモニターのRMIポートに設定します。
ui-config-installer.properties
ファイルを保存して閉じます。
次のコマンドを使用して、アプリケーションを再デプロイします。
(Windows) wsmadmin.bat deploy
password
control
(Linux) wsmadmin.sh deploy
password
control
前述のコマンドで、passwordはOC4J管理者パスワードです。
アプリケーション層にすべてのコンポーネントをインストールしたら、ファイアウォール上で開いておく必要があるポート番号を指定できます。これは、インストールしたアプリケーション・サーバー・インスタンスの数とコンポーネントのタイプによって異なります。通常、ファイアウォールを構成する手順は次のようになります。
opmn.xml
ファイルを調べ、インストールした各インスタンスのコンポーネント・タイプと指定ポート範囲を特定します(たとえば、OC4Jのホーム・インスタンスとユーザー作成のすべてのインスタンス)。例3-5に、opmn.xml
ファイルのコンポーネントとデフォルト・ポートの箇所を示します。この例では、OC4JのAdmin
インスタンスはポート8888でリスニングし、別インスタンスのApps
はポート12501でリスニングしています。
netstat
コマンドを使用して、使用中のポートを調べます。
netstat -an
使用中のポートのみが開かれるようにファイアウォールを構成します。
例3-5 opmn.xmlのOracle Application Serverコンポーネントとポート範囲
<?xml version = '1.0' encoding = 'UTF-8'?> <opmn xmlns="http://www.mycompany.com/ias-instance"> <log path="$ORACLE_HOME/opmn/logs/opmn.log" comp="internal;ons;pm" rotation-size="1500000"/> <debug path="$ORACLE_HOME/opmn/logs/opmn.dbg" comp="" rotation-size="1500000"/> <notification-server interface="ipv4"> <port local="6104" remote="6204" request="6007"/> <ssl enabled="true" wallet-file="$ORACLE_HOME/opmn/conf/ssl.wlt/default"/> </notification-server> <process-manager> <process-modules> ... </process-modules> <ias-instance id="ohcoreidoid.stana17.mycompany.com" name="ohcoreidoid.stana17.mycompany.com"> ... <process-type id="IASPT" module-id="IASPT" working-dir="/scratch/aime6/coreidoid/oh/iaspt/bin"> <port id="ajp" range="7501-7600"/> <process-set id="IASPT" numprocs="1"/> </process-type> </ias-component> <ias-component id="ASG" status="enabled" id-matching="true"> ... </module-data> <start timeout="600" retry="2"/> <stop timeout="120"/> <restart timeout="720" retry="2"/> <port id="default-web-site" range="8895" protocol="ajp"/> <port id="rmi" range="12401-12500"/> <port id="rmis" range="12701-12800"/> <port id="jms" range="12601-12700"/> <process-set id="default_group" numprocs="1"/> </process-type> <process-type id="admin" module-id="OC4J" status="enabled"> <module-data> ... <port id="default-web-site" range="12501-12600" protocol="ajp"/> <port id="rmi" range="12401-12500"/> <port id="rmis" range="12701-12800"/> <port id="jms" range="12601-12700"/> <process-set id="default_group" numprocs="1"/> </process-type> </ias-component> <ias-component id="soa_group" status="enabled"> <process-type id="oc4j_soa" module-id="OC4J" status="enabled"> ... <start timeout="600" retry="2"/> <stop timeout="120"/> <restart timeout="720" retry="2"/> <port id="default-web-site" range="12501-12600" protocol="ajp"/> <port id="rmi" range="12401-12500"/> <port id="rmis" range="12701-12800"/> <port id="jms" range="12601-12700"/> <process-set id="default_group" numprocs="1"/> </process-type> </ias-component> </ias-instance> </process-manager> </opmn>
アプリケーションによって使用されるAJPポートの範囲は、12501から12600までです。Webサーバーとアプリケーション間のファイアウォールで、OC4Jアプリケーションによって使用されるすべてのAJPポートが開かれていることを確認する必要があります。ポートが開かれていない場合、Web層のアプリケーションにアクセスが試行されると(つまり、URL web host
:
port
/
application
がリクエストされると)、次のエラーが発生します。
mod_oc4j: request to OC4J apphost1.mycompany.com:12501 failed: Connect failed (errno=110)
このエラーが発生すると、ohs/logs
ディレクトリのログ・ファイルにエントリが作成されます。
この項の手順に従って、アプリケーションをデプロイします。この項の手順は、クラスタの構成前または構成後に実行できます。
Oracle Enterprise Manager 10g Application Server Controlコンソールを使用したアプリケーションのデプロイ
Application Server Controlコンソールを使用して、アプリケーションをデプロイできます。その手順は次のとおりです。
Application Server Controlコンソールにアクセスします。
http://
soa.mycompany.com:7777/em
「ログイン」ページが表示されます。
インストール時に指定したパスワードを入力し、「ログイン」をクリックします。
「OC4J: ホーム」ページが表示されます。
「クラスタ・トポロジ」リンクをクリックします。
「クラスタ・トポロジ」ページが表示されます。
「メンバー」リストで、アプリケーションをデプロイするOC4Jインスタンスを指定します。「ステータス」列に、インスタンスが実行中であることを示す緑色の上向きの矢印が表示されていることを確認します。
注意: アプリケーションは、同じグループに属す複数のインスタンスにデプロイできます。グループ内のインスタンスは同じ名前とパスワードを持ちます。グループの作成手順の詳細は、『Oracle Application Server管理者ガイド』の「Application Server Controlによるグループの管理」の項を参照してください。グループがすでに存在する場合は、「グループ」セクションをスクロール・ダウンして、グループ内の各インスタンスを確認できます。グループにデプロイする場合は、グループ名をクリックし、手順8に進みます。 |
対象のOC4Jインスタンスが起動されていない場合は、その行の先頭にある「選択」チェック・ボックスを選択し、「メンバー」リストの前にある「起動」ボタンをクリックしてインスタンスを起動します。
「処理中: 起動中」画面が、次のメッセージとともに表示されます。
The selected topology members are being started.
そのトポロジ・メンバーが起動されたことを示すメッセージが、「クラスタ・トポロジ」画面に表示されます。
アプリケーションをデプロイするOC4Jインスタンスのリンクをクリックします。
そのインスタンスの「OC4J」画面が表示されます。
「アプリケーション」リンクをクリックします。
インスタンスの「アプリケーション」ページが表示されます。
「デプロイ」をクリックします。
「デプロイ: アーカイブの選択」画面が表示されます。
アーカイブの場所を指定し、「次へ」をクリックします。
「デプロイ: アプリケーション属性」画面が表示されます。
アプリケーション名を指定し、「次へ」をクリックします。
「デプロイ: デプロイ設定」画面が表示されます。
(オプション)デプロイ・タスクを実行するか、デプロイ計画を編集します。あるいは、現行の設定をデプロイ計画として保存します。
「デプロイ」をクリックします。
「処理中: デプロイ」画面が、進行状況のメッセージとともに表示されます。
コマンドラインからのアプリケーションのデプロイ
コマンドラインを使用してアプリケーションをOC4Jインスタンスにデプロイする手順は次のとおりです。
APPHOST1_ORACLE_HOME
\jdk\bin\java
にある次のコマンドを発行します(各パラメータは、読みやすさを考慮して複数行に分割してあります)。
java -jar admin_client.jar
uri admin ID admin password
-deploy -file
full path
-deploymentName
app name
[-bindAllWebApps [
Web site name
]]
[-targetPath
full path
] [-parent
app name
] [-deploymentDirectory
full path
]
[-iiopClientJar
full path
]
注意: 理想的には、-bindAllWebApps サブスイッチを指定して、EAR内のすべてのWebモジュールを、それらへのアクセス時に経由されるWebサイトにバインドします。Webサイトを指定しないと、モジュールはデフォルトのWebサイトにバインドされます。 |
EARファイルは、デフォルトでORACLE_HOME
/j2ee/
instance name
/applications/ディレクトリにデプロイされます。デプロイ済のEARファイルも、このディレクトリにコピーされます。以降、デプロイのたびに、このEARファイルは上書きされます。
マルチキャスト通信が問題になる場合は、インストール後にORACLE_HOME
\opmn\conf\opmn.xml
ファイルを変更し、Web層およびアプリケーション層のクラスタに静的検出を構成できます。
マルチキャストが指定されたエントリを特定します。
<topology>
<discover list="*225.0.0.1:8001"/>
</topology>
このエントリを、静的検出を指定するノードのリストで置換します。
<topology>
<nodes list="apphost1:6200,apphost1:6200,apphost2:6200,apphost2:6200,webhost1:6200,webhost1:6200"/>
</topology>
ORACLE_HOME
\opmn\bin
にある次のコマンドを発行します。
opmnctl reload
ORACLE_HOME
\opmn\bin
にある次のコマンドを発行し、すべてのノードがクラスタ内にあることを確認します。
opmnctl @cluster status
注意: APPHOST1、APPHOST2、WEBHOST1およびWEBHOST2が異なるサブネットにある場合は、ゲートウェイのエントリも必要です(次の例の太字の箇所)。gateway listは、1つのサブネットにつき、1つのホストとポートのみで構成できます。ただし、フェイルオーバーが必要な場合は、各サブネットに複数のホストを含める必要があります。
<notification-server>
...
<gateway list="apphost1.mycompany.com:6200&apphost2.mycompany.com:6200&webhost1.mycompany.com:6200&webhost2.mycompany.com:6200/"/>
</topology>
</notification-server>
|
Fast Connection Failoverは、10gリリース1または10gリリース2のRACデータベースへのJDBC接続に対してフェイルオーバーを提供します。RACノードに障害が発生すると、Oracle Notification Service(ONS)によって障害が検出され、SQL例外がアプリケーション・コードにスローされます。APPHOST1およびAPPHOST2でFast Connection Failoverを有効化する手順は次のとおりです。
RACデータベースのホスト名およびリモート・ポートの識別子を追加します。
<notification-server>
<port local="6100" remote="6200" request="6003"/>
<ssl enabled="false" wallet-file="$ORACLE_HOME\opmn\conf\ssl.wlt\default"/>
<topology>
<nodeslist="apphost1:6200,apphost2:6200,webhost1:6200,webhost2:6200,infradbhost1:6200,infradbhost2:6200"/>
</topology>
</notification-server>
ファイルを保存して閉じます。
RACノードの情報を追加し、Fast Connection Failoverを有効化します。
<managed-data-source jndi-name="jdbc/TestDemoDS" description="Managed DataSource for TestDemoDS" connection-pool-name="TestDemoDS Connection Pool" name="TestDemoDS"/><connection-pool name="TestDemoDS Connection Pool" min-connections="10" max-connections="30" inactivity-timeout="30"> <connection-factory factory-class="oracle.jdbc.pool.OracleDataSource" user="system" password="welcome1" url="jdbc:oracle:oci:@(DESCRIPTION=(LOAD_BALANCE=off) (ADDRESS=(PROTOCOL=TCP)(HOST=infradbhost1.mycompany.com)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=infradbhost2.mycompany.com)(PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=loon)))"/> <property name="loginTimeout" value="30"/> <property name="connectionCachingEnabled" value="true"/> <property name="fastConnectionFailoverEnabled" value="true"/> </connection-factory> </connection-pool>
ファイルを保存して閉じます。
ORACLE_HOME
/opmn/bin
にある次のコマンドを発行します。
opmnctl reload
注意: データ層に対する追加構成が必要です(第2.2項「INFRADBHOST1およびINFRADBHOST2でのRACデータベースに対するFast Connection Failoverの構成」を参照)。 |
すべてのサービスで一貫性のある可用性を保証するには、すべてのOracle Application Serverコンポーネントの接続タイムアウト値を、ファイアウォールおよびロード・バランシング・ルーターの接続タイムアウト値より低い値に設定する必要があります。ファイアウォールまたはロード・バランシング・ルーターがTCPクローズ通知メッセージを送信せずに接続を解除した場合、Oracle Application Serverコンポーネントは、これ以上使用できない接続を引き続き使用しようとします。
インストールと構成が完了したら、この項の説明に従ってネットワーク通信を構成します。表3-2に、各ファイアウォール上のオープン・ポートを示します。ロード・バランシング・ルーターを構成します。
リクエストをhttp://soa.mycompany.com、ポート443で受信します。
SSLアクセラレーション機能を使用して、リクエストをWEBHOST1およびWEBHOST2のポート7777に負荷分散します。
ファイアウォールにDMZ1への通信を構成します。
http://WEBHOST1:7777
http://WEBHOST2:7777
WEBHOST1およびWEBHOST2上のONSリモート・ポートとして6200
ファイアウォールにDMZ2への通信とDMZ2からの通信を構成します。
http://APPHOST1(J2EEとSOAコンポーネント)のAJPポートとして12501〜12510
http://APPHOST2(J2EEとSOAコンポーネント)のAJPポートとして12501〜12510
APPHOST1およびAPPHOST2上のONSリモート・ポートとして6200
ファイアウォールにDMZ3への通信を構成します。
INFRADBHOST1およびINFRADBHOST2データベースとそのリスナー用のポートとして1521
ファイアウォール・ゾーン | ポート | 目的 |
---|---|---|
DMZ1からDMZ2 |
12501-12510 |
WEBHOST1およびWEBHOST2からAPPHOST1およびAPPHOST2のAJPポートへのアクセス |
DMZ1からDMZ2 |
6200、6201 |
OPMNクラスタ・ゲートウェイ |
DMZ2からDMZ1 |
7777 |
APPHOST1およびAPPHOST2からmysoacompany.com:7777へのループバック・アクセス |
DMZ2からDMZ3 |
1521 |
データベースへのアクセス |
DMZ2からDMZ3 |
389、636 |
Oracle Internet Directoryサーバーへのアクセス |
DMZ2からDMZ3 |
6200 |
|
DMZ3からDMZ2 |
6200 |
RACデータベースへのFast Connection Failover用のONSリモート・ポート |
実行が必要なタスクは、mySOACompanyに使用する認証方式によって異なります。フェイルオーバー・イベント後もユーザー・ログイン・セッションを永続させる場合は、シングル・サインオンを使用する必要があります。
JSSOとOracle Internet Directoryを実装するmySOACompany
次のタスクを実行します。
Oracle Access Managerを実装するmySOACompany
次のタスクを実行します。
Oracle Single Sign-Onを実装するmySOACompany
次のタスクを実行します。
『Oracle Containers for J2EEセキュリティ・ガイド』のOracle Identity Managementセキュリティ・プロバイダを使用する手順、およびOracle Identity Managementの認証方式の設定に関する項を参照してください。
第3.5.1項「APPHOST1およびAPPHOST2のBPELインスタンスのクラスタでのOracle Internet Directory使用の構成」
第5章「Oracle Single Sign-OnとOracle Delegated Administration Servicesのインストールと構成」
Oracle Internet Directoryを使用するOC4Jインスタンス(この項の説明に従って作成)に、Admin OC4Jインスタンス(インストール時に作成)のOracleAS JAAS Provider設定を手動でレプリケートする必要があります。
インストール前およびインストール後の要件の詳細は、『Oracle BPEL Process Manager管理者ガイド』の第2章にある「10.1.2 Oracle Internet Directoryを使用したIdentity Service 10.1.3.1.0の構成」を参照してください。
BPELにOracle Internet Directoryを構成する手順は次のとおりです。
ORACLE_HOME
/bpel/system/services/install/ant-tasks
にナビゲートします。
次のコマンドを発行します。
(Windows) configure_oid.bat
(Linux) configure_oid.sh
Linuxの場合の構文は次のとおりです。
sh ./configure_oid.sh oid_admin_user oid_admin_passwd oid_nonssl_port ssl_enabled oid_realm_name seedRequiredUsers | seedRequiredUsers oc4j_admin_user oc4j_admin_passwd oc4j_container_name
次に例を示します。
sh ./configure_oid.sh orcladmin welcome 389 false us seedRequiredUsers oc4jadminwelcome1 oc4j_soa
デフォルト(ホーム)インスタンス以外のOC4JインスタンスにBPELまたはESBがデプロイされている場合は、ORACLE_HOME
/j2ee/home/config/jazn.xml
ファイルをORACLE_HOME
/j2ee/
oc4j instance name
/config/jazn.xml
ファイルにコピーします。
注意: OC4Jインスタンスに対するポリシーは、jazn.xml ファイルの<jazn> 要素のプロバイダによって指定されます。
デプロイするアプリケーションで、そのデプロイ先インスタンスのインスタンスレベル・プロバイダとは異なるプロバイダが使用される場合( |
両方のOracle Application Serverインスタンス(APPHOST1およびAPPHOST2)で、この後に示す手順を実行し、OC4J_AdminおよびOC4J_SOAインスタンス内の次のアプリケーションに対してJava SSOを構成する必要があります。
orabpel
(Oracle BPEL Process Manager用)
esb-dt
(Oracle Enterprise Service Bus用)
ccore
(Oracle Web Services Manager用)
ascontrol
(Application Server Controlコンソール用)
Oracle Enterprise Manager 10g Application Server Controlコンソールにアクセスし、次の手順を実行します。
OC4Jインスタンスへのリンクをクリックします。
「OC4J:」ページが表示されます。
「アプリケーション」をクリックします。
アプリケーションが一覧表示されます。
「すべてを開く」をクリックします。
javasso
アプリケーションを選択し、「起動」をクリックします。
次の警告メッセージが表示されます。
Java SSOが適切に構成されていません。多くの場合、クラスタ内で異なる共有対称キーを使用する複数のJava SSOアプリケーションを実行していることが原因です。クラスタ内のすべてのJava SSOアプリケーションで同じ共有対称キーを使用するように構成してください。これは「Java SSO構成」ページで構成できます。
「Java SSOの構成」をクリックします。
SSO構成が完了したことと、その有効化にはインスタンスの再起動が必要であることを知らせる確認メッセージが表示されます。
「再起動」をクリックします。
確認メッセージが表示されます。
「はい」をクリックします。
インスタンスが再起動されます(構成インスタンスがOC4J_Adminの場合は、システムによってログイン・セッションが終了されるため、再度ログインして設定を続行する必要があります)。
「管理」セクションにスクロールし、「Java SSO構成」をクリックします。
「Java SSO構成」ページが表示されます。
「関連アプリケーション」をクリックします。
アプリケーションが一覧表示されます。
Java SSOを有効化するアプリケーションのチェック・ボックスを選択します。
「適用」をクリックします。
OWSMへのSSOを構成します。
『Oracle Containers for J2EEセキュリティ・ガイド』のOracle Identity Managementセキュリティ・プロバイダを使用する手順、およびOracle Identity Managementの認証方式の設定に関する項の説明に従って、owsm
コンソール・アプリケーションをOracle Internet Directoryセキュリティ・プロバイダで再構成します。
ワークリスト・アプリケーションは、Oracle Single Sign-OnまたはJava SSOをサポートしないサンプル・アプリケーションです。シングル・サインオンに未対応のアプリケーションを本番環境に配置したくない場合は、次の手順に従ってワークリスト・アプリケーションを無効化します。
ORACLE_HOME
/j2ee/home/config/default-web-site.xml
ファイルを開きます。
このファイルを編集し、次の行をコメント・アウトまたは削除します。
<web-app application="hw_services" name="worklistapp" load-on-startup="true" root="/integration/worklistapp" />
サーバーを再起動します。