ヘッダーをスキップ
Oracle Fusion Middleware Oracle SOA Suite管理者ガイド
11g リリース1(11.1.1)
B55916-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

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

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

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

ビジネス・イベントの詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。

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

ビジネス・イベントは、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」フォルダからアクセスする手順
    1. 「ビジネス・イベント」を選択します。
    1. 「soa-infra」を右クリックします。
    2. 「ビジネス・イベント」を選択します。


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

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

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

    busevent_events1.gifの説明は次にあります。
    図版busevent_events1.gifの説明

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

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

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

    この例では、OrderReceivedEventおよびProductSoldAlertという2つのビジネス・イベントがイベント定義に記載されています。ネームスペース(orders)および関連するスキーマ・ファイル(ProductOrder.xsd)が参照されます。

    busevent_def.gifの説明は次にあります。
    図版busevent_def.gifの説明

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

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

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

    busevent_events2.gifの説明は次にあります。
    図版busevent_events2.gifの説明

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

    フィールド 説明
    イベント・ネームスペース イベント・ネームスペースが表示されます。
    イベント名 イベント名が表示されます。
    データベース・エージェント データベース・エージェント名を指定するか、「エージェントの作成」をクリックしてエージェントを作成します。このエージェントは、イベントの公開時に適切なイベントをリスニングしてサブスクライブします。
    一貫性レベル 次のいずれかのオプションを選択します。
    • 保証付き: イベントは、グローバル・トランザクションなしでサブスクライバに非同期で配信されます。サブスクライバは、独自のローカル・トランザクションを作成して処理できますが、そのトランザクションは、残りのイベント処理とは別にコミットされます。 イベントはサブスクライバに渡されることが保証されていますが、グローバル・トランザクションがないため、システムの障害が原因でイベントが複数回配信される可能性があります。サブスクライバが例外をスローすると(または失敗すると)、その例外は記録されますが、イベントは再送信されません。

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

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

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

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

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

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

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


注意:

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

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

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

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


注意:

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

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

  1. ページには、次のいずれかの手順でアクセスします。

    「SOAインフラストラクチャ」メニューからアクセスする手順 ナビゲータの「SOA」フォルダからアクセスする手順
    1. 「ビジネス・イベント」を選択します。
    1. 「soa-infra」を右クリックします。
    2. 「ビジネス・イベント」を選択します。


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

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

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

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

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

    busevent_subscribers.gifの説明は次にあります。
    図版busevent_subscribers.gifの説明

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

    busevent_events3.gifの説明は次にあります。
    図版busevent_events3.gifの説明

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

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

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

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

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

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

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

  1. ページには、次のいずれかの手順でアクセスします。

    「SOAインフラストラクチャ」メニューからアクセスする手順 ナビゲータの「SOA」フォルダからアクセスする手順
    1. 「ビジネス・イベント」を選択します。
    1. 「soa-infra」を右クリックします。
    2. 「ビジネス・イベント」を選択します。


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

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

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

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

    busevent_faults.gifの説明は次にあります。
    図版busevent_faults.gifの説明

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

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

    アクション 説明
    再試行 フォルトが発生したインスタンスを再試行します。
    中断 フォルトが発生したインスタンス全体を中断します。

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

ビジネス・イベントの詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。