共通イベント・インフラストラクチャーはイベントを促進します。
このタスクを実行する理由および時期
共通イベント・インフラストラクチャーは、イベントの生成、伝搬、永続、および消費のための機能を提供しますが、実際のイベントは定義しません。
システム設計の中でイベント・インフラストラクチャーの使用方法を計画する場合は、関連するビジネス概念を理解し、それらをシステム設計の適切なコンポーネントにマップする必要があります。
イベント・ソースおよびイベント・コンシューマーのアーキテクチャーのコンテキストにおいて、イベント・タイプおよびイベント・グループを定義することで、イベント管理の意味体系を提供する必要があります。
このタスクの手順
- 各イベント・ソース を識別します。 イベント・ソースはイベントを作成するアプリケーションです。
イベント・ソースは、イベント・オブジェクトをイベント・インフラストラクチャーに渡します。
イベント・インフラストラクチャーは、以後の検索用に、イベント・オブジェクトをデータベースに保管します。
イベント・インフラストラクチャーの役割は、イベント・オブジェクトの受け取りに興味を示すすべてのアプリケーションに、イベント・オブジェクトを渡すことです。
- 各イベント・コンシューマー を識別します。 イベント・コンシューマーは、イベント・オブジェクトに含まれる情報を使用できるアプリケーションです。イベント・コンシューマーは通常、多数のイベント・ソースのイベントを処理します。
- イベント相関範囲 の階層、およびそれらの範囲の ID を識別します。 イベント・コンシューマーは、イベント相関範囲を使用して、イベントを相関させることができます。
ECSEmitter クラスは、イベント相関範囲の現行 ID と親 ID を各イベント内に保管することで、相関範囲の階層をサポートします。
注: ECSEmitter および相関範囲機能は、共通イベント・インフラストラクチャーからではなく、イベント・サービスから提供されます。
例えば、Business Process Execution Language (BPEL) アクティビティーは、アクティビティー・インスタンス ID を持つアクティビティーを識別する、現行アクティビティーの相関範囲を開きます。
親相関範囲は、その代わりにアクティビティーが実行されるプロセス・インスタンスの相関範囲です。
親相関範囲は、プロセス・インスタンス ID で識別されます。
- 各イベント・グループ を識別します。 イベント・グループは、特定のタイプのコンシューマーにとって興味のあるすべてのイベントが含むことができる特性 (プロパティー値) を定義します。
アクセス制御および配布規則などのポリシーは、各ユーザー・グループのイベント・インフラストラクチャーの振る舞いをカスタマイズするために、イベント・グループに割り当てられます。
例
WebSphere は、すべてのイベントを組み込むように定義された、デフォルトのイベント・グループを提供します。
このイベント・グループはイベント・グループ・リスト と呼ばれ、com/ibm/events/configuration/event-groups/Default という Java Naming and Directory Interface (JNDI) の名前が付きます。
下の図は、これらのオブジェクトの関係を示したものです。
図 1. イベント・ソース (イベントを作成する)、イベント・コンシューマー (イベント・データを使用する)、およびイベント・グループ (イベントの各タイプの特性および関連するポリシーを定義する) のアーキテクチャー。