Notification Services を使用する理由
Notification Services は、本格的な通知アプリケーションを迅速かつ容易に開発できるプログラミング フレームワークを提供すると共に、それらのアプリケーションを強固でスケーラブルな環境で実行するためのプラットフォームを提供します。
容易で迅速なアプリケーション開発
Notification Services を使用すると、通知アプリケーションの開発と展開を簡単に、また迅速に行えます。Notification Services のプログラミング フレームワークを使用して、アプリケーションのプロパティを定義し、必要に応じてカスタム コンポーネントを作成するだけです。このフレームワークは、アプリケーションに広範なサービスを提供します。たとえば、以下のようなサービスがあります。
- SQL Server Management Studio との統合。Notification Services インスタンスの配置と管理が容易になり、XML ファイルや Transact-SQL スクリプトの編集も容易になります。
- イベント トリガのサブスクリプションと定期的なサブスクリプションの両方をサポート。定期的なサブスクリプションは、Microsoft Windows がサポートするすべてのタイムゾーンで機能し、夏時間と標準時間の移行も自動的に処理します。
- 単純なサブスクリプション操作と、条件に基づくより柔軟なサブスクリプション操作の両方をサポート。単純なサブスクリプション操作の場合、サブスクライバは開発者によって定義されたクエリに対してパラメータを提供します。柔軟な条件に基づく操作では、イベント データと照合する条件をサブスクライバが自分で作成できます。
- システムへのイベントの送信を容易にする標準イベント プロバイダと、カスタム イベント プロバイダを作成するためのインターフェイス。
- 通知の送信を容易にする標準配信プロトコルと、カスタム配信プロトコルを作成するためのインターフェイス。
- アプリケーションを使ったイベントと通知の流れの自動管理。
- 有効期限の切れたイベントや古い通知データなど、古いデータの自動管理。スケジュールを指定すれば、Notification Services によってデータが削除されます。
- 配信の試行や配信の試行の失敗の自動ログ記録。
- 複数の言語での、複数のデバイスに対する通知のカスタム書式設定。
- コントロール パネルの [パフォーマンス] アプリケーションへの統合による、容易なパフォーマンスの監視。
- アプリケーション イベント ログへのエラーや警告の自動ログ記録。
パフォーマンスとスケーラビリティ
Notification Services アプリケーションはセット指向の処理モデルなので、アプリケーションが数千、数百万のサブスクライバをサポートする必要がある場合でも、適切に実行されます。
通知を送信するすべてのアプリケーションは、サブスクリプションに関連するイベントが利用可能になったとき、またはスケジュールに従って、そのいずれかの適切な時点でサブスクリプションを評価する必要があります。
小規模のアプリケーションでは、いずれの場合も、単に各サブスクリプションを独自のクエリとして定義し、適切な時期にそのクエリを実行することによって、この必要条件を満たすことができます。しかし、サブスクリプションの数が数千または数百万になる大規模なアプリケーションでは、個々のクエリを数千回または数百万回も実行するとスケーラビリティが低下します。
Notification Services では、この問題を避けるために、ほとんどのサブスクリプションに共通の構造を利用します。Notification Services は、サブスクリプションを個別のクエリとして扱うのではなく、それらをセットとして処理し、評価します。このセット指向のデータ処理方法は、データベース エンジンに最適で、Notification Services のプログラミング フレームワークの基礎となっています。
このセット指向のモデルでは、到着した新しいイベントとサブスクリプションの大きなセットとの間で単純にデータベース結合を実行することによって、サブスクリプションが評価されます。Notification Services は、次のような広範にわたるカテゴリのサブスクリプションを実装できます。
- イベントが発生するとすぐに評価される単純なイベント トリガのサブスクリプション。
- 独自のスケジュールに従って評価されるサブスクリプション。
- 過去のイベントおよび現在のイベントを使用するサブスクリプション。
- アプリケーションの状態に基づくサブスクリプション。
- 外部データベースを使用するサブスクリプション。
柔軟な条件に基づく操作を使用している場合、パフォーマンスはユーザーが定義する照合条件によって変動します。条件に基づくサブスクリプションとパラメータに基づくサブスクリプションのシグニチャが同じである場合、サブスクリプションを評価するときのパフォーマンスは同程度です。ただし、さまざまな照合条件があると、各条件が一度に 1 つずつ評価されるのでパフォーマンスが低下します。
参照
概念
Notification Services の動作方法
Notification Services アーキテクチャ