イベント・ストアは、ポーリング・アダプターが処理できるようになるまで、イベント・レコードを保存している永続的キャッシュです。 インバウンド・イベントがシステムを通ってゆくのを追跡するために、アダプターはイベント・ストアを使用します。
Siebel Business Application でのイベント・レコードの作成、更新、削除は、1 つの「イベント」です。 ビジネス・オブジェクトが作成、更新、または削除されるたびに、アダプターはイベント・ストアの中のイベントの状況を更新します。
例えば、カスタマー・コンポーネントを持っていて、新しいカスタマーが追加された場合には、更新をシグナル通知します。 アダプターが、新しい更新に関するイベントを受け取るように構成されている場合、Siebel 側にトリガーが取り付けられ、カスタマー・コンポーネントに接続されます。 トリガーは、イベント・ビジネス・コンポーネントにレコードを追加します。 そのレコードには、カスタマー ID などの新規カスタマーに関する情報が含まれます。 この情報は、オブジェクト・キーの中に保管されます。 オブジェクト・キーは、更新されたイベント・ビジネス・コンポーネントのキー名および値を提供する固有の ID です (例えば、Id=1-20RT)。 オブジェクト名は、 カスタマー・コンポーネントを表す WebSphere® ビジネス・オブジェクト名です (例えば、 Account)。 アダプターは、このイベントと、それに関連した新規カスタマー情報を取り出します。 その後、 イベントを処理してそれをエクスポート・コンポーネントに配信します。
インバウンド処理の際、アダプターは一定の間隔でイベント・ストアからイベント・ビジネス・コンポーネントをポーリングします。 アダプターは、ポーリングをするたびにいくつかのイベントを処理します。イベントは、優先順位の昇順およびイベント・タイム・スタンプの昇順に処理されます。ポーリング周期ごとに、新しいイベントが選出されます。 アダプターは、そのイベントのオブジェクト・キー・フィールド内の値セットを取り出し、その値セットに対応するビジネス・オブジェクトを読み込みます。ビジネス・オブジェクトが取り出された情報から作成され、エクスポート・コンポーネントに送信されます。
アクティベーション指定プロパティー AssuredOnceDelivery を true に設定すると、イベント・ストア中の各イベントに対してトランザクション ID (XID)値が設定されます。処理するためにイベントが取り出されると、イベント・ストア中のそのイベントの XID 値が更新され、イベント・ビジネス・コンポーネント内の XID 列に表示されます。次いで、そのイベントは対応するエクスポート・コンポーネントに配信され、イベント配信が成功したことを示すように状況が更新されます。 アプリケーションが停止した場合やイベントが完全に処理されなかった場合には、XID 列に値が記入されます。これによって、そのイベントは確実に再処理されてエクスポート・コンポーネントに送られます。 接続が再確立するかアダプターが再始動すると、アダプターはイベント・ストア中の XID 列に値を持つイベントがないか探します。アダプターはこれらのイベントをまず処理し、次いでポーリング周期の際に他のイベントをポーリングします。
アダプターは、すべてのイベントを処理することも、ビジネス・オブジェクト・タイプによってフィルターに掛けられたイベントを処理することもできます。 アクティベーション指定プロパティー EventTypeFilter を介してフィルターを設定します。 このプロパティーには、ビジネス・オブジェクト・タイプのコンマ区切りリストがあります。 プロパティー中で指定されたタイプのみが処理されます。EventTypeFilter プロパティーが設定されないと、すべてのイベントが処理されます。 FilterFutureEvents プロパティーが true に設定されると、アダプターはタイム・スタンプに基づいてイベントをフィルタリングします。アダプターは、各ポーリング周期のシステム時刻と、各イベントのタイム・スタンプを比較します。将来に起きるように設定されているイベントの場合、その時まで処理は行われません。
イベントの通知が成功してエクスポート・コンポーネントに配信された後、その項目はイベント・ストアから削除されます。 失敗したイベント (通知やエクスポート・コンポーネントへの配信が成功しなかったもの) はイベント・ストアに残り、-1 のマークが付けられます。 これによって重複処理を避けることができます。
IBM2 イベント・ビジネス・コンポーネントには、イベントについての情報が格納されています。 格納されている情報は、イベント・サブスクリプションの際に、対応するビジネス・オブジェクトを構築し、登録されているエクスポート・コンポーネントに送信するためにリソース・アダプターによって使用されます。 次の表は、格納される情報と、アダプターで使用されるイベント・ストアの構造を示しています。
フィールド | 説明 | 例 |
---|---|---|
説明 | そのイベントに関連付けられた任意のコメント。 | アカウント作成イベント |
イベント ID | イベント行の ID | Siebel で自動的に生成された固有の ID (例えば、1-XYZ) |
イベント・タイム・スタンプ | そのイベントのタイム・スタンプ。 形式は mm/dd/yyyy hh:mm:ss です。 | 02/24/2007 11:37:56 |
イベント・タイプ | イベントのタイプ。 | Create、Update、または Delete |
オブジェクト・キー | イベントが作成されたビジネス・オブジェクト行の固有 ID。 それは、プロパティーの名前 (キー名) および値から成る、名前と値の組です。 | ID=1-20RT |
オブジェクト名 | イベントが検出されたビジネス・オブジェクトの名前。 | IOAccountPRMANIICAccount |
優先順位 | イベント優先順位。 | 1 |
状況 | イベント状況。 これは新しいイベントにはその値に初期設定され、イベントを処理する際にアダプターによって更新されます。 状況は、以下のいずれかの値を持つことができます。
この列に NULL 値を含めることはできません。 |
0 |
XID | トランザクション ID。 これは「確実一回のみ送達」を保証するものです。 | なし |
コネクター ID | アダプターに設定されている ID。 | Siebel001 |
イベントは、IBM2 イベント・ビジネス・コンポーネントから取り出され、その情報が、イベント・ビジネス・コンポーネントの取り出しに使用されます。
フィールド | 説明 | 例 |
---|---|---|
説明 | そのイベントに関連付けられた任意のコメント。 | アカウント PRM ANI イベント |
イベント ID | イベント行の ID | Siebel で自動的に生成された固有の ID (例えば、1-XYZ) |
イベント・タイム・スタンプ | そのイベントのタイム・スタンプ。 形式は mm/dd/yyyy hh:mm:ss です。 | 02/24/2007 11:37:56 |
イベント・タイプ | イベントのタイプ。 | Create、Update、または Delete |
オブジェクト・キー | イベントが作成されたビジネス・オブジェクト行の固有 ID。 それは、プロパティーの名前 (キー名) および値から成る、名前と値の組です。 | Name=TestName;Location=BGM。'Name' と 'Location' は統合コンポーネントのキーです。'TestName' と 'BGM' は指定された値で、; はイベント・キーの区切り文字です。 |
オブジェクト名 | イベントが検出されたビジネス・オブジェクトの名前。 | IOAccountPRMANIICAccount |
優先順位 | イベント優先順位。 | 1 |
状況 | イベント状況。 これは新しいイベントにはその値に初期設定され、イベントを処理する際にアダプターによって更新されます。 状況は、以下のいずれかの値を持つことができます。
この列に NULL 値を含めることはできません。 |
0 |
XID | トランザクション ID。 これは「1 回の確実な配信」を保証するものです。 | なし |