長い間、BizTalkは生命維持装置が付けられていたようだった。複雑で高価なため、決して人気の製品にはならなかった。それでも多くの企業が使っていたのは、Microsoftの名前の信頼感と実際に企業分野でのサービスバスが必要だからだ。このギャップを埋めるためMicrosoftはMicrosoft Service Bus 1.0 for Windows Serverという新しい製品を発表した。
Service Bus for Windows ServerはAzure Service Busをベースにしている。キュー、トピック、サブスクリプションのサポート、信頼性の高いメッセージストレージ、多様なコミュニケーションプロトコルなどAzure Service Busと同じ機能が多く搭載されている。.NET 4.5上で動作し、メッセージの永続化にSQL ServerかSQL Azureを使う。Microsoft Message Queuesでメッセージを保持する方式からの変更だ。
第一にサポートされているプロトコルはNet.TCPとREST over HTTP。Net.TCPはWCFでクライアントとサーバが高速に通信するために設計されたバイナリフォーマット。.NETアプリケーションでない場合は、REST over HTTPが使える。
Service Busのインストールは複数のメッセージブローカーのインストールを含む。各ブローカーは1つ以上のメッセージコンテナを含む。メッセージコンテナはキューやトピック、サブスクリプションなどをホストする。各コンテナはデータベースに保持される。新しい、キューやトピック、サブスクリプションが作成されると、ロードバランサがどのコンテナに置くかを決める。その後はキューやトピック、サブスクリプションは移動できない。しかし、コンテナ自体は他のサーバに移動できる。
メッセージブローカーのNTサービスがクラッシュしたり、リサイクルした場合、また、ノード自体のリサイクルやシャットダウンのイベントが発生した場合、そのブローカーインスタンス内にあるメッセージコンテナはファーム内の他のマシンに自動的に移動sるう。メッセージコンテナはサービスリクエストを続けることができる。フェールオーバーのときも瞬断が発生するだけだ。
Windows Fabricは“マシンファームの構成やクラスタリング、ロードバランシングなどの高可用性に必要な機能”を提供する。しかし、高可用性を実現するためにはこれだけでは不十分だ。SQL Serverをミラーリングしたり、クラスタリング、あるいは複製して置く必要がある。
Service Bus 1.0 for Windows Serverは現在、ベータ版として利用できる。