通知ソリューションの計画
Notification Services アプリケーションの実装を開始する前に、アプリケーションからの発生が予測される入力と出力の種類およびボリュームに関する基準を考慮することが重要です。この基準についての綿密な調査に合わせ、提案するアプリケーションの要件を徹底的に分析することで、ビジネス目標を達成するシステムを開発できます。
計画のチェックリスト
アプリケーションを計画する場合、以下の質問を指針として使用します。
アプリケーションを定義しインスタンスを構成するために XML とマネージ コードのどちらを使用しますか。
SQL Server 2005 Notification Services では、アプリケーションとインスタンスの開発について 1 つの方法を選択できます。XML を使用してアプリケーションを定義し、インスタンスを構成するには、アプリケーションごとに 1 つのアプリケーション定義ファイル (ADF) および Notification Services インスタンスごとに 1 つのインスタンス構成ファイル (ICF) を作成します。または、Notification Services 管理オブジェクト (NMO) を使用してアプリケーションを定義し、インスタンスを構成できます。
詳細については、次のトピックを参照してください。
- Notification Services アプリケーションの定義
- Notification Services のインスタンスの構成
- Microsoft.SqlServer.Management.Nmo
- SQL Server Notification Services サンプル
どのイベント ソースを使用しますか。
Notification Services は、イベントとサブスクリプションを照合して通知を生成します。アプリケーションを開発する前に、イベントを取得するソースを考えておく必要があります。イベントを XML ファイルまたはデータベースから取得できる場合は、Notification Services アプリケーションに継続的または定期的にデータを送信する組み込みのイベント プロバイダを使用できます。イベントが別の形式の場合は、イベントをイベント ビューに直接送信するか、カスタムのイベント プロバイダを作成するか、あるいはイベントについて他のデータ ソースをクエリする必要があります。
イベント プロバイダの詳細については、次のトピックを参照してください。
インスタンス データとアプリケーション データの格納にはどのデータベースを使用しますか。データベース エンジン インスタンスはどのような構成にしますか。
Notification Services アプリケーションを定義し、そのアプリケーションをホストするインスタンスを構成する場合は、インスタンス データとアプリケーション データ用の新しいデータベースを作成するか、既存のデータベースを使用することができます。インスタンス データとアプリケーション データを他の操作データと一緒に格納するか、またはインスタンス データおよびアプリケーション データを別のデータベースに分けるか決定する必要があります。
選択するデータベースに複数のファイル グループがある場合は、特定のインスタンス データとアプリケーション データの格納に使用するファイル グループを決定する必要もあります。
インスタンス データとアプリケーション データを格納するデータベースの場所と構成方法は、データベース管理者と相談して決定します。オプションの詳細については、次のトピックを参照してください。
アプリケーションで受け入れるイベントおよびサブスクリプションと、アプリケーションで生成する通知はどのようなスキーマですか。使用する記録テーブルはどのようなスキーマですか。
Notification Services アプリケーションを定義するときに、イベント データ、サブスクリプション データ、および通知データのスキーマを文書化します。これらのスキーマを使用して、アプリケーション テーブルとビューを作成します。これらのスキーマがわかっていれば、アプリケーションを迅速に開発できます。
アプリケーションはイベント記録とサブスクリプション記録を使用して、補足的なイベント データとサブスクリプション データを格納することもできます。記録は一般的に、定期的なサブスクリプションで使用するイベント データを格納したり、個々のサブスクリプションに関する履歴データを格納するために使用します。
Notification Services アプリケーションを定義するときに、イベント データとサブスクリプション データを結合し、そのデータを 1 つの通知ビューに挿入するクエリを指定します。適切なスキーマ デザインに加え、結果のテーブルとビューのインデックスを定義することで、最適化された通知生成ルールを作成することができ、その結果アプリケーションのパフォーマンスが向上します。
スキーマの詳細については、次のトピックを参照してください。
アプリケーションを配置した後に、イベント スキーマまたは通知スキーマを変更すると、基になるテーブルとビューが削除されて再作成されます。サブスクリプション クラスのスキーマを変更すると、サブスクリプション データを格納する既存のテーブル名が変更され、古いサブスクリプション データを新しいテーブルに手動で移行する必要があります。
定期的なサブスクリプション、イベント ドリブン サブスクリプション、またはその両方を提供しますか。サブスクライバで定義済みのクエリにパラメータを指定しますか、それともサブスクライバで独自の条件を定義できるようにしますか。
Notification Services は、イベントが到着すると評価されるイベント ドリブン サブスクリプションと、スケジュールに従って評価される定期的なサブスクリプションをサポートします。イベント ドリブン サブスクリプションと定期的なサブスクリプションはどちらも、基本アクションまたは条件アクションをサポートします。
詳細については、「サブスクリプション ルールの定義」を参照してください。
古いイベントと通知データをどのくらいの頻度で削除しますか。
Notification Services は、Vacuumer 処理によって古い、期限の切れたイベントと通知データを自動的に削除できます。アプリケーションを定義するときに、アプリケーションごとに Vacuumer 処理を構成します。詳細については、「データ削除の構成」を参照してください。
標準 Notification Services コンポーネントを使用しますか、それともカスタム コンポーネントを実装しますか。
カスタム コンポーネントは、アプリケーションに特化した強力な機能を提供しますが、追加の設計、開発、およびテスト用リソースが必要となります。詳細については、「Notification Services のカスタム コンポーネントの開発」を参照してください。
ベース時とピーク時の両方で、どのくらいのボリュームの通知を配信すると予想しますか。高可用性はどの程度重要ですか。
Notification Services は、スケールアップ、スケールアウト、およびフェールオーバー クラスタリングのハードウェア構成をサポートします。通知のボリュームと可用性の要件を把握していると、ハードウェア構成を選択する際に役に立ちます。詳細については、「Notification Services システムの計画」を参照してください。
サブスクリプション管理インターフェイスの実装には、どのようなテクノロジを使用しますか。
Microsoft .NET Framework とサポートされるいずれかの言語を使用してマネージ コードでサブスクリプション管理インターフェイスを実装することも、Notification Services ビューを使用して基本的なサブスクライバとサブスクリプション データを送信することもできます。マネージ コード インターフェイスは Notification Services クラスに直接アクセスできますが、アンマネージ アプリケーションは COM 相互運用を使用する必要があり、条件アクションは使用できず基本アクションに制限されます。
Notification Services ビューを使用してサブスクライバとサブスクライバ デバイス データを追加することができます。アプリケーションが基本アクションのみをサポートするイベント ドリブン サブスクリプションを使用する場合は、これらのビューを使用してサブスクリプション データを追加することもできます。
使用する実装を決めると、各サーバーにインストールする必要があるソフトウェアを判断しやすくなり、スケールアウトやフェールオーバーの計画もスムーズに進みます。
詳細については、「サブスクリプション管理インターフェイスの開発」を参照してください。
Notification Services アプリケーションを、外部データベースまたはサード パーティのアプリケーションと統合する必要はありますか。
Notification Services は他のシステムからデータを取得したり、他のシステムに通知を配信することができます。通常、統合はイベント プロバイダまたは配信プロトコルを介して実行されます。アプリケーションは外部データベースをクエリして、イベント、サブスクリプション、その他のデータを取得することもできます。
統合要件は、システム パフォーマンス、データ フォーマット オプション、通知配信など、Notification Services アプリケーションの多くの側面に影響する可能性があります。
詳細については、「Notification Services と他のテクノロジ」を参照してください。
参照
概念
Notification Services アーキテクチャ
Notification Services プログラミング フレームワーク
Notification Services の配置オプション
その他の技術情報
通知ソリューションの作成
Notification Services の配置
Notification Services の管理