通知の書式設定と配信アーキテクチャ

Notification Services では、通知の書式設定および配信は、ディストリビュータの仕事です。ジェネレータが通知バッチを作成した後、ディストリビュータはそのバッチを配信チャネル別の作業項目に分割します。その後、ディストリビュータは作業項目をコンテンツ フォーマッタに送信します。書式設定が完了すると、ディストリビュータはその通知を配信チャネルで指定された配信エンドポイントに送信します。

通知の書式設定と配信アーキテクチャ

メッセージの書式設定

アプリケーション作成作業の一部として、生の通知データを判読可能なメッセージに変換する方法を定義します。Notification Services には標準の Extensible Stylesheet Language Transformation (XSLT) コンテンツ フォーマッタが組み込まれており、アプリケーションでサポートする各デバイスごと、および各ロケールごとに 1 つの XSLT ファイルが必要です。また、デバイスおよびロケールに基づいて適切に通知を書式設定するカスタム コンテンツ フォーマッタを開発することもできます。

書式設定したメッセージには、生の通知データ、書式設定時に計算されたデータ、およびコンテンツ フォーマッタによって追加されるテキストを組み合わせて含めることができます。これらのオプションにより、見栄えがよく、かつユーザーに親しみやすいメッセージ テキストが生成でき、URL やその他のリンクを含めることもできるようになります。

配信チャネル

Notification Services 自体は、通知の最終的な配信を処理しません。代わりに、Notification Services は配信チャネルを使用します。配信チャネルは、Simple Mail Transfer Protocol (SMTP) サーバーなどの配信サービスへのパイプのようなものです。Notification Services は通知を、1 つ以上の配信チャネルに送信します。各配信チャネルは、その通知をプロトコルに応じてパッケージ化した後、配信サービスに送信します。配信サービスが、サブスクライバへの最終的な配信を処理します。

配信チャネルの構成は、Notification Services インスタンスに対して行います。そのインスタンスがホストするすべてのアプリケーションは、配信チャネルを共有します。

各配信チャネルは、特定の配信エンドポイントへの配信に特定の配信プロトコルを使用します。Notification Services には、次のような一般的なプロトコルが組み込まれています。

  • SMTP プロトコル。通知を Microsoft Exchange Server またはその他の SMTP サーバーに送信するために使用できます。
  • 拡張可能な HTTP プロトコル。Simple Object Access Protocol (SOAP)、Short Message Service (SMS)、.NET Alerts、およびその他の HTTP 関連のプロトコル用に使用できます。
  • ファイル プロトコル。通知をオペレーティング システム ファイルに送信するためのプロトコルで、主にアプリケーションのデバッグに使用します。

必要であれば、1 つの配信プロトコルに対して複数の配信チャネルを定義できます。

他のタイプのデバイスをサポートしたい場合、または特定の SMTP 機能やファイル機能を使用したい場合には、カスタム配信プロトコルを開発できます。

標準プロトコルとカスタム プロトコルの詳細については、「標準配信プロトコル」および「カスタム配信プロトコルの開発」を参照してください。

通知配信の追跡および再試行

Notification Services は配信の再試行、パフォーマンスの監視、およびトラブルシューティングをサポートするために、通知の配信情報を保持しています。配信チャネルは配信チャネル コールバックを呼び出し、各通知の配信に成功したか、失敗したかを報告します。コールバックは通知テーブルを更新し、各通知の成功または失敗を反映します。配信状態は、NSNotificationClassNameNotificationDistribution ビューまたは Notification Services ストアド プロシージャを使用して確認することができます。

送信する通知の種類ごとに、再試行スケジュールを構成できます。詳細については、「配信プロトコルの実行設定の指定」を参照してください。

配信オプション

通知ごとの標準の書式設定および配信に加えて、Notification Services は、ダイジェスト配信およびマルチキャスト配信という 2 つのオプションを提供しています。

  • 複数の株の価格情報など、複数の通知が個々のサブスクライバに送信される可能性が高い場合は、ダイジェスト配信を使用して通知を 1 つのメッセージにグループ化できます。通知バッチ内のサブスクライバの通知がグループ化され、1 つのメッセージとして送信されます。ダイジェスト配信を利用すると、システムにおける書式設定や配信の負荷を軽減できます。
  • アプリケーションが作成する通知が多くのサブスクライバに対して同じ情報になることが多い場合は (スポーツの得点、天気予報など)、マルチキャスト配信を使用できます。マルチキャストでは通知の書式設定を 1 回だけ行い、それを複数のサブスクライバに送信します。その結果、システムでの書式設定の負荷が軽減されてパフォーマンスが向上します。

参照

概念

配信チャネルの定義
ダイジェスト配信またはマルチキャスト配信の指定
サブスクリプション管理アーキテクチャ
イベント コレクション アーキテクチャ
サブスクリプション処理アーキテクチャ

その他の技術情報

配信プロトコルの構成
Notification Services ストアド プロシージャ (Transact-SQL)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手