ヘッダーをスキップ

Oracle Application Server 高可用性ガイド
10g リリース2(10.1.2)
B15817-04
目次
目次
索引
索引

戻る 次へ

5
中間層コンポーネントの高可用性

この章では、次の中間層コンポーネントの高可用性に関する情報を提供します。

5.1 アクティブ/パッシブ・トポロジでの中間層コンポーネント

通常、ほとんどの中間層コンポーネントがアクティブ/パッシブ・トポロジであるOracleAS Cold Failover Clusterトポロジでサポートされます。ただし、OracleAS Cold Failover Clusterトポロジで実行する際にいくつかの条件を考慮する必要のある中間層コンポーネントがあります。これらのコンポーネントは、次のとおりです。

詳細は、各コンポーネントに関する項を参照してください。

5.2 OracleAS Portal

OracleAS Portalは、OracleAS Portalを実行する2つ以上の中間層インスタンスのあるアクティブ/アクティブ・トポロジで実行できます。これらの中間層インスタンスの前面にはロード・バランサがあり、中間層にリクエストを分散します。

このトポロジには、次の2つのバージョンがあります。

アクティブ/アクティブ・トポロジにおけるOracleAS Portalの重要点
OracleAS Webクリッピング・ポートレットのセッション・バインディング

OracleAS Web Cacheのセッション・バインディング機能を使用すると、ユーザー・セッションを特定のオリジナル・サーバーにバインドし、一定期間状態を保持できます。デフォルトのOracleAS Portal中間層で実行されているほとんどすべてのコンポーネントはステートレスですが、セッション・バインディングは次の2つの理由により必要です。

詳細は、『Oracle Application Server Portal構成ガイド』の「手順7: OracleAS Web Cacheでのセッション・バインドの有効化」を参照してください。

5.3 OracleAS Wireless

高可用性を実現するようにOracleAS Wirelessを構成する方法は、『Oracle Application Server Wireless管理者ガイド』の第14章「ロード・バランシングとフェイルオーバー」を参照してください。

OracleAS Cold Failover Cluster(中間層)トポロジでOracleAS Wirelessを実行するには、各ノードのローカル記憶域に中間層のOracleホームをインストールする必要があります。OracleAS Wirelessは、単一のOracleホーム・インストールではサポートされません(つまり、共有記憶域に中間層のOracleホームをインストールする場合はサポートされません)。

5.4 OracleAS Reports Services

OracleAS Reports Servicesは、Oracle Application Serverのレポート公開コンポーネントです。これは、あらゆるフォーマットでどのような場所でも、あらゆるデータを動的に取得、フォーマットおよび配布する高品質レポートを作成するエンタープライズ・レポート作成サービスです。OracleAS Reports Servicesを使用すると、WebベースとWebベース以外の環境の両方で公開できます。

OracleAS Reports Servicesの詳細は、『Oracle Application Server Reports ServicesレポートWeb公開ガイド』を参照してください。

この項の内容は、次のとおりです。

5.4.1 OracleAS Reports Servicesのアーキテクチャ

OracleAS Reports Servicesは、Oracle Application Server中間層インスタンスのプロセスのセットとして実行されます。これらのプロセスでは、クライアントからのリクエストの処理、レポートの準備、データベースへのリクエストの発行およびクライアントへの結果の返信が行われます。OracleAS Reports Servicesの主なプロセスは、次のとおりです。

表5-1    OracleAS Reports Servicesの主なプロセス 
プロセス  説明 

Reports Client 

Reports Clientは、Reports Serverに接続します。Reports Clientは、コマンドライン・クライアント(rwclient)またはWebベースのクライアント(Reports Servlet)のいずれかです。 

Reports Servlet 

Reports Servletは、特定のReports Serverにリクエストを送信します。Reports Servletは、OC4Jの下で実行されます。 

Reports Server 

Reports Serverは、リクエストの解析と、リクエストを処理するために1つ以上のReports Engineの作成を行います。Reports Serverは、スタンドアロン・プロセスとして実行することも、OC4Jプロセス内で実行することもできます。OC4Jプロセス内で実行する場合は、「プロセス内Reports Server」と呼ばれます。

スタンドアロン・プロセスとして実行する場合は、OracleAS Reports ServicesコンポーネントをインストールしたOracle Application Server中間層ノードで実行する必要はありません。 

Reports Engine 

Reports Engineは、個々のリクエストを処理します。Reports Engineは、必要に応じてデータベースに接続します。Reports Engineは、リクエストを処理し、処理の完了時にReports Serverに通知します。 

図5-1に、これらのプロセス間の相互作用を示します。

図5-1    OracleAS Reports Servicesのプロセス


画像の説明

5.4.2 OracleAS Reports Servicesの高可用性機能

OracleAS Reports Servicesには、次の高可用性機能が備わっています。

