InfoQ

News

AMQPは真のビジネス相互運用性をもたらすのか?

作者 Steven Robbins, 翻訳者 編集部 投稿日 2008年8月18日 午前6時18分

コミュニティ
Architecture
トピック
メッセージング,
仕様,
インターロップ,
オープンソース
タグ
Middleware management ,
XMPP,
AMQP,
ビジネスアーキテクチャ,
CohesiveFT,
Iona
AMQP (Advanced Message Queuing Protocol)(参考記事・英語) はJohn O'Hara氏によって(リンク)JPモルガン社内で生まれた。だが、彼のビジョンは単なる新しい社内向けのものに留まるものではなかった。AMQPの標準的かつ(リンク) オープンソースのテクノロジー(リンク)は、機運に乗っている。Jeff Gould氏(リンク)とその仲間達はAMQPの成り立ち、AMQPを動かしている人物、そして今後についてヒントを与えた。

IONA Technologies(リンク)はAMQP仕様の貢献者であり、AMQPがどのようなものであり、なぜ注目すべきなのかを説明する短い文章(リンク)を発表した。AMQPとは以下のようなものである。
  • 「AMQPモデル(Advanced Message Queuing Protocol Model)」と呼ばれる明確なメッセージング能力セットである。AMQPモデルはメッセージをブローカーサービス内のルーティング、蓄積についての細かく規定された一連のコンポーネントおよびこれらのコンポーネントをまとめるシンプルなルールセットから成る。
  • ネットワークワイヤーレベルのプロトコルであるAMQPは、クライアントアプリケーションに、ブローカーに接続させ、実装したAMQPモデルと相互交信させる。
3回にわたるシリーズ(リンク)において、Jeff Gould氏はAMQPの歴史とまた、John O'Hara氏のオープンソースにするという決定について語った。2003年、JPMorganChase用のAMQPプロジェクトの実装にiMatix(リンク)を採用した後、ベータ版が2006年に実用化され、1日あたり3億件前後のメッセージを処理した。
O’Hara氏のAMQP計画はさらに野心的なものでした。彼は始めから、ハイエンドな独自MOMに合わせた新しいプロトコルを実現しようとしていたのです。それはキューを用いたストア・アンド・フォワード方式のメッセージング、Tibco社風のパブリッシュ-サブスクライブ、信頼できるファイルのトランスファーなど、すべての主要なユースケースをハンドルできるものでなければなりませんでした。どんな種類のメッセージでも扱うことができるプロトコルでなくてはならず、それでいて重視されたのはテキストよりも効率的なバイナリーフォーマットでした。これはアプリケーション間メッセージングにおいて、人間の可読性は重要な問題ではないからです。
Gould氏はさらに、AMQPを安全なところから荒野に送り出したのはO'Hara氏のオープンスタンダード化しようとする取り組みであると指摘した。オープンスタンダードにしたことで、Red Hat、Apache、WSO2、IONA、Ciscoなどという企業が呼び込まれた。Red HatのMRGイニシアチブ(リンク)の内部にあるMRG MessagingはApache Qpidプロジェクト(リンク)の実装であり、そのコア・コントリビューターである。LShiftおよびCohesiveFTは「完全かつ高信頼性な企業用メッセージングシステム」であるRabbitMQ(リンク)を共同開発している。RabbitMQはAMQPネットワークの構築または既存ネットワークの強化に利用できる。iMatixのOpenAMQ(リンク)もまた、入手可能なAMQP実装製品である。OpenAMQ は「メッセージによって通信可能な分散型ビジネスアプリケーションの構築基盤となるフレームワークを提供する」製品であるとされている。

