none
オンプレミスのC#プログラムからWindows Azure Workerロールへの接続 RRS feed

  • 質問

  • 初めまして、アキサメと申します。

    オンプレミス上のC#プログラムと、Windows Azure 上のWorker ロールを連携させたプログラムを作成したいと考えてます。

    希望する動作は以下の通りです。

    1. オンプレミス上のC#プログラムからWorkerロールに対してメッセージを送ります。

    2. Workerロールはメッセージを受け取り、「メッセージを受け取りました」とC#プログラムに送り返します。

    3. C#プログラムはWokerロールからのメッセージを表示します。

    勉強したてで分からないことが多く、迷惑をかけるかもしれません。

    どうか宜しくお願いします。

    2012年2月16日 10:58

回答

  • 今から勉強されるということで、実現方法にこだわりがないようであれば、WCF について勉強されるとよいでしょうか。

    また、WorkerRole でも問題ないのですが、WorkerRole にこだわりがなければ WebRole を使用することも考慮してみてください。

    まずは、WCF について Web 等で勉強しながら、オンプレミス上で2つのC#アプリケーションを使用して、tcpBinding を利用してメッセージのやり取りを実現してみてください。

    それが実現できてから、WorkerRole に展開して、サービス設定で必要な TCP ポートを公開すれば OK かな?

    2012年2月16日 11:52
  • 最終的な選択肢は各種要件によって決まると思いますが、思いつく方法をいくつか。

    • WCFによる接続。K.Takaokaさんもおっしゃるっているとおり、バインディングによってさまざまなプロトコルで通信することができます。
    • ストレージキューを相互に使う。なにかAzure上で重い処理をさせてたいのならば、非同期なキューでもよいかと思います。
    • サービスバスを使う。サービスバスには、WCFベースとしたリレーバインディングと、Queue/Topicを使った非同期なメッセージングを実現できます。Firewallなどを回避する方法もあるので、オンプレミスとの連携に適している

    質問は単純なメッセージのやり取りでしたが、きっと実現したいことは違ったりしているかもしれないのでいくつか選択しを上げさせていただきました。それでは。

    2012年2月24日 1:48

すべての返信

  • 今から勉強されるということで、実現方法にこだわりがないようであれば、WCF について勉強されるとよいでしょうか。

    また、WorkerRole でも問題ないのですが、WorkerRole にこだわりがなければ WebRole を使用することも考慮してみてください。

    まずは、WCF について Web 等で勉強しながら、オンプレミス上で2つのC#アプリケーションを使用して、tcpBinding を利用してメッセージのやり取りを実現してみてください。

    それが実現できてから、WorkerRole に展開して、サービス設定で必要な TCP ポートを公開すれば OK かな?

    2012年2月16日 11:52
  • 最終的な選択肢は各種要件によって決まると思いますが、思いつく方法をいくつか。

    • WCFによる接続。K.Takaokaさんもおっしゃるっているとおり、バインディングによってさまざまなプロトコルで通信することができます。
    • ストレージキューを相互に使う。なにかAzure上で重い処理をさせてたいのならば、非同期なキューでもよいかと思います。
    • サービスバスを使う。サービスバスには、WCFベースとしたリレーバインディングと、Queue/Topicを使った非同期なメッセージングを実現できます。Firewallなどを回避する方法もあるので、オンプレミスとの連携に適している

    質問は単純なメッセージのやり取りでしたが、きっと実現したいことは違ったりしているかもしれないのでいくつか選択しを上げさせていただきました。それでは。

    2012年2月24日 1:48