5.4.2.1 プロセス管理

プロセス内Reports Serverは、「urlping-parameters」を使用してOPMNによって管理されます。なんらかの理由によりoc4j_bi_formsインスタンスが再起動した場合は、Reports Serverも再起動して、oc4j_bi_formsインスタンスが有効になったときに使用可能になります。

スタンドアロンのReports Serverは、OPMNによってコンポーネントとして管理されます。Reports Serverに障害が発生するか、Reports Serverが予期せず停止した場合、OPMNはこれを自動的に再起動します。インストール時に、デフォルトのReports ServerはOPMNによって管理されるよう自動的に構成されます。新しく追加したReports Serverは、OPMNで管理できるように手動で構成する必要があります。これらの構成手順は、ドキュメントに記載されています。

Reports Bridgeを使用する場合も、OPMNで管理できるようにこれを構成する必要があります。Reports BridgeをOPMNで構成する手順は、ドキュメントに記載されています。

5.4.2.2 接続の再試行

OracleAS Reports Servicesが接続しようとしているコンポーネントが使用不可の場合に、OracleAS Reports Servicesでは次の機能が使用されます。

5.4.2.2.1 OracleAS Portalデータベースへの接続の再試行

Reports ServerからOracleAS Portalデータベース・スキーマへの接続がなんらかの理由により切断された場合、Reports Serverはエラーを生成する前に接続を再確立しようとします。Reports Serverは、OracleAS Metadata RepositoryからOracleAS Portal接続文字列を取得し、再接続を試行します。再接続が成功した場合は、Reports Serverの再起動は不要です。

5.4.2.2.2 Oracle Internet Directoryへの接続の再試行

Oracle Internet Directoryへの接続がなんらかの理由により失効した場合、Reports ServletおよびReports Serverは、エラーを生成する前に接続を再確立しようとします。再接続が成功した場合は、Reports Serverの再起動は不要です。

5.4.2.2.3 OracleAS Metadata RepositoryおよびOracle Identity Managementの停止

(セキュリティ・メタデータが格納されている)OracleAS Metadata Repositoryの停止によって、Reports Serverが停止することはありません。OracleAS Metadata Repositoryが使用不可の場合、Reports Serverはいずれかのコンポーネントが使用不可であることを理由に新しいリクエストを拒否します。OracleAS Metadata Repositoryがオンラインに戻ると、Reports Serverはリカバリし、新しいリクエストの受信と処理を始められます。

Oracle Identity Managementコンポーネントがなんらかの理由により使用できなくなった場合も、Reports Serverは新しいリクエストを拒否します。Reports Serverでは、OracleAS Metadata Repositoryの停止の場合と同様の対応が行われます。

5.4.2.3 Reports Serverのタイムアウト

Reports Serverでは、データベースからリクエストが返されるまで待機する際のタイムアウトを構成できます。このタイムアウトは、有効なレポートを実行できるだけ十分高い値に設定する必要がありますが、過度に長く待機するほど高くはならないようにします。タイムアウトは、ORACLE_HOME/reports/conf/<サーバー名>.confファイルのconnection要素のidleTimeOut属性で構成できます。

5.4.3 アクティブ/アクティブ構成のOracleAS Reports Services

図5-2に示すように、OracleAS Reports Servicesをアクティブ/アクティブ構成で実行できます。この場合、Oracle Application Server中間層インスタンスが複数あり、各インスタンスで固有のReports ServletとReports Serverが実行されます。Oracle HTTP Serverの前面に配置されているロード・バランサによって、リクエストがインスタンスに分散されます。

すべてのReports Servletが、1つのデフォルトのReports Serverにバインドされます。個々のレポート・リクエストに対して特定のReports Serverを指定することができますが、デフォルトのReports Serverが使用不可の場合に代替のReports Serverを指定する方法はありません。

インスタンスに障害が発生した場合は、ロード・バランサが障害を検出し、残りのアクティブなインスタンスにすべてのリクエストをルーティングします。

コマンドライン・クライアントrwclientはアクティブ/アクティブ構成ではサポートなし

アクティブ/アクティブ構成ではWebクライアントのみがサポートされます。コマンドライン・クライアントrwclientは、サポートされません。これは、rwclientは名前で特定のReports Serverに接続しますが、特定のReports Serverについて名前付きのインスタンスが1つしかない場合があるためです。高可用性環境でrwclientを実行するには、アクティブ/パッシブ構成を使用します。第5.4.4項「アクティブ/パッシブ構成のOracleAS Reports Services」を参照してください。

マルチキャスト・サブネット

