2011-08-08 5 views
5

初心者の質問です。私は、iOSやAndroidなどのJavaデベロッパー(例:GAE)やモバイル開発者を多用してきました。私は、モバイルデバイスが対話するサーバーサイドサービスのプラットフォームとしてWindows Azureを調査しています。私はそれの周りに頭を上げるのに苦労することを認めなければならない。その一部は頭字語のオーバーロードです。さまざまな略語がどのように一緒に糊付けするかを示す良い指針はありますか?Azure vs WCF vs ASP.NET vs ...それはどのように一緒に収まるのですか?

私はいくつかのチュートリアルで作業しましたが、主にAzureでウェブサイトを行うことに焦点を当てています。私たちのケースでは、実際にはWebページはなく、むしろデバイスが呼び出すサービス(いくつかのREST、それ以外の場合)があります。おそらく特定の質問に来る:どのように私はそれのために作成したエンドポイントに送信されたhttp投稿の内容を取り出すワーカーの役割、またはWebの役割ですか?

+0

私の意見は:あなたがJavaで開発している場合は、おそらくGoogleまたはAzure上のAmazonを選択する必要があります。 Azureは、マイクロソフトのエコシステム(つまり.NET、WCF、ASP)を使用している場合にのみ、クラウドベースのアプリケーションを開発するのは非常に簡単です。 –

+0

私は同意しません、与えられた問題を最も良く解決する技術を選ぶべきです。この場合、最も効率的で、費用対効果の高い、最短期間でのベストを意味します。 Azure(およびMSの生態系)ができることを考えれば、少なくとも利点と潜在的な用途を見ていないのは無責任なことでしょう。 –

+0

私はGAEが好きですが、同社はMSのショップですので、選択肢は事前に設定されています。 – onnoweb

答えて

6

これに対する回答はかなり簡単です。 Azureはホスティングプロバイダです。これは、アプリケーションをインストールするモバイルクライアントの数(たとえば、&)をデマンドに基づいて拡張するのに役立ちます。

小さなマーケティング担当者:Azureは、最初に必要なハードウェアの量を把握(推定)してから、データセンターを構築/レンタルするための初期投資を取り除くため、および/またはハードウェアまた、AppFabricのようなアプリケーション用のミドルウェアを提供しています。これにより、「クラウド」でよりうまく通信できるようになります。またAzure、分散型ホスティング(ヨーロッパのデータセンター、米国のデータセンターなど)でロードバランシングを行い、失敗した場合は安全なメカニズムを自動的にインスタンス化します(具体的にはインスタンス化を自動化します)。あなたが使用する通りに&のメリット

は、アプリケーションフレームワーク、具体的にはWebアプリケーションフレームワークです。これは、8つのWebFormsまたはMVCを使用してWebベースのアプリケーションを記述するのに役立ちます。あなたが述べたことについては、これは実際には(バックエンドシステムのみを実行するための)あなたにはあまり役に立たないはずです。しかし、その上にWebアプリケーションが必要な場合は、はい、ASP。NETはAzureと完全に機能します(明らかに)。

最後に、WCFまたはWindows通信基盤は、他のフレームワーク、書き込みおよび消費するサービスのためのこの時間はあります。これらは、ウェブサービスであるか、または他のものである。 TCPベースのサービス、さらにはMSMQベースのサービス。これは、私の意見では、バックエンドを公開するために探しているものです。 WCFは、サービスのホストとインスタンス化をそのままIIS(IISはMicrosoftのWebサーバーであり、Azureのカバーでも実行されています)に委託して、簡単に契約と実装を指定する機能を提供します。

質問に答えてみる: WCFサービスをホストしているWebロールが公開されています。あなたのモバイルアプリケーションはそこから、このパブリックエンドポイント(アドレスとポートで定義されている)を呼び出し、標準ベースのWebサービスを使用してサービスと通信します。

これは意味がありますか?

恥知らずのプラス:私はこれらの流行語とくそっこについて書いたon my blog, which you are welcome to check out

+0

ありがとう!それは文脈の中にいくつかの部分を置くのに役立ちます。木々と森とそのすべて。 – onnoweb

4

あなたが見ているもののほとんどは、.NETのやり方です。 (ASP.NETとWCFは.NETテクノロジです。)Windows Azureは、あらゆる種類のものを実行できるプラットフォームです(ほとんどの人が.NET用に使います)。 Windows Azure Webロールでは、コードはIIS(Webサーバー)上で実行され、ASP.NET、WCF、PHPなどをその中で実行できます。

Windows AzureでREST APIを構築する最も一般的な方法は、ASP.NET MVC 3またはWCFを使用してRESTサービスを構築し、それをWebロールでホストすることです。エンドポイントに投稿されるデータをどのように取得するかは、使用するテクノロジーによって異なります。 ASP.NET MVC 3の下で、あなたのような何かを書くかもしれません:

[HttpPost] 
public ActionResult CreateMessage(string title, string body) 
{ 
    // use title and body here... they'll be the parameters in the HTTP post 
    return Content("Message created!"); 
} 
0

あなたは、サービスエンドポイントを公開するためにWindows Communication Foundation(WCF)を使用することができます。これは、SOAPまたはRESTエンドポイントである可能性があります。

このサービスエンドポイントは、Webロールでホストされます。 WebロールはIISを持つサーバーと考えることができます。

ワーカーの役割は、Windowsサービスのようなものです。

たとえば、Webサービス経由でデータを受け取ってから、計算を行って結果を保存するシナリオを考えてみましょう。この場合、データを受け取るWebサービスを持つWebロールがあります。データをキューに格納します。ワーカーロール内のプログラムは、キューを監視し、新しいデータを取得し、計算を行い、結果をテーブルに格納します。

関連する問題