このように勢いのあるAMQPと言えど、万人に受け容れられているわけではない。IBMで長年の経験を積んだ人々が率いるLustratus Researchは、2007年時点で、AMQPを採用する心積もりはできていなかった(リンク)。彼らは以下のように述べている。
保証されたメッセージングというのは、その定義から、企業の基幹業務のバックボーンと言っていいでしょう。もし、重要なものでなければ、配信保証がそれほど重要な意味を持つことはありません。では、AMQP の弱点となるのは?もし重要なオンラインシステムを不通にするようなエラーがあったら、誰に助けを求めるのでしょうか?そして、テストの問題に立ち返れば、要求を満たすことを保証するためのストレステストやパフォーマンス調整に掛かる膨大な費用は誰が投じるのでしょう?
Jean-Louis Seguineau氏はAMQPがXMPP pubsub(リンク)によって既に行われていることをやろうとしているに過ぎないと言っている。
XMPP pubsubの拡張によって、既にこれらの機能の多くは対処されています。持続的ノードがAMQPストア・アンド・フォワードキューの役割を担っており、オンデマンドのAMQPキューについては即時ノードが利用できます。しかし、AMQPは明示的にメッセージ属性を利用するコンテンツベース・ルーティングの道を切り開くものでもあります。XMPPではコンテンツベース・ルーティングを定義する、このように明示的な方法を提供していません。それは、pubsubの拡張はこの決定を実装に委ねているからです。
CohesiveFT社のAlexis Richardson氏(リンク)およびRedHat社のCarl Trieloff氏(リンク)はAMQPについて異なる意見を持っている。Gould氏とのインタビューにおいて二人はAMQPの未来についての予想を話した。Richardson氏はAMQPが「現在HTTPとSMTPがうまくできないことすべて」をハンドルするインターネットプロトコルになるのではないかと述べた。彼の予想では、AMQPはビジネス上必要なものを処理するだろう、という。
ビジネスネットワークで必要なものは信頼性であり、トランザクションの整合性です。入力と出力は同じものでなくてはなりません。スマートなルーティングと複数のトポロジーが必要ですし、トラフィックフローを制御し、サーバ同士の連合化を行えなければならないのです。そしてベンダー間および実装間の相互運用性を完全なものにしなくてはなりません。これらすべてが、トランザクション上のビジネスメッセージングを行う上で必要なものであり、AMQPが提供するものなのです。

Trieloff氏はAMQP相互運用性の進捗について触れ、「経験上、実装間の相互運用性は良くなる一方です。これはスペックが向上し、曖昧さが排除されていくからであり、また、開発者が必死でトラックしているからです。相互運用性に対しては、非常に実際的なアプローチが必要だと私は思います」と語った。

AMQPは、現在使用されているようなメッセージ志向のミドルウェアの代替としてはまだ完成されていないかもしれない。しかし、それに近づいていることは確かであり、自前でミドルウェアを構築している、もしくは強化している人なら一見の価値はあるだろう。

原文はこちらです:http://www.infoq.com/news/2008/08/amqp-progress

ブックマーク
digg+,
reddit+,
del.icio.us+,
dzone+,
Hatena

No comments

返信

特集コンテンツ一覧

トップスポーツチームの監督に教わる秘訣

この論文では、氏が発見した原則を要約し、その原則をいかにしてソフトウェア開発に応用するかを説明します。

事例研究:Dutch Railwaysのプロジェクトにおける分散拠点でのスクラム・プロジェクト

この記事では、私達がどのようにして大規模(240人月、10万行強)でインドとオランダの開発者も参加したスクラム・プロジェクトを成功させたのかを示しています。

Agile2008チーム参加レポート - 帰国そして変化

Agileカンファレンスに「参加者としてだけでなく、発表者として参加しよう」を掲げたチームgoyattomは、サブミッションを提出し、7つのセッションが日本から選択されました。参加者はカンファレンスで各々の発表や、各セッションへの参加、諸外国のエンジニアとの出会い、ステージ上で DearXPを熱演などの様々な思い出を抱えて、無事日本に戻ってきました。

SilverlightとJavaのインターオペラビリティ

マイクロソフトのRobert Bellが、SilverlightとJavaを使用したインターオペラビリティのシナリオを紹介し、サンプルコードを例にとってアーキテクチャの手引きを提供します。

Agile2008 チーム参加レポート - カンファレンス参加編

Agileカンファレンスに「参加者としてだけでなく、発表者として参加しよう」を掲げたチームgoyattomは、サブミッションを提出し、7つのセッションが日本から選択されました。サブミッションが選択された人、そうでない人も含めて、個々の目的意識の確認、膨大なプログラムから聞きたいセッションの選択、旅行の準備、プレゼンテーションの準備の期間を終えて、無事当日を迎えました。

Agile2008 チーム参加レポート - 動機/準備編

筆者はアジャイルソフトウェア開発についての年に一度の国際会議であるAgile2008に初めて参加してきました。今年の日本からの参加者の数は14名にも及び、発表者は5名、受け持ったセッションは8つに及び、例年にない活躍を見せました。なぜ今年のAgile2008では、これほど多くの日本人が参加し発表に至ったのか? そのレポートをお届けします。

Javaトラブルシューティングメルマガ総集編 2008/08~09

エスエムジーでは、Java全般を対象にしたトラブルシューティングサービス「JaTS」を提供しています。この記事では、前回に引き続き、JaTSにて蓄積したトラブル事例とその解決ノウハウの一部をお送りしている「Javaトラブルシューティングメールマガジン」(JTSMM)の総集編として、過去2ヶ月のトラブル事例と追加情報をダイジェストとして提供いたします。

モデル駆動アプローチがうまく機能しない(しなくなる)8 つの理由

この記事では、モデル駆動アプローチがうまく機能しない、または機能しなくなることによって期待した結果が実現できなくなる 8 つの理由について書きたいと思います。