通知の配信
Notification Services は、以下で説明するサブスクライバ デバイス、配信チャネル、および配信プロトコルを使用して、通知の配信方法と配信先を決定します。ここでは、これらのオブジェクトを関連付ける方法、およびアプリケーションでこれらのオブジェクトを定義する方法についても説明します。
配信チャネル
配布チャネルは、特定の配信エンドポイントを表します。配布チャネルは、電子メール サーバーになる場合も、オペレーティング システムのファイルになる場合もあります。各配信チャネルには、配信エンドポイントへの通知のパッケージ化および送信に使用される配信プロトコルが関連付けられます。
Notification Services のインスタンスを構成する際に、インスタンス構成で配信チャネルを定義します。インスタンスがホストするすべてのアプリケーションは、同じ配信チャネルのセットを使用します。
配信プロトコル
配信プロトコルは、電子メール メッセージ用の SMTP (Simple Mail Transfer Protocol) やテキスト メッセージング用の SMS (Short Message Service) など、配信方法の実装です。配信プロトコルは、アドレスや電子メールの件名など配信システムに必要なすべての情報で書式設定された通知をラップし、配信チャネルに通知を送信します。
アプリケーションの各通知クラスに対して配信プロトコルを構成します。通知クラスがサポートする各配信方法に対して、配信プロトコルの構成情報を指定します。Notification Services はこの構成情報を使用して、通知データを配信方法の要件にマップする方法を決定します。たとえば、電子メール配信とテキスト メッセージングをサポートするために、SMTP 配信プロトコルと SMS 配信プロトコルを定義します。配信プロトコル自体は、Notification Services に付属する標準配信プロトコルか、または特定の配信方法を実装したカスタム配信プロトコルのいずれかです。
Notification Services のインスタンスの配信チャネルを定義する際に、配信プロトコルを各配信チャネルに関連付けます。複数の配信チャネルで同じ配信プロトコルを使用できます。たとえば、File 配信プロトコルを使用する 2 つの配信チャネルを定義できます。各配信チャネルは異なるファイルに通知を書き込むことができます。
カスタム配信プロトコルを使用している場合、プロトコルのクラス名とアセンブリ名をインスタンス構成で宣言する必要があります。
配信プロトコルおよび配信チャネルと通知の関連付け
アプリケーションを定義するときには、通知クラスを 1 つ以上の配信プロトコルに関連付けて、各配信チャネルを 1 つの配信プロトコルに関連付けます。しかし、個々の通知は配信プロトコルおよび配信チャネルにどのように関連付けられるのでしょうか。
サブスクリプション管理インターフェイスを開発する場合、サブスクライバとそのサブスクリプションに関する情報を収集します。サブスクライバはこのインターフェイスを使用して、通知を受信する 1 つ以上のサブスクライバ デバイスを構成します。各サブスクライバ デバイスには、サブスクライバ ID、配布チャネルの名前、およびアドレスが含まれます。
サブスクライバがサブスクリプションを作成する際に、サブスクリプション管理インターフェイスはデバイス名をサブスクリプションに関連付ける必要があります。インターフェイスはサブスクライバ デバイスをハードコードするか、またはサブスクライバが構成済みのデバイスを選択するようにします。
Notification Services によって通知が生成されると、サブスクリプション ルールで指定されたサブスクライバ ID とデバイス名が通知に格納されます。通知を配信する時間になると、ディストリビュータは配信チャネルとサブスクライバ デバイスのアドレスを取得し、続いてこの配信チャネルに関連付けられた配信プロトコルを取得します。この時点で、通知のパッケージ化および配信チャネルへの送信に必要な情報を Notification Services が取得したことになります。
配信情報の定義
アプリケーションを開発する場合、通知の配信に必要なすべての情報を定義する必要があります。
- 各通知クラスに対して、通知クラスがサポートするすべての配信プロトコルを宣言します。複数の配信プロトコルを各通知クラスに対して指定できます。詳細については、「配信プロトコルの構成」を参照してください。
- カスタム配信プロトコルがある場合は、インスタンス構成で宣言します。Notification Services は、すべての標準配信プロトコルを認識します。詳細については、「カスタム配信プロトコルの定義」を参照してください。
- 各配信チャネル (その配信プロトコルを含む) をインスタンス構成で定義します。詳細については、「配信チャネルの定義」を参照してください。
- 各サブスクライバ デバイスが使用する配信チャネルを指定するためのサブスクリプション管理インターフェイスを設計します。これは、ハードコードすることも、ユーザーが値を選択することも可能です。指定された配信チャネルは、インスタンス構成で定義された配信チャネルのいずれかである必要があります。詳細については、「サブスクリプション管理インターフェイスの開発」を参照してください。
- 通知を生成するサブスクリプション ルールで、サブスクライバ ID、デバイス名、およびサブスクライバのロケール フィールドを通知テーブルに挿入します。詳細については、「サブスクリプション ルールの定義」を参照してください。
参照
概念
通知の書式設定と配信アーキテクチャ
カスタム配信プロトコルの定義
配信チャネルの定義
サブスクリプション ルールの定義
その他の技術情報
通知クラスの定義
Notification Services アプリケーションの定義
配信プロトコルの構成
サブスクリプション管理インターフェイスの開発