Notification Services の動作方法

Notification Services アプリケーションは、イベントとサブスクリプションを収集し、通知を生成した後、その通知を Simple Mail Transfer Protocol (SMTP) サーバーなどの外部配信サービスに配信します。Notification Services は、次のようにしてこのタスクを実行します。

  1. Notification Services は、サブスクライバおよびサブスクリプションのデータを SQL Server データベースに格納します。Notification Services API の一部であるサブスクリプション管理オブジェクトを使用すると、サブスクライバおよびサブスクリプションのデータを管理するカスタム サブスクリプション管理アプリケーションを作成できます。
  2. Notification Services はイベント プロバイダを使って、イベント データを収集し、収集したイベント データをアプリケーションのデータベースに格納します。たとえば、ファイル システム監視イベント プロバイダは XML イベント データのディレクトリを監視します。ファイル システム監視イベント プロバイダを使用して XML イベント ファイルを XML イベント データのディレクトリにドロップできます。そして、このイベント プロバイダが XML イベントを読み取って、アプリケーション データベースに送信します。
    イベント プロバイダは、イベント プロバイダ ホスト コンポーネントによって実行されるか、Notification Services とは独立して実行することができます。詳細については、「イベント コレクション アーキテクチャ」を参照してください。
  3. ジェネレータ は、イベントとサブスクリプションを照合して、通知を生成します。ジェネレータは、アプリケーションに対して定義された間隔で実行されるので、サブスクリプションは確実に定期的に評価されます。アプリケーション開発者が Transact-SQL クエリを作成します。そのクエリに対してユーザーがパラメータまたは条件を指定することにより、サブスクリプションを評価する方法と、どの情報を通知に含めるかが決定されます。
  4. ディストリビュータ は通知の書式設定を行い、1 つ以上の配信サービスを使用してサブスクライバに書式設定した通知を送信します。アプリケーション開発者は、組み込み XSLT コンテンツ フォーマッタなどのコンテンツ フォーマッタを使用して、生データを書式設定された通知に変換する方法を指定します。

次の図に、Notification Services がこのアーキテクチャをどのように実装しているかを示します。

Notification Services のアーキテクチャ

Notification Services エンジンは、イベント プロバイダ ホスト、ジェネレータ、およびディストリビュータを実行します。このエンジンのホストは NS$instanceName Windows サービス (インスタンスの登録時にインストール可能) にすることも、カスタム アプリケーションまたはカスタム プロセスにすることも可能です。

参照

概念

Notification Services の配置オプション
Notification Services アーキテクチャ
Notification Services を使用する理由
Notification Services エンジンのホスト

ヘルプおよび情報

SQL Server 2005 の参考資料の入手