OracleAS Reports Servicesの場合、アクティブ/アクティブ構成ではインスタンスおよびコンポーネントをすべて同じサブネットで実行する必要があります。これは、Reports ServletでReports Serverの検出にマルチキャストが使用されるためです。異なるサブネット間でOracleAS Reports Servicesコンポーネントを実行する必要がある場合は、Reports Bridgeを使用して、異なるサブネットのReports Serverにアクセスできるようにする必要があります。この場合、Reports Bridgeは重要コンポーネントとなるため、OracleAS Cold Failover Clusterなどの高可用性の手法を使用して保護する必要があります。

図5-2    アクティブ/アクティブ構成でのOracleAS Reports Servicesの実行


画像の説明

アクティブ/アクティブ構成の作成手順

このアクティブ/アクティブ構成を作成するには、次の手順を実行します。

  1. 2つ以上の中間層インスタンスをインストールします。

  2. リクエストをインスタンスに分散するようにロード・バランサを構成します。

  3. 各Reports Serverが異なる名前を持つことを確認します。

  4. 追加のReports Serverを設定する場合は、それらを管理するようにOPMNを構成してください。詳細は、次のマニュアルを参照してください。

    項目  タイトル 

    マニュアル 

    『Oracle Application Server Reports ServicesレポートWeb公開ガイド』

    このマニュアルは、Oracle Application Serverのドキュメント・セットにあります。 

    章 

    第3章「OracleAS Reports Servicesの構成」 

    項 

    「Oracle Process Manager and Notification ServerおよびOracle Enterprise Manager 10gによるReports Serverの構成」 

  5. 構成ファイルがすべての中間層インスタンスでまったく同じであることを確認します。構成ファイルが異なると、各インスタンスでリクエストが異なる方法で解析される場合があります。構成ファイルの内容は、次のとおりです。

    • キー・マップ・ファイル(デフォルトでは、ORACLE_HOME/reports/conf/cgicmd.dat

    • Reports Servletプロパティ・ファイル(デフォルトでは、ORACLE_HOME/reports/conf/rwservlet.properties

    • Reports Server永続ファイル(デフォルトでは、ORACLE_HOME/reports/server/<server_name>.dat

      永続ファイルには、完了ジョブとスケジュール済ジョブの一覧があります。Reports Serverには、それぞれ独自の永続ファイルがあるため、別のReports Serverでは、異なるセットの完了ジョブ・リクエストがあります。

      永続ファイルにはスケジュール済ジョブも格納されているため、このファイルやインスタンスの損失によって、そのReports Serverのすべてのスケジュール済ジョブが失われることを意味します。これは、アクティブ/アクティブ構成であっても同様です。スケジュール済ジョブを実行する際は、このファイルがリストア可能である必要があります。

  6. バックアップ計画を設定して、すべての構成ファイル(特にReports Serverバッチ・ファイル)を定期的に頻繁にバックアップします。

5.4.4 アクティブ/パッシブ構成のOracleAS Reports Services

OracleAS Reports Servicesは、提供されているスクリプトを使用してアクティブ/パッシブ構成でインストールまたはデプロイできます。ただし、次の制限事項に注意してください。

5.5 OracleAS Forms Services

OracleAS Forms Servicesを構成するランタイム・コンポーネントを表5-2に示します。

表5-2    Forms Servicesのランタイム・コンポーネント 
コンポーネント  機能 

Forms Servlet 

Forms Servletでは、最初のアプリケーション・リクエストが処理され、Forms汎用JavaアプレットのHTML起動ファイルが動的に生成されます。OracleAS Single Sign-Onを使用している場合は、Forms Servletもユーザー認証の検証に使用されます。 

Forms Listener Servlet 

Forms Listener Servletは、ディスパッチャ・サーブレットの1つで、クライアント・ブラウザのForms Javaクライアントと中間層サーバーのFormsランタイム・プロセスとの通信を処理します。Forms Listener Servletは、各アプリケーション・リクエストおよびユーザーに対してFormsランタイム・プロセスを起動します。 

Forms Runtime Engine 

Forms Runtime Engineは、Formsアプリケーション・モジュール(fmxファイル)を解析し、それに含まれるビジネス・ロジックを実行します。また、Forms Runtime Engineは、SQLNetを使用してデータベース接続を作成します。 

OracleAS Forms Servicesは、中間層の専用サーバー・プロセスとして存在しているわけではないため、Web上でのリクエストとFormsアプリケーションの実行には、Forms Servicesを実行するよう構成されているサーブレット・コンテナ(OC4J)の可用性のみが必要です。

OracleAS Forms Servicesでは、各ユーザーに対して専用のForms Runtimeプロセスが起動されるため、透過的なアプリケーション・フェイルオーバーはありません。ユーザー・セッションが中断された場合、ユーザーはForms Servletに新しいリクエストを発行することによってForms Webアプリケーションを再起動する必要があります。

中間層サーバーがクラッシュしたり、サーブレット・セッションが中断されたりした場合は、アプリケーションを再起動することによって障害からリカバリします。OracleAS Forms Servicesに高可用性を設定するには、次のコンポーネントを使用します。

mod_oc4j: OC4Jインスタンスの障害を扱います。異なるOC4Jインスタンス間でアプリケーション・リクエストをロード・バランシングするようOracleAS Forms Servicesを設定できます。これによって、現在のOC4Jインスタンスに障害が発生した場合に、アプリケーション・リクエストを次に使用可能なOC4Jインスタンスに必ずルーティングできるようになります。

OracleAS Web Cache: OracleAS Web CacheをHTTPロード・バランサとして使用することにより、同じInfrastructureインストールを共有しているかどうかにかかわらず、多数のOracle Application Serverインスタンス間でFormsリクエストを分散できるようになります。1つのインスタンスに障害が発生した場合、次のFormsアプリケーション・リクエストは次に使用可能なインスタンスにルーティングされます。また、各インスタンスでmod_oc4jを使用して、OC4Jインスタンス間でFormsセッションをロード・バランシングできます。

ハードウェア・ロード・バランサ: ハードウェア・ロード・バランサをOracleAS Web Cacheの前面に配置することができます。これにより、Formsリクエストのロード・バランシングにレイヤーを1つ追加できます。または、OracleAS Web Cacheをハードウェア・ロード・バランサに置き換えて、Oracle HTTP Serverに直接リクエストをロード・バランシングすることもできます。

Forms Servicesインストールで使用されるOracleAS Infrastructureの場合、Oracle Identity Managementを含めて、OracleAS Cold Failover Clusterトポロジを使用します。これについては、第9章「OracleAS Infrastructure: 高可用性トポロジ」で説明します。

Forms Serviceのアーキテクチャおよび設定の詳細は、『Oracle Application Server Forms Services利用ガイド』を参照してください。

5.6 OracleAS Integration B2B

OracleAS Integration B2Bは、実行時にOracle Application Serverスタックからいくつかのコンポーネントを使用します。これには、Oracle HTTP Server、OC4JおよびOracleAS Metadata Repositoryが含まれます。図5-3に、OracleAS Integration B2Bの高可用性構成を示します。

図5-3    OracleAS Integration B2Bの高可用性構成


画像の説明

OracleAS Integration B2Bサービスで高可用性を実現するには、次のコンポーネントの高可用性を実現する必要があります。

説明のために、ランタイム・アーキテクチャを次の層にセグメント化できます。

これらの層のいずれかにアクティブ/アクティブの可用性がある場合は、OracleAS Integration B2Bにもアクティブ/アクティブの可用性があります。これらの層のいずれかがアクティブ/パッシブである場合は、OracleAS Integration B2Bサービスはアクティブ/パッシブになります。たとえば、OracleAS Infrastructure層でOracleAS Cold Failover Cluster(Infrastructure)構成が使用されている場合、OracleAS Integration B2Bサービスにはアクティブ/パッシブの可用性があります。

WebサーバーとOC4J層

この層は、Oracle HTTP ServerとOC4Jトランスポート・サーブレット・インスタンスで構成されています。サーブレットは、OC4Jコンテナにデプロイされ、そのコンテナの高可用性プロパティを利用できます。これは、OracleAS Cluster(OC4J)にグループ化され、一貫した構成のためにDCMによって同期化できます。OC4Jインスタンスはmod_oc4jによってロード・バランシングされます。

アクティブ/アクティブの可用性のために、WebサーバーとOC4J層の前面にロード・バランシング・ルーター機器またはOracleAS Web Cache(あるいはその両方)を配置します。OracleAS Web Cacheを使用している場合、OracleAS Cluster(Web Cache)内に構成する必要があります。OracleAS Web Cache、Oracle HTTP ServerおよびOC4Jプロセスの監視および自動再起動は、OPMNによって実行されます。

トランスポート・サーブレットは、OracleAS Integration B2Bインスタンスにリクエストを転送し、インスタンスからレスポンスを受信するタスクを実行します。このサーブレットは、処理するリクエストごとの状態を保持しません。それらは、Java RMIを介してOracleAS Integration B2Bインスタンスと通信します。OracleAS Integration B2Bの各インスタンスは、トランスポート・サーブレットをホスティングする各OC4Jコンテナのweb.xmlファイルに登録されます。サーブレットは、ラウンドロビン・モデルを使用してOracleAS Integration B2Bインスタンスにリクエストを転送します。OracleAS Integration B2Bインスタンスのいずれかに障害が発生した場合、指定されたタイムアウトの期間が経過した後、サーブレットはラウンドロビン・キュー内の次のインスタンスにリクエストを再ルーティングします。

OracleAS Integration B2B層

OracleAS Integration B2B層は、OracleAS Integration B2Bサーバー・ランタイムで構成されています。これはJavaアプリケーションですが、そのインスタンスはOC4Jコンテナ内では実行されません。これらはそれ自体のスタンドアロンJVMプロセス内で実行されます。

OracleAS Integration B2Bサーバーには、次の特徴があります。

サーバーがアクティブ/アクティブの可用性を持つようにするには、そのランタイムの(異なるノード上の)複数のインスタンスをインスタンス化する必要があります。理想的には、ノードの障害から保護するためにこれらのインスタンスを複数のノードに配置する必要があります。各インスタンスの障害の検出と自動再起動の管理はOPMNによって確保されます。

OracleAS Integration B2Bインスタンスへのインバウンド通信はOracle HTTP Serverの前面に配置されたロード・バランサによって受信されます。ロード・バランサは、Oracle HTTP Serverインスタンスにリクエストを分散し、Oracle HTTP Serverはmod_oc4jロード・バランシングを使用してリクエストをトランスポート・サーブレットに転送します。トランスポート・サーブレットは、RMIプロトコルを使用してリクエストをOracleAS Integration B2Bインスタンスに送信します。

OracleAS Integration B2Bインスタンスからのアウトバウンド通信は、次のように実行されます。インスタンスがレスポンスを、プロキシ・サーバーとして構成されているOracle HTTP Serverに送信します。この構成は、プロキシ・ホストとポート・プロパティをtip.propertiesファイルで指定することによって実現できます。

OracleAS Infrastructure層

OracleAS Infrastructure層の高可用性は、第9章「OracleAS Infrastructure: 高可用性トポロジ」に記載されているOracleAS Infrastructureの高可用性構成のいずれによっても実現できます。これらの構成によって、Webサーバー、OC4JおよびOracleAS Integration B2B層に対するOracleAS Metadata RepositoryおよびOracle Identity Managementコンポーネントの高可用性が確保されます。アクティブ/アクティブの可用性には、第6.2.1項「アクティブ/アクティブ型の高可用性トポロジ」に記載されている構成の1つを使用する必要があります。これによって、OracleAS Integration B2Bサービス・スタック全体のアクティブ/アクティブの可用性を確保できます。

5.7 OracleAS Integration InterConnect

OracleAS Integration InterConnectには、ハブ・アンド・スポーク型のアーキテクチャがあります。図5-4に、例として2つのスポーク・アプリケーションを持つOracleAS Integration InterConnectコンポーネントを示します。

図5-4    例として2つのスポーク・アプリケーションを持つOracleAS Integration InterConnectランタイム・コンポーネント


画像の説明

OracleAS Integration InterConnectコンポーネントは、次のとおりです。

OracleAS Integration InterConnectで高可用性を実現するには、そのコンポーネントの高可用性を実現する必要があります。また、アダプタに情報を提供するデータまたはメッセージ・ソースに高可用性があることも必要です。これらは、スポーク・アプリケーションです。これらのアプリケーションは、カスタマ依存で、Oracle Application Server製品の一部ではないため、このマニュアルではその高可用性について説明しません。

高可用性の説明のために、OracleAS Integration InterConnectコンポーネントを次の層にセグメント化できます。

次の項では、各層の高可用性の実現方法について説明します。

関連項目

OracleAS Integration InterConnectコンポーネントの詳細は、OracleAS Integration InterConnectのドキュメントを参照してください。 

アダプタ層

HTTPアダプタ以外の各アダプタは、スタンドアロンJVMプロセス(OC4Jではない)で稼動し、ステートレスです。このJVMプロセスは、プロセスの障害の検出と自動再起動を行うようにカスタムOPMNアプリケーションとして構成できます。カスタム・アプリケーションはopmn.xmlファイルで構成できます。これを行う手順は、『Oracle Process Manager and Notification Server管理者ガイド』を参照してください。構成後、アダプタ・プロセスはOPMN(opmnctlコマンド)を使用して起動する必要があります。

OPMNは、個別のプロセスの監視および再起動のみを行います。アダプタ層を完全に冗長化するには、複数のアダプタ・プロセスが必要です。アダプタは、アクティブ/アクティブまたはアクティブ/パッシブの方法を使用して設定できます。

ハブ・データベースがReal Application Clustersデータベースである場合、アダプタはReal Application Clustersの複数のデータベース・インスタンスとともに動作できます。Real Application Clustersのテクノロジによって、データベース・インスタンスに障害が発生した場合でもアダプタを再起動することなく、中断されない一貫したサービスが提供されます。アダプタは、adapter.iniまたはhub.iniファイルにリストされた使用可能なノードの最初のノードに接続します。Real Application Clustersノードの1つに障害が発生した場合、データベースは、adapter.iniまたはhub.iniファイルの次の使用可能なノードに接続します。これは、正常に接続されるまで再帰的に行われます。フェイルオーバーは、スポーク・アプリケーションに対して透過的です。アダプタ・プロセスがReal Application Clustersのハブ・データベース・インスタンスを認識する方法の詳細は、次の「ハブ・データベース層」を参照してください。

関連項目

特定のアダプタに関連したadapter.iniおよびhub.iniファイルの詳細は、OracleAS Integration InterConnect Adaptersのインストレーション・ガイドを参照してください。 

各アダプタ・タイプ固有の高可用性は、次のように実現できます。

リポジトリ・サーバー層

この層は、リポジトリ・サーバー・インスタンスで構成されています。一度にアクティブに稼動できるインスタンスは1つのみです。したがって、リポジトリ・サーバーは2つのノードを持つコールド・フェイルオーバー・クラスタ構成によって、ノードで共有記憶域を使用するように配置できます。この構成によって、ノードレベルのフェイルオーバーが可能になります。

リポジトリ・サーバー・プロセスの高可用性を確保するために、opmn.xmlファイルでOPMNのカスタム・アプリケーションとしてプロセスを構成できます。これにより、OPMNはリポジトリ・サーバー・プロセスを監視し、障害が発生した場合に自動的に再起動できます。変更した後、リポジトリ・サーバー・プロセスはOPMN(opmnctlコマンド)を使用して起動する必要があります。

リポジトリ・サーバーは、Xref機能のために実行時にのみ使用されます。それ以外の場合は、設計および配置の際に、アダプタが最初に起動してハブ・データベースからアプリケーション・メタデータをフェッチするときにのみ必要です。

ハブ・データベース層

ハブ・データベースは、OracleAS Metadata Repositoryデータベースを含む任意のデータベースにすることができます。これには、アプリケーション・ビューおよび一般的なビューの形式などOracleAS Integration InterConnectメタデータが格納されます。iStudioは、設計時にリポジトリ・サーバーを介してRMIを使用してハブ・データベースにアクセスします。それはJVMプロセスです。リポジトリ・サーバーは、複数のJDBCデータソースとして複数のハブ・データベース・インスタンスと通信できます。内部的には、リポジトリ・サーバーは、タイムアウトの際に各データソースを繰り返し再試行します。

OracleAS Integration InterConnect Hubデータベースは、Real Application Clustersを使用することによって高可用性を実現できます。次にいくつかのガイドラインを示します。

5.8 Oracle BPEL Process Manager

BPEL(ビジネス・プロセス実行言語)はXMLベースの言語であり、これを使用すると別個のサービスを1つのエンドツーエンド・プロセス・フローにアセンブルできます。Oracle BPEL Process Managerには、BPELビジネス・プロセスの設計、配置および管理を行うためのフレームワークが用意されています。

Oracle BPEL Process ManagerはJ2EEアプリケーションの1つであり、様々なアプリケーション・サーバーで実行できます。これはステートレス・アプリケーションですが、データベースを「デハイドレーション・ストア」として使用して、プロセスの状態に関する情報を格納します。

5.8.1 アクティブ/アクティブ構成でのOracle BPEL Process Manager

Oracle BPEL Process Managerのアーキテクチャもステートレスなため、高可用性の実現が簡単になります。図5-6に、Real Application Clustersデータベースをデハイドレーション・ストアとして使用した、アクティブ/アクティブ構成でのOracle BPEL Process Managerを示します。

図5-6    アクティブ/アクティブ構成でのOracle BPEL Process Manager


画像の説明

アクティブ/アクティブ構成では、すべてのコンポーネントが同時に実行されます。ロード・バランサによって、該当するノードにリクエストが分散されます。該当するノードが使用不可の場合、リクエストは次に使用可能なノードに送信されます。

アクティブ/アクティブ構成でOracle BPEL Process Managerを実行するには、次の手順を実行します。

BPELプロセスをアクティブ/アクティブ構成に配置するには、次の操作を行います。

アクティブ/アクティブ・トポロジでのBPELプロセスの起動

この項では、SOAP/WSDLまたはOracle BPEL Process Manager Java APIを使用してBPELプロセスを起動する場合に必要な変更について説明します。

SOAP/WSDLを使用する場合は、ノードのホスト名ではなく、ロード・バランサの仮想サーバー名を使用する必要があります。

Oracle BPEL Process Manager Java APIを使用する場合は、アクティブ/アクティブ・トポロジで各ノードのホスト名をリストします。前述のjndiProviderURLの例を参照してください。

デハイドレーション・ストアにReal Application Clustersデータベースを使用

高可用性を実現するには、Real Application Clustersデータベースなどの高可用性データベースでデハイドレーション・ストアを実行する必要があります。Real Application Clustersデータベースを使用すると、すべてのコンポーネントで高可用性を実現できます。

デハイドレーション・ストアにReal Application Clustersデータベースを使用する場合、構成に対し、次の変更を行う必要があります。

5.8.2 アクティブ/パッシブ構成のOracle BPEL Process Manager

Oracle BPEL Process Managerは、OracleAS Cold Failover Cluster構成、つまりアクティブ/パッシブ構成でも動作します。アクティブ/パッシブ構成は、ハードウェア・クラスタ内の、共有記憶域、および仮想ホスト名とIPの、2つのノードで構成されます。共有記憶域にファイルをインストールして、ハードウェア・クラスタ内のどちらかのノードからこれらのファイルにアクセスできるようにします。クライアントは、仮想ホスト名を使用して、ハードウェア・クラスタ内のアクティブ・ノードにアクセスします。そのアクティブ・ノードが使用不可になった場合は、フェイルオーバー・イベントが発生し、パッシブ・ノードがかわりにプロセスを実行します。

5.8.3 アダプタとのOracle BPEL Process Managerの使用

Oracle BPEL Process ManagerをOracle Application Serverアダプタとともに使用して、Oracle BPEL Process Managerプロセスを外部リソースと統合します。これらのアダプタは、JCA(J2EE Connector Architecture)に基づいています。

この項では、可用性の高い方法でOracle BPEL Process Managerをアダプタとともに実行する方法について説明します。この項の項目は次のとおりです。

5.8.3.1 JCAベースのアダプタの概要

表5-3に示すように、Oracle Application ServerのJCAベースのアダプタは、Oracle Application Serverを様々な外部リソースと統合します。

表5-3    アダプタのタイプ 
アダプタ・タイプ   

テクノロジ 

テクノロジ・タイプのアダプタは、Oracle Application Serverをトランスポート・プロトコル、データ・ストアおよびメッセージ・ミドルウェアと統合します。

テクノロジ・タイプのアダプタの例は次のとおりです。FTP、ファイル、データベース、JMSおよびAdvanced Queuing。 

パッケージ化されたアプリケーション 

パッケージ化されたアプリケーションのタイプのアダプタは、Oracle Application ServerをSiebelやSAPなどのアプリケーションと統合します。 

レガシーおよびメインフレーム 

レガシーおよびメインフレームのタイプのアダプタは、Oracle Application ServerをCICSやVSAMなどのアプリケーションと統合します。 

アダプタの詳細は、『Oracle Application Server Adapter概要』を参照してください。

5.8.3.2 同時実行性のサポート

同時実行性のサポートとは、複数のアダプタ・サービスがデータ破損を起こすことなく同時に同じリソースにアクセスできることです。同時実行性のサポートを、トランザクションのサポートと考えることができます。例として、データベース・アダプタの複数のアダプタ・サービスからデータベース内の同じ表に同時にアクセスできることが挙げられます。

アダプタは同時実行性をサポートするものとサポートしないものに分けられます。

表5-4に示すように、同時実行性のサポートまたは非サポートによって、アダプタの高可用性オプションが影響を受けます。

表5-4    アダプタの高可用性オプション 
アダプタ・タイプ  高可用性オプション 

同時実行性のサポート 

 

同時実行性の非サポート(ファイルおよびFTPアダプタ) 

 

すべての高可用性オプションについて、すべてのノードにアダプタがインストールされていることが前提となっています。ただし、高可用性オプションによっては、1つのノードでのみOracle BPEL Process Managerを実行するものがあります。

5.8.3.3 アダプタのアクティブ/アクティブ・トポロジ

このトポロジは、同時実行性をサポートするアダプタに使用できます。

図5-6に、アクティブ/アクティブ・トポロジを示します。このトポロジでは、1つ以上のノードの前面にロード・バランサを配置します。各ノードで、Oracle BPEL Process Managerおよびビジネス・プロセスを配置して実行します。これは、すべてのノードですべてのコンポーネントを使用できるため、高可用性の点で理想のモデルといえます。

同時実行性をサポートしないアダプタをアクティブ/アクティブ・トポロジに配置すると、外部データソースのデータが破損するおそれがあります(同時に同じファイルの読取りと書込みを行うなど)。

5.8.3.4 アダプタの変更済アクティブ/アクティブ・トポロジ

この変更済バージョンのアクティブ/アクティブ・トポロジは、次の相違点を除いて完全なアクティブ/アクティブ・トポロジと同様です。

このトポロジは、次のアダプタに使用できます。

図5-7に、変更済アクティブ/アクティブ・トポロジを示します。

図5-7    変更済アクティブ/アクティブ・トポロジ


画像の説明

アクティブ化エージェントを使用しているノードに障害が発生した場合は、次の手順を実行する必要があります。

アクティブ化エージェントを無効にするには

アクティブ化エージェントを無効にするには、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.8.3.5 アダプタのアクティブ/パッシブ・トポロジ

このトポロジは、すべてのアダプタに使用できます。アクティブ/パッシブ・トポロジは、OracleAS Cold Failover Clusterトポロジとも呼ばれます。

アクティブ/パッシブ・トポロジ(図5-8を参照)では、ハードウェア・クラスタに2つのノードがあります。そのうちの1つはアクティブ・ノード、もう1つはパッシブ・ノードです。共有記憶域もあり、これにOracleホーム・ディレクトリをインストールします。共有記憶域はアクティブ・ノードにのみマウントされます。

ハードウェア・クラスタのアクティブ・ノードは、仮想ホスト名およびIPに関連付けられています。クライアントは、仮想ホスト名を使用して、クラスタ内のアクティブ・ノードにアクセスします。

実行時に、アクティブ・ノードはプロセスを実行します。仮想ホスト名はアクティブ・ノードを指し示します。アクティブ・ノードが使用不可になると、フェイルオーバー・イベントが発生します。パッシブ・ノードが新しいアクティブ・ノードになり、プロセスを実行します。

次の相違点を除いて単一ノード配置の場合と同じように、Oracle BPEL Process Managerをインストールして管理します。

図5-8    OracleAS Cold Failover ClusterトポロジにおけるアダプタとのOracle BPEL Process Managerの使用


画像の説明

5.9 OracleBI Discoverer

OracleBI Discoverer ServerへのWeb接続はDiscovererサーブレットを使用して管理されます。サーブレットは、クライアントとDiscovererセッション・コンポーネントとの間を仲介し、その後、Discovererセッション・コンポーネントが実際のトランザクションを管理します。Discovererセッション・コンポーネントは、Object Activation Daemon(OAD)によって起動および管理されます。各マシンには、それぞれのDiscovererセッションを管理するOADがあります。OADとセッション・コンポーネントは、どちらもOPMNによって監視および管理されます。

OracleBI Discovererを次のように構成して高可用性を実現できます。

5.9.1 OracleBI Discoverer Preferences Server

OracleBI Discoverer Preferences Serverは、セッションにわたる個別のユーザー・プリファレンスを格納します。これは、セッション・サーバーのようにOADによって管理されます。複数マシンの環境では、中央に配置したOracleBI Discoverer Preferences Serverにアクセスするように分散セッション・サーバーを構成できます。Preferences ServerはOPMNによって監視および管理されます。

OracleBI Discoverer Preferences Serverの高可用性を実現するには、複数のインスタンスを配置し、その前面にロード・バランシング・ルーターまたはOracleAS Web Cache(あるいはその両方)を配置し、それによってインスタンスを処理します。このシナリオのセッション情報の管理について、いくつかの考慮事項があります。

ロード・バランサの背後に複数のOracleBI Discoverer中間層を配置する場合、ユーザー・プリファレンスの一貫性をセッション全体で保つように、OracleBI Discoverer Preferences Serverを構成するためのオプションは2つあります。

OracleBI Discoverer Preferences Serverの保護

OracleBI Discoverer Preferences Serverをホスティングしているマシンまたはそのサーバー上に保存されている情報のいずれかを失ってもOracleBI Discovererの機能に影響はありません。ただし、保存されているユーザーのプリファレンス情報は失われます。

プリファレンス情報の損失を抑制するために、OracleBI Discoverer Preferences Server上のデータ、特にファイル<ORACLE_HOME>/discoverer/util/pref.txtを定期的にバックアップする必要があります。このファイルにプリファレンス情報が保存されています。

5.10 Oracle Content Management SDK

アクティブ/アクティブおよびアクティブ/パッシブの両方の環境で、ドメイン・コントローラがアクティブ・ノードで実行されていることを確認する必要があります。ドメイン・コントローラが実行されているノードが使用不可になった場合は、ドメイン・コントローラを別のノードに移行する必要があります。これは、ドメイン・コントローラは常に1つのノード上でのみ実行できるためです。

OracleAS Cold Failover Cluster(中間層)にOracle Content Management SDKがインストールされている場合に、フェイルオーバーまたはフェイルバック・イベントが発生したときは、ドメイン・コントローラを新しいアクティブ・ノードに移行する必要があります。

アクティブ/アクティブ環境で、ドメイン・コントローラが実行されているノードが使用不可になった場合は、これを別のノードに移行する必要があります。

ドメイン・コントローラの移行方法の詳細は、『Oracle Content Management SDK管理者ガイド』の第3章「Oracle CM SDKドメインの管理」、ドメイン・コントローラの移行に関する項を参照してください。このマニュアルは、Oracle Content Management SDKのCD-ROMに含まれています。


戻る 次へ
Oracle
Copyright © 2005, 2007 Oracle.

All Rights Reserved.
目次
目次
索引
索引