6

初心者の質問です。私は、Java 開発 (GAE など) と、iOS や Android などのモバイル開発を数多く行ってきました。モバイル デバイスがやり取りするサーバー側サービスのプラットフォームとして Windows Azure を調査しています。私はそれを理解するのに苦労していることを認めなければなりません。その一部は頭字語過負荷です。さまざまな頭字語がどのように結びついているかを示す良い指針はありますか?

いくつかのチュートリアルを実行しましたが、ほとんどの場合、Azure で Web サイトを作成することに焦点を当てています。私たちの場合、実際には Web ページはありませんが、デバイスが呼び出すサービス (一部の REST、その他のサービス) があります。具体的な質問として、worker ロールまたは Web ロールは、作成したエンドポイントに送信された http-post のコンテンツをどのように取得するのでしょうか?

4

3 に答える 3

7

これに対する答えはかなり簡単です。Azure は、ホスティング プロバイダーです。必要に応じてアプリケーション サーバーをスケーリングするのに役立ちます (アプリケーションをダウンロードおよびインストールするモバイル クライアントの数など)。

ちょっとしたマーケティングの話: Azure は、最初に必要なハードウェアの量を把握 (推測) し、次にデータ センターやハードウェアを構築/レンタルするための初期投資を不要にするため、独自のソリューションの所有コストを削減します。また、AppFabric などのアプリケーション用の何らかの形式のミドルウェアも提供するため、「クラウド」での通信が少し改善されます。また、Azure での負荷分散、分散ホスティング (ヨーロッパのデータセンター、米国のデータセンターなど)、フェイル セーフ メカニズム (1 つが失敗した場合の自動インスタンス インスタンス化) が既に導入されており、明らかに従量課金制と従量課金制のメリットも得られます。 .

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

最後に、WCFまたはWindows Communication Foundationは別のフレームワークであり、今回はサービスを作成および使用するためのものです。これらは、Web サービスまたはその他 (TCP ベースのサービス、さらには MSMQ ベースのサービスなど) です。私の意見では、これはバックエンドを公開するために見るべきものです。WCF を使用すると、サービスのホスティングとインスタンス化をIISに任せながら、コントラクトと実装を簡単に指定できます(IIS は Microsoft の Web サーバーであり、Azure の内部でも実行されています)。

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

これは理にかなっていますか?

恥知らずなプラス: 私はこれらの流行語やその他のことについてブログに書いています。ぜひチェックしてください

于 2011-08-09T10:48:56.113 に答える
5

あなたが目にしているもののほとんどは、.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!");
}
于 2011-08-08T21:05:39.803 に答える
0

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

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

worker ロールは、Windows サービスに少し似ています。

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

于 2011-08-08T21:25:46.137 に答える