SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Scott Guthrie氏 Blog翻訳

Windows Azure Service BusでAMQPサポートのリリースについてのお知らせ

連載:ScottGu's Blog翻訳

  • X ポスト
  • このエントリーをはてなブックマークに追加

 本稿は、Scott Guthrie氏のブログを、氏の許可を得て、翻訳、転載したものです。米Microsoft社の副社長で、ASP.NETやSilverlightの開発チームを統率する氏のブログでは、次期製品を含む最新の技術をいち早く紹介しています。

  • X ポスト
  • このエントリーをはてなブックマークに追加

 原典:Announcing the release of AMQP support with Windows Azure Service Bus

Windows Azure Service BusでAMQPサポートのリリースについてのお知らせ

 この5年間、Microsoftは、さまざまなグループの会社と協力して、Advanced Message Queuing Protocol(AMQP)標準の開発に取り組んできました。20社以上のグループからなる技術ベンダーには、Red HatやVMware、またJPMorgan ChaseやCredit Suisseなどの企業も含まれています。

 目標は、異なるベンダー製品間の相互運用を簡単にするデータ通信を行うため、オープンでワイヤーレベルのプロトコル標準を構築することでした。2012年10月、OASIS標準化団体は、OASIS標準として、AMQP 1.0の承認したことを発表し、その同日に、私たちはWindows Azure Service Busにより、そのプレビュー実装をリリースしました。

 Windows Azure Service BusでのAMQP 1.0サポートを一般公開(GA)機能としてリリースさせて頂きました。これは本番用に利用でき、企業SLAで裏打ちされています。

相互運用可能なデータ通信

 今回のリリースは影響が大きく、AMQP 1.0のサポートにより、Windows Azure Service Busを使用して、異なるOS上で実行されている、また異なる言語で書かれているさまざまなデータ通信ライブラリを使用してアプリを構築することができ、これらはすべて効率的なバイナリのワイヤーレベルプロトコルを使用して通信できます。

 AMQP 1.0はポータブルなデータ表現を定義しているので、.NETプログラムからService Busへ送信されたデータが、その構造やコンテンツを失うことなく、JavaプログラムまたはPython/Ruby/PHPスクリプトから読むことが可能になるのです。

 Javaに対しては、標準のJava Message Service(JMS)APIがサポートされているので、その他のJMSプロバイダーからService Busへ既存のJavaアプリケーションを移動するのは簡単です。

 結果、分散システムの構築に利用したり、オンプレミスとクラウド環境に渡るアプリケーションをつないだり、複数のクラウドプロバイダー間で実行したりできる非常に強力なミドルウェアになります。

AMQPを使用したPub/Subソリューションの構築方法をウォークスルー

 この新しいデータ通信サポートの使用が簡単であることを強調したいので、Java、Python、PHPで書かれた受信アプリにPub/Subデータ通信パターンを使用してデータ送信する簡単な.NETコンソールアプリの作成方法をウォークスルーします。

 Windows Azure Service Busは、オープンAMQPプロトコルと既存データ通信フレームワークを使用して、これを促進するために必要なPub/Subデータ通信サポートをすべて提供するようになりました。

 .NET送信アプリは、耐久的なデータ送信媒介であるService Bus“Topic”へデータを投稿します。各データが1つのコンシューマ・アプリにより処理されるQueueとは違い、Topicは、Pub/Subパターンを使用して1対多通信フォームを提供します。

 これにより、複数のサブスクリプションを1つのTopicへ登録でき、データがそのTopicに送信されると、各サブスクリプションが独立して処理できるようになります。

 各サブスクリプションを、そのTopicに送信されたメッセージのコピーを受信する仮想の耐久的なQueueとして考えることができます。その後、それぞれのサブスクリプションベースでTopicに対してフィルタールールを登録することができるようになるため、どのTopicのサブスクリプションで受信するかというフィルターおよび制限が可能になります。これにより、非常に多くのユーザやアプリケーションに対する莫大なデータ処理が可能になります。

 このシナリオに対して“scottmessages”Topicへデータ投稿する.NETコンソールアプリを作成し、データを受信し処理を行うJava、Python、PHPで書かれた3つのアプリリスナーに対してそれぞれ別のサブスクリプションを設定します。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
ステップ1:Service Bus Topicを1つとサブスクリプションを3つ作成

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Scott Guthrie氏 Blog翻訳連載記事一覧

もっと読む

この記事の著者

WINGSプロジェクト Chica(チカ)

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

Scott Guthrie(Scott Guthrie)

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/7171 2013/05/30 16:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング