Notification Services のセキュリティ、信頼性、スケーラビリティ、および可用性

企業システムは、セキュリティで保護され、信頼性や可用性が高くなければなりません。Microsoft SQL Server Notification Services は、プログラミング フレームワークと、Notification Services を実行するサーバーのアーキテクチャでこれらの必要条件に対応しています。

セキュリティ

Notification Services、Microsoft .NET Framework、および SQL Server には、アプリケーション開発者や管理者がアプリケーションおよび全体的な展開にエンド ツー エンドのセキュリティを設定できるデザイン機能が組み込まれています。

  • Notification Services は、業界標準の Web セキュリティ モデルを使い、有線およびワイヤレスのデバイスを使用して、インターネット経由で通信します。サーバーを保護するために、標準の Microsoft Windows セキュリティ メカニズムと SQL Server 2005 ベースのセキュリティ メカニズムを使用します。
  • Notification Services の各インスタンスは、SQL Server 2005 ベースのセキュリティ メカニズムを使用して、互いに分離されます。これにより、個々のインスタンスのセキュリティを保護しながら、同じコンピュータ上で複数のインスタンスを確実にホストすることができます。インスタンスを完全に分離したい場合は、同じデータベース内に複数のインスタンスを配置しないでください。各インスタンスはデータベース ロールを共有するからです。
  • 各サブスクライバは、通知の生成および配信方法により、互いに分離されています。その結果、各サブスクリプションはそのシステム内で唯一のサブスクリプションであるかのように処理されます。
  • 条件操作は、定義されたセットのデータに対するユーザー定義のクエリをサポートするもので、ユーザーがサーバー上の他のデータにアクセスできないようにするために別個のデータベース ユーザー アカウントを必要とします。
  • アプリケーションの開発者は、独自のイベント プロバイダを定義することによって、Notification Services を拡張できます。イベント プロバイダは .NET Framework がサポートするマネージ コードとして実行されるので、サーバーのセキュリティを危険にさらさないことが保証されます。

信頼性

SQL Server 2005 データベース エンジン は、データを格納し、サブスクリプションの処理における信頼性が非常に高いので、Notification Services にとって次のような利点があります。

  • Notification Services が管理するサブスクリプション データは SQL Server 2005 に格納されます。これは、先行書き込みログ記録やフェールオーバー クラスタリングをサポートする、高度に堅牢なデータベース サーバーです。
  • Notification Services でのイベント、サブスクリプション、および通知の処理は、完全にトランザクション化されるので、さらに信頼性が保証されます。一部の配信プロトコル (たとえば、Simple Mail Transfer Protocol つまり SMTP) では、メッセージの配信が保証されないことに注意してください。ただし、Notification Services プラットフォームには、アプリケーションが再度配信を試みるためにメッセージを再送できる再試行ロジックがあります。

また、Notification Services では、カスタム コンポーネントにマネージ コードを使用することにより、カスタム コンポーネントによってシステムの安定性が脅かされる心配がなくなります。アプリケーション開発者は、たとえば、メッセージ キュー (MSMQ とも呼ばれます) に基づいて、信頼性のあるイベント プロバイダや信頼性のある配信プロトコルを構築できるので、完全なエンド ツー エンドの信頼性を実現します。

スケーラビリティ

Notification Services は、マルチプロセッサの Windows ベースのサーバーで、1 分間に数千のイベントを受け取り、数百万のサブスクリプションと照合し、1 分間に数千の通知を配信するような、大ボリュームのアプリケーションをサポートします。アプリケーションは、以下のようないくつかの方法でスケール変換できます。

  • サブスクリプション管理インターフェイスは、基になる SQL Server データベース エンジン のスケールアップした効率の利点を使用して、並列に実行できます。
  • Notification Services はマルチスレッド化されているので、マルチプロセッサ コンピュータで実行するときにスケール アップされます。
  • Notification Services サービスをあるサーバーに展開し、Notification Services データベースを別のサーバーに展開できます。通知の生成をデータベース サーバーで実行しながら、通知の書式設定を Notification Services サーバーで実行できるので、この構成は非常に効率的です。
  • 1 つのインスタンスが複数のイベント プロバイダと複数のディストリビュータをサポートできます。イベント プロバイダ、ジェネレータ、およびディストリビュータを複数のサーバーに分散できます。ディストリビュータをスケール アウトできることは、書式設定と配信のオーバーヘッドが大きく、大量の通知が行われる展開で重要になります。
  • さらにスケール アウトするためには、それぞれ独立して動作する複数の Notification Services インスタンスにサブスクリプションをパーティション分割できます。アプリケーション モデルはサブスクリプションを互いに独立させるので、このようなパーティション分割は自然で、通知アプリケーションを高度にスケーラブルにします。サブスクリプションのパーティション分割はアプリケーション内に実装する必要があります。Notification Services が自動的にサブスクリプションのパーティション分割を行うことはありません。

可用性

Notification Services の 1 つのインスタンスでは、すべてのデータと状態が SQL Server データベース サーバーで管理されます。一時的なデータだけが、イベント プロバイダ、ジェネレータ、およびディストリビュータで管理されます。

データを格納して処理する SQL Server 2005 は、さまざまな高可用性テクノロジを備えた、信頼できるデータベース サーバーです。たとえば、フェールオーバー クラスタリング、ログ配布、トランザクション レプリケーションといった機能があります。データベース サーバーは、ハードウェア障害を自動的に処理するように構成できます。

参照

概念

Notification Services の定義
Notification Services の利用シナリオ
Notification Services アーキテクチャ
Notification Services プログラミング フレームワーク
Notification Services の配置オプション
Notification Services と他のテクノロジ
Notification Services のエディション

その他の技術情報

高可用性の維持

ヘルプおよび情報

SQL Server 2005 の参考資料の入手