コネクター用のアプリケーションを使用可能にする

コネクターがイベント・デリバリーを処理できるようにするには、データベース内にイベント通知機構をセットアップする必要があります。このためには、以下の作業を行う必要があります。

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

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

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

各イベントについて、コネクターはイベント表からビジネス・オブジェクトの名前、動詞、およびキーを取得します。また、この情報を使用してアプリケーションからエンティティー全体を取り出します。イベントが最初にログに記録された後でエンティティーが変更されると、コネクターは初期イベントとその後のすべての変更を取得します。つまり、コネクターがイベント表からエンティティーを取得する前にエンティティーが変更および更新されると、コネクターは 1 回の取り出しで両方のデータ変更を取得します。

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

コネクターがイベントを取り出した後でイベント表からイベントが削除されないと、不必要なスペースを占有することになります。しかし、そのようなイベントが削除される場合には、未処理のイベントもすべて失われ、イベント処理の監査を実行できなくなります。そのため、この場合にはアーカイブ表も作成し、ArchiveProcessed プロパティーを true に設定したままにしておくことをお勧めします。このようにすると、イベント表からイベントが削除されるたびに、コネクターがそのイベントをアーカイブ表に挿入します。

注:
コネクターは、イベント表からイベントを削除する際、またはアーカイブ表にイベントを挿入する際に、アプリケーション・データベースへのアクセス中に発生した問題が原因で失敗した場合、APPRESPONSETIMEOUT を戻します。

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

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

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

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

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

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

ご使用のドライバーが Java クラス DatabaseMetaData をサポートしておらず、コネクターでイベント表とアーカイブ表の有無の検査が行われないようにする必要がある場合には、CheckForEventTableInInit の値を false に設定して、このプロパティーを使用不可にします。デフォルトでは、true です。この値は、false に設定しないことをお勧めします。

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

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

Oracle データベース用のイベント表、アーカイブ表、および固有 ID 表をインストールするスクリプトは、以下のスクリプトです。

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

Windows の場合

connectors¥OracleApps¥dependencies¥
 

Linux:

connectors/OracleApps/dependencies/
 

OS/400:

connectors/OracleApps/dependencies/
 
注:
これらのスクリプトは、コネクターに必要なテーブルの作成を支援するためのテンプレートとしてのみ提供されています。他のデータベース用には、これらのスクリプトを参考にして、独自のスクリプトを作成してください。テーブルの列の順序とデータ型は非常に重要です。適切な順序と型については、表 5 を参照してください。

DBA やコネクターの実装を担当する方には、独自のインストール要件や照会最適化のための要件を満たすことができるようにこれらのスクリプトを変更することをお勧めします。例えば、これらのスクリプトはテーブルの索引を作成しません。索引を作成して照会最適化プログラムのパフォーマンスを高める作業は、コネクター実装の担当者が行うべき作業です。

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

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

表 5. イベント表とアーカイブ表のスキーマ
名前 説明 制約
event_id イベントの内部 ID INTEGER 基本キー
connector_id イベントの宛先のコネクターの固有な ID。この値は、複数のコネクターが同じ表をポーリングする場合には重要です。 VARCHAR
object_key ビジネス・オブジェクトの基本キー。このオブジェクト・キーは、名前と値のペアとして表現するか、コロンまたは他の構成可能な区切り文字で区切られたキーのセットによって表現します (1000065:10056:2333 など)。

詳細については、EventKeyDelプロパティーを参照してください。

VARCHAR 非ヌル
object_name ビジネス・オブジェクトの名前 VARCHAR 非ヌル
object_verb イベントに関連した動詞 VARCHAR 非ヌル
event_priority イベント優先順位 (0 が最高、n が最低) で、コネクターが優先順位に基づいてイベントを取得するために使用します。コネクターが優先順位の変更のためにこの値を使用することはありません。 INTEGER 非ヌル
event_time イベントが発生した日時 DATETIME デフォルトの現在日付/時刻 (アーカイブ表の場合、実際のイベントの時間)
archive_time イベントがアーカイブされた日時 (アーカイブ表でのみ使用されます) DATETIME アーカイブの日付/時刻
event_status -2 (統合ブローカーへのイベントの送信エラー) INTEGER 非ヌル

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


0 (ポーリング開始可能)


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


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


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

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

Copyright IBM Corp. 2004