Notification Services プログラミング フレームワーク
Notification Services プログラミング フレームワークを利用すると、XML、マネージ コード、Transact-SQL を使用して通知アプリケーションの開発を迅速かつ容易に行うことができます。
アプリケーションを開発する際の主な作業は、アプリケーションのプロパティを定義し、アプリケーションをホストするインスタンスを構成することです。アプリケーションで使用するイベント プロバイダ、配信プロトコル、コンテンツ フォーマッタによっては、それ以外の開発作業が加わることがあります。たとえば、XML スキーマ (XSD)、Extensible Stylesheet Language Transformation (XSLT) ファイル、カスタム コンポーネントなどを作成する場合があります。
ほとんどのアプリケーションには、カスタム サブスクリプション管理インターフェイスも必要になります。
開発オプション
Notification Services プログラミング フレームワークでは、アプリケーションの定義およびインスタンスの構成について次の 2 つの方法をサポートしています。
- アプリケーションの定義とインスタンスの構成を、それぞれアプリケーション定義ファイル (ADF) およびインスタンス構成ファイル (ICF) と呼ばれる XML ファイルで行います。XML のリファレンス トピックは、「Notification Services のプログラミング リファレンス」を参照してください。
- 通知管理オブジェクト (NMO) を使用してアプリケーションの定義とインスタンスの構成をプログラム的に行います。NMO オブジェクトは Microsoft.SqlServer.Management.Nmo 名前空間にあります。
サンプル アプリケーションについては、「SQL Server Notification Services サンプル」を参照してください。
アプリケーションの定義
アプリケーション定義では、アプリケーションのプロパティを記述します。Notification Services アプリケーションを定義するとき、通常は次のような作業を行います。
- アプリケーション イベントの構造を定義します。
- アプリケーション サブスクリプションの構造を定義し、イベント データとサブスクリプション データを結合して通知を生成するためのクエリを定義します。
- 生成される通知、通知コンテンツ フォーマッタ、通知の配信に使用する配信プロトコル、再試行スケジュールなどの配信設定の構造を定義します。
- イベント データを収集してアプリケーションに送信するイベント プロバイダを定義します。
- ジェネレータを実行する間隔を構成します。
- 書式設定と配信を制御するディストリビュータを定義します。
- アプリケーション データベースを定義します。これは、新しいデータベースでも、既存のデータベースでもかまいません。
- アプリケーションの操作設定を定義します。
アプリケーション定義の詳細については、「Notification Services アプリケーションの定義」を参照してください。
アプリケーション定義によっては、追加のファイルを作成することが必要になる場合があります。たとえば、ファイル システム監視イベント プロバイダを使用する場合は、XML イベント スキーマを定義する XSD ファイルを作成する必要があります。XSLT コンテンツ フォーマッタを使って通知の書式設定を行うことを選択する場合は、生の通知データを判読可能なメッセージに変換する XSLT ファイルを 1 つ以上作成する必要があります。
また、標準のイベント プロバイダ、コンテンツ フォーマッタ、または配信プロトコルが自分のアプリケーションの要件を満たしていない場合は、カスタム コンポーネントを作成することもできます。詳細については、「Notification Services のカスタム コンポーネントの開発」を参照してください。
インスタンスの構成
Notification Services インスタンスは、1 つ以上のアプリケーションをホストする名前付きの構成です。構成ファイルは、インスタンスの名前を定義し、インスタンス データベースを定義し、そのインスタンスがホストするアプリケーションの名前を指定し、そのインスタンスのデータベース、プロトコル、および配信チャネルを構成します。
インスタンスの定義の詳細については、「Notification Services のインスタンスの構成」を参照してください。
インスタンスのコンパイルとテスト
Notification Services アプリケーションをテストする用意ができたら、インスタンスをコンパイルする必要があります。これにより、インスタンスとアプリケーション データベースが作成されます。その後、インスタンスを登録し、有効にし、開始してから、テスト データを送信して、アプリケーションが期待どおりに動作するかどうかを確認します。
Notification Services インスタンスのコンパイルは、インスタンスの配置とよく似ています。Notification Services のインスタンスを配置することの詳細については、「Notification Services の配置」を参照してください。
イベント プロバイダやサブスクリプション管理インターフェイスを使用せずにアプリケーションをテストしたい場合には、簡単にテストできるようにするため、Notification Services で次のようなストアド プロシージャおよびビューが提供されています。
- アプリケーション内で定義した各イベント クラスについては、Notification Services により、イベント クラスと同じ名前のビューが作成されます。これらのビューにはイベントを送信できます。詳細については、「<EventClassName> ビュー」を参照してください。
また、イベント送信ストアド プロシージャを使用することもできます。これについては、「Notification Services ストアド プロシージャ (Transact-SQL)」に説明があります。 - 定義した各サブスクリプション クラスについては、Notification Services により、サブスクリプション クラスと同じ名前のビューが作成されます。これらのビューを使用して、サブスクリプションを送信できます。詳細については、「NSSubscriberView」を参照してください。
- 定義した各通知クラスについては、Notification Services により、通知クラスと同じ名前のビューが作成されます。これらのビューを使用して、アプリケーションによって生成される通知を確認できます。詳細については、「<NotificationClassName> ビュー」を参照してください。
Notification Services のインスタンスを配置および実行するために利用可能なオプションの詳細については、「Notification Services の配置オプション」を参照してください。
サブスクリプション管理インターフェイスの開発
ほとんどの Notification Services アプリケーションは、カスタム サブスクリプション管理インターフェイスを通してサブスクリプション データを取得します。サブスクライバは、そのインターフェイスを使用してサブスクリプションを作成できます。これらのインターフェイスは、多くの場合、Web アプリケーションまたは Windows アプリケーションです。
サブスクリプション管理インターフェイスは、Notification Services サブスクリプション管理 API を使用して開発できます。詳細については、「サブスクリプション管理インターフェイスの開発」を参照してください。
参照
その他の技術情報
通知ソリューションの作成
Notification Services の配置
Notification Services の管理