Microsoftは先頃,Windows Azure Service Busで AMQP サポートを一般提供すると 発表した。この機能は,異なるオペレーティングシステムとさまざまなテクノロジで開発された,アプリケーション間の相互運用を実現するものとして,これまで約6ヶ月の間プレビューが続けられてきたものだ。
AMQPは高効率,バイナリ,ワイヤレベルのアプリケーション層プロコトルである。それをサポートすることのメリットは –
- 柔軟性。システムの各部分に異なる言語やフレームワークを使用する場合でも,メッセージブローカを経由して相互通信を行うことができる。
- ロックインを削減することで,既存アプリケーションの移植が容易になる。 例えば,JMSを使用しているJavaアプリケーションの,Windows Azure System Busへの 移植が,最小限の作業で可能になる。
PHP, Python, Java, そして .NET で動作するアプリケーションを対象に,AMQPを使ってWindows Azure Service Busで稼働させるためのガイド資料が用意されている。
AMQP(Advanced Message Queuing Protocol) は,プロプライエタリなメッセージプロトコルの代替として,業界からの支持を高めているプロトコルで,先日には OASIS標準 にもなった。Microsoftではこの標準のサポートを,すでに2008年から 行っている。
同じように一般的なメッセージプロトコルとしては,他に STOMP (テキストベースのプロトコル) や MQTT (低帯域,インターネットに適したプロトコル) などがある。 いずれも異なるシナリオにおいて,それぞれのメリットを持ったプロトコルだ。Andy Piper氏の記事 "Choosing Your Messaging Protocol" では,これらの相対的な利点をうまく比較している。RabbitMQ などは実際にこれら3つをすべてサポートしていて,エンドポイント単位でプロトコルを選択することができる。