ヘッダーをスキップ
Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド
11g リリース1(11.1.1.7)
B55916-08
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

35 ビジネス・イベントの管理

この章では、ビジネス・イベントおよびイベント配信ネットワーク(EDN)の管理方法(ビジネス・イベントのサブスクライブ、サブスクライバの管理およびビジネス・イベントのフォルトのリカバリを含む)について説明します。ビジネス・イベントは、ビジネス環境での発生結果として送信されたメッセージ・データで構成されています。ビジネス・イベントが公開されると、他のサービス・コンポーネントやデータベース・エージェントは、そのイベントをサブスクライブできます。

この章では、次の項目について説明します。

ビジネス・イベント問題のトラブルシューティングの詳細は、付録B.6「EDNのトラブルシューティング」を参照してください。

ビジネス・イベントの詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』の「ビジネス・イベントおよびイベント配信ネットワークの使用」を参照してください。

35.1 イベント配信ネットワークの概要

公開済のビジネス・イベントを受け入れ、サブスクライバに配信するOracle SOA Suiteのサブシステムは、EDNと呼ばれます。EDNには2種類の実装があります。

Oracle Universal Installerによるインストール中に、正しい実装が構成されます。また、インストール後に変更することもできます。アプリケーション開発の観点では、2つの実装は同一であり、動作も同じです。

35.2 ビジネス・イベントのサブスクライブ

ビジネス・イベントは、Oracle Enterprise Manager Fusion Middleware Controlでサブスクライブできます。ビジネス・イベントは、ビジネス環境での発生結果として送信されたメッセージ・データで構成されています。ビジネス・イベントは、Oracle JDeveloperで作成し、SOAコンポジット・アプリケーションに組み込みます。このアプリケーションは、Oracle Enterprise Manager Fusion Middleware Controlにデプロイします。ビジネス・イベントをサブスクライブできるのは、サービス・コンポーネントおよびデータベース・エージェントです。Oracle Enterprise Manager Fusion Middleware Controlからサブスクライブできるのは、データベース・エージェントのみです。サービス・コンポーネントは、Oracle JDeveloperからのみサブスクライブされます。公開されたビジネス・イベントは、そのイベントをサブスクライブしているエンティティが受信します。

