次の方法で共有


カスタム イベント プロバイダ

カスタム イベント プロバイダは、Notification Services アプリケーションにイベント データを送信するカスタム コンポーネントです。カスタム イベント プロバイダを開発する場合は、開発するイベント プロバイダの種類、イベント データのソース、およびデータの送信に使用する API を決定する必要があります。

カスタム イベント プロバイダの種類

カスタム イベント プロバイダは、ホストされるイベント プロバイダまたはホストされない (独立) イベント プロバイダのどちらにすることもできます。ホストされるイベント プロバイダは、Notification Services エンジンのプロバイダ ホストで実行されます。

Notification Services プロバイダ ホストを利用できるため、ホストされるイベント プロバイダの方がより簡単に開発できます。また、他の Notification Services コンポーネントのように、ホストされるイベント プロバイダを有効または無効にすることもできます。ホストされるイベント プロバイダの開発の詳細については、「ホストされるイベント プロバイダの開発」を参照してください。

ホストされないイベント プロバイダは、Notification Services システムの外側で動作します。ホストされないイベント プロバイダは、既存のインフラストラクチャを使用してイベントを送信する場合や、要求時にイベントを送信する場合に役立ちます。ホストされないイベント プロバイダの開発の詳細については、「ホストされないイベント プロバイダの開発」を参照してください。

イベント データの収集

データを収集するには多くの方法があります。たとえば、データベースにクエリを実行したり、XML ファイルを解析したり、または Microsoft Windows のフォームや Web フォームを介してデータを送信する方法があります。データ収集のトリガは、アプリケーションでデータをイベント プロバイダにプッシュするアクション、またはデータ ソースの定期的なポーリングに設定することができます。

データ ソース、フォーマット、およびコレクション モデルについて把握しておくと、イベント送信 API を選択する際に役に立ちます。

イベント送信 API

データ ソースを決定するときに、イベント送信 API を選択できます。Notification Services には、3 つのイベント送信 API があります。

  • XML でデータが利用できる場合は、EventLoader クラスを使用して、XML データ ソースからアプリケーション データベースに 1 つ以上のイベントを書き込むことができます。組み込みのファイル システム監視イベント プロバイダは、EventLoader クラスを使用します。
  • SQL Server データベース内にデータがある場合は、イベント送信ストアド プロシージャを使用して個々のイベントを書き込んだり、Transact-SQL クエリを使用してデータを収集および送信することができます。組み込みの SQL Server イベント プロバイダは、これらのストアド プロシージャを使用します。
  • 他のイベント ソースがある場合は、マネージ イベント送信 API を使用できます。この API を使用して、イベントごとに 1 つの Event オブジェクトを作成し、EventCollector オブジェクトを使用して、イベントを 1 つのバッチに収集し、アプリケーション データベースに送信します。

これらの各 API では、イベントがデータベースにバッチで送信されます。イベント バッチがコミットされたときに限り、イベントはアプリケーションに表示されます。

次の図は、これらのイベント送信 API を表しています。

イベント処理アーキテクチャ

カスタム イベント プロバイダの使用

カスタム イベント プロバイダを使用するには、アプリケーション定義でそのプロバイダを宣言する必要があります。詳細については、「イベント プロバイダの定義」を参照してください。

参照

概念

マネージ イベント送信 API の使用
XML イベント ローダー API の使用
イベント送信ストアド プロシージャの使用

その他の技術情報

カスタム イベント プロバイダの開発

ヘルプおよび情報

SQL Server 2005 の参考資料の入手