Oracle BPEL Process Manager IBM WebSphere Application Serverのためのインストレーション・ガイド 10g リリース3(10.1.3.3)for UNIX Systems and Microsoft Windows B50571-01 |
|
戻る |
次へ |
Oracle BPEL Process Managerは、Webサービスへのリクエストの送信、Webサービスからのレスポンスの受信、今後使用するためのプロセスの保存(デハイドレーション)、保存済プロセスの取得、受信データに対するロジックの実行などのタスクを実行します。BPELプロセスの実行中に単一のOracle BPEL Serverに障害が発生すると、サービスが中断されます。信頼性、スループットおよびパフォーマンスが向上するようにクラスタを設定することで、この中断を回避できます。
この章では、迅速かつ信頼性の高いパフォーマンスを提供するように、10.1.3.1.0 Oracle BPEL Process Manager for OracleAS Middle Tierインストール・タイプのクラスタを作成および構成する方法について説明します。
この章の内容は次のとおりです。
Oracle BPEL Process Managerがインストールおよびクラスタ化されるJ2EEインスタンスは、OPMNクラスタの一部である必要があります。この環境では、BPELアプリケーションをデプロイするときに、BPELアプリケーションの一部であるJ2EEアプリケーションがすべてのノード(稼働中の場合)に自動的にデプロイされます。
Oracle BPEL Process Manager 10.1.3.1は、次のコンポーネントで構成されるクラスタ化環境をサポートしています。
次のOracle Application Server SOA拡張インストール・タイプのいずれかをインストールします。
J2EEサーバーとWebサーバー
J2EEサーバー
インストール中に、このインスタンスをOracle Application Serverクラスタの一部として構成するようにプロンプトが表示されます。
Oracle BPEL Process Manager for OracleAS Middle Tierインストール・タイプをインストールします。
後続の各項の作業では、Oracle BPEL Process Managerクラスタの作成方法について説明します。
次のコンポーネントは、Oracle BPEL Process Managerクラスタ化に適しています。
異なるノード上の複数のOracle BPEL Server(Oracle BPEL Process Manager for OracleAS Middle Tierインストール・タイプの一部としてインストール)。
クライアントとOracle BPEL Server間のすべての通信をプロキシするロード・バランサ。ロード・バランサは、ソフトウェア・ロード・バランサまたはハードウェア・ロード・バランサ(F5 BigIP Switchなど)になります。
すべてのOracle BPEL Serverインストールで共有されるデハイドレーション・ストア・データベース。
サーバーに障害が発生した場合は、別のサーバーで稼働しているその次に使用可能なOracle BPEL Serverが、最後のデハイドレーション・ポイントからプロセスを再開します。すべてのOracle BPEL Serverが同じデータベース・リソースとSOAP URLを共有します。フロント・エンド・ロード・バランサとディスパッチャが使用可能なかぎり、クラスタ内のOracle BPEL Server間でBPELプロセスが共有されます。Oracle BPEL Serverが停止すると、クラスタ内の残りのOracle BPEL Serverが選択され、障害が発生したOracle BPEL Serverの完了していないBPELプロセスの処理が続行されます。
図5-1に、このOracle BPEL Process Managerクラスタ化環境の概要を示します。
関連項目:
|
この項では、Oracle BPEL Process Managerクラスタの作成方法について説明します。
この項の内容は次のとおりです。
次のOracle Application Server SOA拡張インストール・タイプのいずれかをインストールするには、使用しているオペレーティング・システムの『Oracle Application Serverインストレーション・ガイド』の指示に従ってください。
J2EEサーバーとWebサーバー
J2EEサーバー
たとえば、host 1の場合は、次のようになります。
C:\OraBPELMT
Oracle BPEL Process Manager for OracleAS Middle Tierを、Oracle Application Server SOA拡張インストール・タイプと同じOracleホームにインストールします。
たとえば、host 1の場合は、次のようになります。
C:\OraBPELMT
手順1と2を繰り返して、Oracle Application Server SOA拡張インストール・タイプとOracle BPEL Process Manager for OracleAS Middle Tierを、異なるノード上(host 2、host 3など)の同じOracleホーム・ディレクトリにインストールします。
各Oracle BPEL Process Manager for OracleAS Middle Tierのインストール中に、同じデハイドレーション・ストアを指していることを確認します。
これで、インストールが完了しました。この項の残りの作業では、Oracle BPEL Process Managerクラスタの構成方法について説明します。
Oracle BPEL Process Manager for OracleAS Middle Tierをインストールした各ノードで、次のプロパティの値を設定することで、クラスタを構成します。
クラスタID、ホストおよびポート
マルチキャスト・アドレス
マルチキャスト・ポート
テキスト・エディタを使用して、SOA_Oracle_Home
\bpel\system\config\collaxa-config.xml
ファイルを開きます。
enableCluster
をtrue
に設定して、クラスタ化を有効にします。
<property id="enableCluster">
<name>Cluster enable flag</name>
<value>true</value>
使用するロード・バランサがインストールされているノードのclusterName
、クラスタID、ホスト名およびポートの各値を指定します。クラスタIDは、ノード間通信のフィルタとして使用される一意の文字列である必要があります。「J2EEサーバーとWebサーバー」インストール・タイプをインストールした場合は、Oracle HTTP Serverロード・バランサのクラスタID、ホスト名およびポートがデフォルトで表示されます。
<property id="clusterName"> <name>Cluster Id</name> <value>myhost-pc.us.oracle.com:8888</value>
enableCluster
およびclusterName
プロパティの値は、クラスタ内のすべてのOracle BPEL Process Managerノードについて同じにする必要があります。
変更内容を保存し、ファイルを閉じます。
テキスト・エディタを使用して、SOA_Oracle_Home
\bpel\system\config\jgroups-protocol.xml
ファイルを開きます。
クラスタ内の各ノードが同じサブネットにあるか異なるサブネットにあるかに応じて、次の手順を参照してください。
ユーザー・データグラム・プロトコル(UDP)のmcast_port
およびmcast_addr
値を指定します。
<config> <UDP mcast_send_buf_size="32000" mcast_port="45788" ucast_recv_buf_size="64000" mcast_addr="228.8.15.24" bind_to_all_interfaces="true" loopback="true" mcast_recv_buf_size="64000" max_bundle_size="48000" max_bundle_timeout="30" use_incoming_packet_handler="false" use_outgoing_packet_handler="false" ucast_send_buf_size="32000" ip_ttl="32" enable_bundling="false"/> <PING timeout="2000" num_initial_members="3"/> <MERGE2 max_interval="10000" min_interval="5000"/> <FD timeout="2000" max_tries="3" shun="true"/> <VERIFY_SUSPECT timeout="1500"/> <pbcast.NAKACK max_xmit_size="8192" use_mcast_xmit="false" gc_lag="50" retransmit_timeout="600,1200,2400,4800"/> <UNICAST timeout="1200,2400,3600"/> . . . . . .
mcast_port
およびmcast_addr
プロパティの値は、クラスタ内のすべてのOracle BPEL Process Managerノードについて同じにする必要があります。
変更内容を保存し、ファイルを閉じます。
手順13に進みます。
jgroups-protocol.xml
を次のように編集します。
<!-- For cluster across subnet, please use the following tcp config and - change the initial_hosts instead of the above, the initial_hosts that - are going to be participating in the cluster. --> <config> <TCP start_port="7900" loopback="true" send_buf_size="32000" recv_buf_size="64000"/> <TCPPING timeout="3000" initial_hosts="node1[7900],node2[7900]" port_range="3" num_initial_members="3"/> <FD timeout="2000" max_tries="4"/> <VERIFY_SUSPECT timeout="1500" down_thread="false" up_thread="false"/> <pbcast.NAKACK gc_lag="100" retransmit_timeout="600,1200,2400,4800"/> <pbcast.STABLE stability_delay="1000" desired_avg_gossip="20000" down_thread="false" max_bytes="0" up_thread="false"/> <VIEW_SYNC avg_send_interval="60000" down_thread="false" up_thread="false" /> <pbcast.GMS print_local_addr="true" join_timeout="5000" join_retry_timeout="2000" shun="true"/> </config>
node1
およびnode2
を実際のホスト名に置き換えます。
変更内容を保存し、ファイルを閉じます。
手順13に進みます。
「作業1: 必要なコンポーネントのインストール」でOracle Application Server SOA拡張インストール中にプロンプトが表示されたときに、ロード・バランサのURLを指定しなかった場合は、この情報を手動で指定する必要があります。
Oracle BPEL Admin Consoleにログインします。
http://localhost:port/BPELAdmin
oc4jadmin
ユーザー名およびパスワードを入力します。
「構成」タブで、ロード・バランサURLのホスト名およびポートを指すように、次の2つのパラメータを設定します。
Oracle Application Server SOA拡張インストール・タイプおよびOracle BPEL Process Manager for OracleAS Middle Tierがインストールされている残りのすべてのノード(host 2など)について、この構成手順を繰り返します。
ベスト・プラクティスとして、Oracle JDeveloperではなくant
を使用して、本番クラスタ環境にデプロイすることをお薦めします。
BPELプロセスのデプロイ元になるホストに移動します。
BPELプロセスがクラスタに対応していることを確認します。たとえば、プロジェクトがEJBバインディング(SOA_Oracle_Home
\bpel\samples\702.Bindings\EJBBinding
のサンプルなど)を使用する場合は、次の点を確認します。
URLをハードコードするのではなく、WSDLファイルの${jndi_provider_url}
などのシステム変数を使用します(前述のEJBBinding
ディレクトリのCreditRatingService.wsdl
ファイルをサンプルとして参照してください)。
EJBバインディングを使用する場合は、EJBスタブ・クラスをBPELクラスタ内の各ノードのSOA_Oracle_Home
\bpel\system\classes
ディレクトリにコピーまたはFTPで送信します。10.1.3.1クラス・ロードの現在の制限として、EJBクライアント側クラスは、BPELスーツケースとともにパッケージ化およびデプロイすることはできません。これらのクラスは、各ノードのsystem\classes
ディレクトリに存在する必要があります。build.xml
ファイルのant
プロパティ・タスクを使用すると、コピーまたはFTPの使用を自動化できます。詳細は、Apache ant
のドキュメントを参照してください。
BPELクラスタ内のノードごとに共有ライブラリをインポートして、サード・パーティ・ライブラリをアップロードします。詳細は、『Oracle Containers for J2EEデプロイメント・ガイド』を参照してください。
テキスト・エディタを使用して、SOA_Oracle_Home
\bpel\utilites\ant-orabpel.properties
ファイルを開きます。
複数のノード間で共通の値を共有するプロパティを定義します。次に例を示します。
http.hostname=load_balancer_url http.port=load_balancer_port cluster = true oc4jinstancename = default_group j2ee.hostname = node1.mycompany.com opmn.requestport=6005
それぞれの意味は次のとおりです。
http.hostname
とhttp.port
は、ロード・バランサのURLとポートです。URLは、Oracle Application Server SOA拡張インストール時に設定された、または「作業2: 構成ファイルの編集」の手順13のインストール後作業として手動で設定されたsoapServerUrlの値と一致する必要があります。soapServerUrlの値は、すべてのノードについて同じである必要があります。
cluster
は、アプリケーションがOC4Jクラスタにデプロイされることを示します。このプロパティは、J2EEアーティファクトに必要です。
oc4jinstancename
は、OC4J container for Oracle Application Serverがクラスタ化されるOPMNクラスタ・グループです。グループとは、同じクラスタ・トポロジに属するOC4Jインスタンスの集合です。
j2ee.hostname
は、Oracle Enterprise Manager 10g Application Server Controlコンソールを含むOC4JコンテナへのURLを定義します。
opmn.requestport
は、前述のOC4JコンテナのOPMNリクエスト・ポートを定義します。
ant
を実行して、BPELスーツケースをデプロイします。
注意:
|
関連項目: OC4Jコンテナおよびグループの詳細は、『Oracle Application Server管理者ガイド』を参照してください。 |
この章では、Oracle BPEL Process Managerクラスタの構成方法について説明しました。このクラスタは、Oracle Application Server SOAの「J2EEサーバーとWebサーバー」拡張インストール・タイプまたは「J2EEサーバー」拡張インストール・タイプと、「BPEL Process Manager for OracleAS Middle Tier」インストール・タイプで構成されます。