ビジネス・イベントをサブスクライブする手順は、次のとおりです。

  1. 次のいずれかのオプションを使用して、このページにアクセスします。

    SOAインフラストラクチャのメニューから... ナビゲータのSOAフォルダから...

    「ビジネス・イベント」を選択します。

    「soa-infra」を右クリックして、「ビジネス・イベント」を選択します。


    「イベント」ページに、次の詳細が表示されます。

    • 特定のビジネス・イベントを検索するためのユーティリティ。名前の全部または一部を指定して「検索」アイコンをクリックします。詳細は、「ヘルプ」アイコンをクリックしてください。

    • ビジネス・イベント。使用したネームスペース、イベント名、各イベントのサブスクリプション数、および失敗したイベント配信数が表示されます。ビジネス・イベントは、それぞれのネームスペース内に格納されています。

    busevent_events1.gifの説明が続きます
    図版busevent_events1.gifの説明

  2. 「ネームスペースおよびイベント」セクションで、特定のビジネス・イベントを選択します。

  3. 「イベント定義の表示」をクリックします。

    選択したイベントのイベント定義言語(EDL)ファイルが表示されます。ビジネス・イベントは、EDLを使用して定義されます。EDLは、ビジネス・イベント定義の作成に使用するスキーマです。

    この例では、OrderUpdateEventOrderInformationCheckEventContinueOrderProcessingEventおよびStopOrderProcessingEventというビジネス・イベントがイベント定義に記載されています。

    busevent_def.gifの説明が続きます
    図版busevent_def.gifの説明

  4. 「OK」をクリックしてダイアログを閉じます。

  5. 「サブスクライブ」をクリックし、「ネームスペースおよびイベント」表で選択したイベントをデータベース・エージェントでサブスクライブします。


    注意:

    EDN-JMS実装の「イベント」ページには、データベース・エージェントが選択されたイベントをサブスクライブするための「サブスクライブ」ボタンが表示されません。


    「データベース・サブスクリプションの作成」ダイアログが表示されます。リスニングするエージェントを作成して、イベントの公開時に適切なイベントをサブスクライブします。

    busevent_events2.gifの説明が続きます
    図版busevent_events2.gifの説明

  6. 次の値を入力します。アスタリスク(*)は必須フィールドを示します。

    フィールド 説明

    イベント・ネームスペース

    イベント・ネームスペースが表示されます。

    イベント名

    イベント名が表示されます。

    データベース・エージェント

    データベース・エージェント名を指定するか、「エージェントの作成」をクリックしてエージェントを作成します。このエージェントは、イベントの公開時に適切なイベントをリスニングしてサブスクライブします。

    一貫性レベル

    次のいずれかのオプションを選択します。

    • 保証付き: イベントは、グローバル・トランザクションなしでサブスクライバに非同期で配信されます。サブスクライバは、独自のローカル・トランザクションを作成して処理できますが、そのトランザクションは、残りのイベント処理とは別にコミットされます。デフォルトでは、保証付きの配信はサブスクライバへのイベントの配信を3回試みます。この3回でイベントを配信できなかった場合、配信は失敗します。また、グローバル・トランザクションがないため、システム障害によって、イベントが複数回配信される可能性があります。サブスクライバが例外をスローすると(または失敗すると)、その例外は記録されますが、イベントは再送信されません。

    • 即時: イベントは、パブリッシャと同じトランザクションとスレッドで、サブスクライバに配信されます。すべての即時サブスクライバが処理を完了するまで、パブリッシュ・コールは返されません。いずれかのサブスクライバが例外をスローすると、追加のサブスクライバは起動されず、例外はパブリッシャにスローされます。

    XPathフィルタ

    イベントをフィルタ処理する場合は、XPath式を指定します。サブスクリプションが配信されて式のロジックが満たされると、イベントが配信されます。ロジックが満たされない場合、イベントは配信されません。


  7. 「サブスクライブ」をクリックします。

  8. 「テスト」をクリックし、選択したイベントをテストします。このテストによって、サブスクライバが操作できるテスト・イベントを公開できます。

    「テスト・イベント」ダイアログが表示されます。

  9. テストに使用するXMLペイロードを指定します。

  10. 「公開」をクリックします。


注意:

イベント・サブスクリプションに対するポリシーの実行は、このリリースではサポートされていません。ポリシーは、警告なしでビジネス・イベントをサブスクライブするサービス・コンポーネント(Oracle Mediatorなど)に対してアタッチまたはデタッチできます。ポリシーの実行は発生しないため、このアクションによるエラーはありません。


詳細は、次のドキュメントを参照してください。

35.3 ビジネス・イベント・サブスクライバの管理

既存のデータベース・サブスクリプションを作成、編集および削除することもできます。ビジネス・イベントが公開されると、サービス・コンポーネントおよびデータベース・エージェントは、そのイベントをサブスクライブできます。このページを使用して、ビジネス・イベントのすべてのサブスクリプションを表示します。このページでは、データベース・エージェントによるイベント・サブスクリプションを管理することもできます。サービス・コンポーネント・サブスクリプションは、設計時にOracle JDeveloperで作成されるため、Oracle Enterprise Manager Fusion Middleware Controlでは変更できません。


注意:

  • SOAコンポジット・アプリケーションにビジネス・イベント・サブスクリプションが組み込まれている状況で、別のリビジョンのコンポジットをデプロイすると、そのコンポジットの全リビジョンのイベント・サブスクリプションすべてがアクティブとなり、メッセージを受信します。最新リビジョンのコンポジットのみを使用してイベントを受信するには、以前のリビジョンのコンポジットすべてをリタイア状態にすることをお薦めします。

  • リタイア状態のSOAコンポジット・アプリケーション内のBPELコンポーネントでは、BPELプロセスの非開始受信アクティビティにイベントが関連付けられていても、ビジネス・イベントを受信できません。


