Oracle Application Server 高可用性フレームワーク
5.2 Oracle BPEL Process Manager
5.2.4 アダプタとの アダプタとの アダプタとの アダプタとの Oracle BPEL Process Manager の使用 の使用 の使用 の使用
5.2.4.2 同時実行性のサポート 同時実行性のサポート 同時実行性のサポート 同時実行性のサポート
同時実行性のサポートとは、複数のアダプタ・サービスがデータ破損を起こすことなく同時に 同じリソースにアクセスできることです。同時実行性のサポートを、トランザクションのサ ポートと考えることができます。例として、データベース・アダプタの複数のアダプタ・サー ビスからデータベース内の同じ表に同時にアクセスできることが挙げられます。
アダプタは同時実行性をサポートするものとサポートしないものに分けられます。
■ 同時実行性をサポートしないアダプタは、ファイルやFTPのアダプタです。これは、ファ イル・システムである外部リソースが同時アクセスをサポートしないためです。
■ その他すべてのアダプタが、同時実行性をサポートします。
表5-2に示すように、同時実行性のサポートまたは非サポートによって、アダプタの高可用性 オプションが影響を受けます。
すべての高可用性オプションについて、すべてのノードにアダプタがインストールされている ことが前提となっています。ただし、高可用性オプションによっては、1つのノードでのみ
Oracle BPEL Process Managerを実行するものがあります。
5.2.4.3 アダプタのアクティブ アダプタのアクティブ アダプタのアクティブ アダプタのアクティブ / アクティブ・トポロジ アクティブ・トポロジ アクティブ・トポロジ アクティブ・トポロジ
このトポロジは、同時実行性をサポートするアダプタに使用できます。
図5-1に、アクティブ/アクティブ・トポロジを示します。このトポロジでは、1つ以上の ノードの前面にロード・バランサを配置します。各ノードで、Oracle BPEL Process Managerお よびビジネス・プロセスを配置して実行します。これは、すべてのノードですべてのコンポー ネントを使用できるため、高可用性の点で理想のモデルといえます。
同時実行性をサポートしないアダプタをアクティブ/アクティブ・トポロジに配置すると、外 部データソースのデータが破損するおそれがあります(同時に同じファイルの読取りと書込み を行うなど)。
表表
表表5-2 アダプタの高可用性オプションアダプタの高可用性オプションアダプタの高可用性オプションアダプタの高可用性オプション アダプタ・タイプ
アダプタ・タイプ アダプタ・タイプ
アダプタ・タイプ 高可用性オプション高可用性オプション高可用性オプション高可用性オプション
同時実行性のサポート ■ 第5.2.4.3項「アダプタのアクティブ/アクティブ・トポロジ」
■ 第5.2.4.4項「アダプタの変更済アクティブ/アクティブ・トポロジ」
■ 第5.2.4.5項「アダプタのアクティブ/パッシブ・トポロジ」
同時実行性の非サポート
(ファイルおよびFTPア ダプタ)
■ 第5.2.4.4項「アダプタの変更済アクティブ/アクティブ・トポロジ」
■ 第5.2.4.5項「アダプタのアクティブ/パッシブ・トポロジ」
5.2.4.4 アダプタの変更済アクティブ アダプタの変更済アクティブ アダプタの変更済アクティブ アダプタの変更済アクティブ / アクティブ・トポロジ アクティブ・トポロジ アクティブ・トポロジ アクティブ・トポロジ
この変更済バージョンのアクティブ/アクティブ・トポロジは、次の相違点を除いて完全なア クティブ/アクティブ・トポロジと同様です。
■ このトポロジでもすべてのノード上でOracle BPEL Process Managerおよびビジネス・プロ セスを配置して実行しますが、最初のノード以外のすべてのノードで、同時実行性をサ ポートしないアダプタを使用するパートナ・リンクに対してアクティブ化エージェントを 無効にします。
最初のノードのアダプタ・サービスのみが受信リクエストを取得します。
このトポロジは、次のアダプタに使用できます。
■ 同時実行性をサポートしないアダプタ。
■ 同時実行性をサポートするアダプタ。このタイプのアダプタは完全なアクティブ/アク ティブ・トポロジで実行できますが、リソースを調整するために(メッセージの適切な シーケンスの管理と確認など)そのトポロジでは実行しないことにすると、実行されるア ダプタ・サービスを常に1つのみにすることがこれを実行する唯一の方法になります。
図5-2に、変更済アクティブ/アクティブ・トポロジを示します。
図図
図図5-2 変更済アクティブ変更済アクティブ変更済アクティブ変更済アクティブ/アクティブ・トポロジアクティブ・トポロジアクティブ・トポロジアクティブ・トポロジ
アクティブ化エージェントを使用しているノードに障害が発生した場合は、次の手順を実行す る必要があります。
■ 障害の発生したノードのアクティブ化エージェントを無効にし、このノードが再びアク ティブになったときにアクティブ化エージェントが実行されないようにします(別のノー ドですでにアクティブ化エージェントが実行されているためです)。
■ 別のノードのアクティブ化エージェントを有効にします。
アクティブ化エージェントを無効にするには アクティブ化エージェントを無効にするには アクティブ化エージェントを無効にするには アクティブ化エージェントを無効にするには
アクティブ化エージェントを無効にするには、bpel.xmlファイルのactivationAgent要素 をコメント・アウトします。次の例では、無効にするアクティブ化エージェントが含まれるコ メント行を示します。
<activationAgents>
<!-- start comment <activationAgent
className="oracle.tip.adapter.fw.agent.jca.JCAActivationAgent"
partnerLink="InboundPL">
<property name="InputFileDir">C:/ora_home/integration/bpm/samples/tutorials/
121.FileAdapter/ComplexStructure/InputDir/</property>
<property name="portType">Read_ptt</property>
</activationAgent>
end comment -->
</activationAgents>
5.2.4.5 アダプタのアクティブ アダプタのアクティブ アダプタのアクティブ アダプタのアクティブ / パッシブ・トポロジ パッシブ・トポロジ パッシブ・トポロジ パッシブ・トポロジ
このトポロジは、すべてのアダプタに使用できます。アクティブ/パッシブ・トポロジは、
OracleAS Cold Failover Clusterトポロジとも呼ばれます。
アクティブ/パッシブ・トポロジ(図5-3を参照)では、ハードウェア・クラスタに2つの ノードがあります。そのうちの1つはアクティブ・ノード、もう1つはパッシブ・ノードです。
共有記憶域もあり、これにOracleホーム・ディレクトリをインストールします。共有記憶域は アクティブ・ノードにのみマウントされます。
ハードウェア・クラスタのアクティブ・ノードは、仮想ホスト名およびIPに関連付けられてい ます。クライアントは、仮想ホスト名を使用して、クラスタ内のアクティブ・ノードにアクセ スします。
実行時に、アクティブ・ノードはプロセスを実行します。仮想ホスト名はアクティブ・ノード を指し示します。アクティブ・ノードが使用不可になると、フェイルオーバー・イベントが発 生します。パッシブ・ノードが新しいアクティブ・ノードになり、プロセスを実行します。
次の相違点を除いて単一ノード配置の場合と同じように、Oracle BPEL Process Managerをイン ストールして管理します。
■ Oracleホーム・ディレクトリを共有記憶域にインストールします。
■ クライアントは、仮想ホスト名を使用してアクティブ・ノードにアクセスします。クライ アントは、Oracle BPEL Process Managerを実際に実行しているノードを認識する必要はあ りません。
図図
図図5-3 OracleAS Cold Failover ClusterトポロジにおけるアダプタとのトポロジにおけるアダプタとのトポロジにおけるアダプタとのトポロジにおけるアダプタとのOracle BPEL Process Managerの使用の使用の使用の使用