Service Broker によるプログラミングの利点

今日、多くのデータベース アプリケーションでは、キューイングや非同期メッセージングが必要とされています。Service Broker では、このようなニーズに対応するために、持続性のあるキューベースの新しいメッセージング フレームワークを提供します。Service Broker で提供される Transact-SQL API を使用すると、アプリケーションのキューイングや非同期通信の要件を満たすサービスを簡単に開発することができます。

Service Broker によるプログラミングには、次のような利点があります。

  • 柔軟な開発 : 1 つの分散アプリケーションで使用されるプログラムを複数の言語で記述できます。この場合、各プログラムが分散アプリケーションの各コンポーネントの機能を提供します。

  • 強化されたセキュリティ : 証明書によってセキュリティ要件を表せるので、アプリケーション コンポーネント間で同じセキュリティ コンテキストを共有する必要がありません。Service Broker では、SQL Server セキュリティ機能をアプリケーションのセキュリティ保護に役立てています。

  • トランザクション処理 : SQL Server トランザクション内部でメッセージを処理し、データの整合性を確保します。Service Broker では、データベースへの標準接続経由でのリモート トランザクション メッセージングがサポートされます。

  • 保証された順序付け : Service Broker では関連する一連のメッセージの配信と処理に関して厳密な保証を提供しており、関連する一連のメッセージは 1 度だけ、正しい順序で配信および処理されます。

  • 信頼性の高い配信 : "メッセージ交換" (2 つ以上のサービス間で行われる、関連のある一連の通信) に必要なすべてのデータが SQL Server に保存されます。Service Broker では、クラスタリングとデータベース ミラーリングがサポートされます。メッセージ交換は、システムの再起動、サーバーのフェールオーバー、ネットワーク障害などの後にもデータを失うことなく維持されます。

  • 向上したスケーラビリティ : Service Broker のルーティングでは、サービスを実行するコンピュータのネットワーク アドレスではなく、サービス名に基づいてメッセージが配信されます。これにより、アプリケーション コードを変更することなくアプリケーションを複数のコンピュータにインストールできます。

  • 既存の知識を活用する機能 : Service Broker では、Transact-SQL を使用してオブジェクトを作成します。Service Broker を使用するアプリケーションは、ほとんどの場合 Transact-SQL または Microsoft .NET Framework 互換の言語で実装されます。Service Broker アプリケーションを作成するために新しい言語を習得する必要はありません。