ビジネス・イベント・サブスクリプションを管理する手順は、次のとおりです。

  1. 次のいずれかのオプションを使用して、このページにアクセスします。

    SOAインフラストラクチャのメニューから... ナビゲータのSOAフォルダから...
    1. 「ビジネス・イベント」を選択します。

    1. 「soa-infra」を右クリックします。

    2. 「ビジネス・イベント」を選択します。


  2. 「サブスクリプション」をクリックします。

    「サブスクリプション」ページに、次の詳細が表示されます。

    • 特定のサブスクリプションを検索するためのユーティリティ。基準を指定して「検索」をクリックします。詳細は、「ヘルプ」アイコンをクリックしてください。

    • データベース・サブスクリプション。イベント名、使用したネームスペース、サブスクリプション・エージェント名、必要に応じて定義したXPathフィルタ、一貫性レベル、および失敗した配信数が表示されます。実行時には、このページのビジネス・イベントに対してデータベース・サブスクリプションを作成します。

    • コンポーネント・サブスクリプション。イベント名、使用したネームスペース、イベントをサブスクライブするサービス・コンポーネント、SOAコンポジット・アプリケーション、必要に応じて定義したXPathフィルタおよび一貫性レベルが表示されます。

    busevent_subscribers.gifの説明が続きます
    図版busevent_subscribers.gifの説明


    注意:

    EDN - JMSを実装するビジネス・イベントの場合、「データベース・エージェントの作成」アイコン、「データベース・エージェントの編集」アイコン、「データベース・エージェントの削除」アイコンおよび「データベース・エージェントの管理」ボタンは表示されません。


  3. 「データベース・サブスクリプション」タイトルの下にある適切なアイコンをクリックし、データベース・サブスクリプションを作成、編集または削除します。

    busevent_events3.gifの説明が続きます
    図版busevent_events3.gifの説明

  4. 「データベース・エージェントの管理」をクリックし、PL/SQLプロシージャを編集するか、現在イベントをサブスクライブしていないエージェントを削除します。

  5. 「サブスクリプション」のコンポーネント」列で、サービス・コンポーネントをクリックし、そのホーム・ページにアクセスします。

  6. 「コンポジット」列で、SOAコンポジット・アプリケーションをクリックし、そのホーム・ページにアクセスします。

ビジネス・イベントの詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』の「ビジネス・イベントおよびイベント配信ネットワークの使用」を参照してください。

35.4 ビジネス・イベントのフォルトのリカバリ

リカバリ可能と識別されているビジネス・イベントのフォルトをリカバリできます。

ビジネス・イベントのフォルトをリカバリする手順は、次のとおりです。

  1. 次のいずれかのオプションを使用して、このページにアクセスします。

    SOAインフラストラクチャのメニューから... ナビゲータのSOAフォルダから...
    1. 「ビジネス・イベント」を選択します。

    1. 「soa-infra」を右クリックします。

    2. 「ビジネス・イベント」を選択します。


  2. 「フォルト」をクリックします。

    「フォルト」ページに、次の詳細が表示されます。

    • 特定のビジネス・イベントのフォルトを検索するためのユーティリティ。基準を指定して「検索」をクリックします。

    • ビジネス・イベントで発生しているフォルト。エラー・メッセージ、フォルトのリカバリが可能かどうか、フォルトの発生時間、イベント・ネームスペース、イベント名、サブスクライバ、およびサブスクリプション・タイプ(データベースまたはコンポーネント)が表示されます。「リカバリ可能ですか。」列では、リカバリ・アクションを実行できるフォルトが識別されます。

    busevent_faults.gifの説明が続きます
    図版busevent_faults.gifの説明

  3. 「ビュー」リストから、「列」「フォルトID」の順に選択し、各エラー・メッセージのフォルトIDを表示します。

  4. リカバリ可能として識別された特定のフォルトをクリックし、次のいずれかのオプションを選択します。

    アクション 説明

    再試行

    フォルトが発生したインスタンスを再試行します。

    注意: ビジネス・イベントのフォルトがリカバリを待機している場合は、SOAコンポジット・アプリケーション・インスタンス全体がフォルトを伴って終了したと表示されます。

    中断

    フォルトが発生したインスタンス全体を終了します。


  5. 「ログ」列で、特定のログをクリックし、「ログ・メッセージ」ページにアクセスします。このページには、そのインスタンスに固有のメッセージがフィルタされて表示されます。

ビジネス・イベントの詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』の「ビジネス・イベントおよびイベント配信ネットワークの使用」を参照してください。