コネクター用のアプリケーションの使用可能化

コネクターでイベント引き渡しを処理できるようにするには、データベース内にイベント通知機構をセットアップする必要があります。これを行うには、次の操作を実行する必要があります。

以下のセクションでは、イベント表およびアーカイブ表の作成と構成に関する情報を提供します。

イベント表およびアーカイブ表

コネクターは、イベント表を使用して選出するイベントをキューに入れます。ArchiveProcessed プロパティーを true または値なしに設定した場合、コネクターは、イベント表のイベントの状況を更新した後、アーカイブ表を使用してそれらのイベントを保管します。

コネクターは、イベントごとに、ビジネス・オブジェクト名、動詞、およびキーをイベント表から取得します。コネクターは、これらの情報を使用して、アプリケーション内の完全なエンティティーを検索します。イベントの初回記録後にそのエンティティーが変更された場合、コネクターは、その最初に記録されたイベントとそれ以後の変更のすべてを取得します。つまり、エンティティーの作成後、コネクターがイベント表からそのエンティティーを取得する前に更新が行われた場合には、コネクターは、これらの両方のデータ変更を一度の検索で取得します。

コネクターによって処理されるどのイベントについても、以下の 3 とおりの結果が考えられます。

コネクターがイベントを選出した後、それらのイベントがイベント表から削除されなければ、それらのイベントは、イベント表内で不必要にスペースを使用することになります。しかし、これらのイベントが削除されると、未処理のイベントがすべて失われ、イベント処理の監査が不可能になります。このため、アーカイブ表を作成し、ArchiveProcessed プロパティーを true に設定しておいてください。これにより、イベント表からイベントが削除されると、必ず、コネクターによってアーカイブ表にそのイベントが挿入されます。

注:
コネクターは、イベント表からイベントを削除しているとき、またはアーカイブ表にイベントを挿入しているときに、アプリケーションのデータベースへのアクセス中に発生した問題のために操作に失敗すると、APPRESPONSETIMEOUT を戻します。

イベント処理およびアーカイブ処理の構成

イベントとアーカイブの処理を構成するには、構成プロパティーを使用して、以下の情報を指定する必要があります。

また、EventOrderBy プロパティーの値を指定して、イベントの処理順序を指定することも可能です。これらのプロパティーおよび他の構成プロパティーに関する詳細については、付録 A, コネクターの標準構成プロパティーおよび 表 7 を参照してください。

注:
イベント表とアーカイブ表の作成は、オプションです。ただし、EventTableName の値を指定しているにもかかわらず、コネクターを使用してイベントをポーリングせず、イベント表も作成しない場合には、コネクターでタイムアウトが発生します。このようなタイムアウトを防ぐには、EventTableName の値を null (ストリング) のままにしておきます。

デフォルトでは、イベント・キュー表の名前は xworlds_events であり、アーカイブ・キュー表の名前は xworlds_archive_events です。

コネクターを要求の処理のみに使用するには、コネクターを始動するときに -fno オプションを使用します。また、EventTableName の値を null (ストリング) に設定します。

使用ドライバーが Java クラス DatabaseMetaData をサポートしておらず、コネクターがイベント表とアーカイブ表の存在を確認しないようにする必要がある場合には、CheckForEventTableInInit の値を false に設定して、CheckForEventTableInInit を使用不可にします。デフォルトでは true です。この値は false に設定しないことをお勧めします。

注:
ご使用のサイトで、アーカイブ表へイベントのアーカイブを行わない場合は、ArchiveProcessed の値を false に設定してください。

イベント表およびアーカイブ表をインストールするための SQL スクリプト

DB2 データベース用のイベント表、アーカイブ表、および固有 ID 表をインストールするためのスクリプトには、次のものがあります。

Microsoft SQL Server データベース用のイベント表、アーカイブ表、および固有 ID 表をインストールするためのスクリプトには、次のものがあります。

Oracle データベース用のイベント表、アーカイブ表、および固有 ID 表をインストールするためのスクリプトには、次のものがあります。

OS/400 DB2 データベース用のイベント表、アーカイブ表、および固有 ID 表をインストールするための SQL スクリプトには、次のものがあります。

これらのファイルは、次のディレクトリーにあります。

注:
これらのスクリプトは、テンプレートとしてのみ提供されています。その目的は、ユーザーがコネクターに必要な表を作成するのを支援することです。その他のデータベースについては、これらのスクリプトをガイドラインとして、独自のスクリプトを作成してください。表列の順序およびデータ型は、非常に重要です。正しい順序および型については、イベント表およびアーカイブ表のスキーマを参照してください。

DBA、またはコネクターのインプリメント担当者には、これらのスクリプトを変更して、インストールおよび照会最適化に関する特定の要件に適合させることを推奨します。例えば、これらのスクリプトでは、表上に索引は作成されません。照会最適化プログラムのパフォーマンスを向上させるための索引作成は、コネクターのインプリメント担当者が行わなければなりません。

イベント表およびアーカイブ表のスキーマ

表 5 に、イベント表とアーカイブ表の列を示します。

表 5. イベント表およびアーカイブ表のスキーマ
名前 説明 制約
event_id イベントの内部 ID NUMBER 基本キー
connector_id イベントの宛先コネクターの固有 ID。この値は、複数のコネクターが同一の表に対してポーリングする場合、重要です。 VARCHAR
object_key ビジネス・オブジェクトの基本キー。キーは、name_value ペア、またはコロンなどの構成可能な区切り文字で区切られた一連のキー (例: 1000065:10056:2333) として表すことができます。詳細については、EventKeyDel プロパティーを参照してください。 VARCHAR null 以外
object_name ビジネス・オブジェクト名 VARCHAR null 以外
object_verb イベントに関連付けられている動詞 VARCHAR null 以外
event_priority コネクターがイベントを優先順位ベースで取得する場合に使用する、イベントの優先順位 (最高は 0、最低は n)。コネクターが、この値を使用して、優先順位を上下させることはありません。 NUMBER null 以外
event_time イベントの発生日時 DATETIME デフォルト値は現在の日時 (アーカイブ表では、イベントの実際の発生時刻)
archive_time イベントがアーカイブされた日時 (アーカイブ表のみ) DATETIME アーカイブ日時
event_status -2 (統合ブローカーへのイベント送信時のエラー) NUMBER null 以外

-1 (イベント処理時のエラー)


0 (ポーリング可能)


1 (統合ブローカーに送信)


2 (ビジネス・オブジェクトに対するサブスクリプションなし)


3 (処理中)。この状況はイベント表でのみ使用され、アーカイブ表では使用されません。

event_comment イベント・ストリングまたはエラー・ストリングの説明 VARCHAR

Copyright IBM Corp. 2004