3

フロント エンドとしてモバイル アプリを使用するアプリケーションを計画しています (また、別の目的を実行する Web フロント エンドもある可能性があります)。これらのアプリに精通している場合は、Runkeeper や Runtastic のようなものです。モバイル デバイスはユーザー インタラクションの主要な手段であり、Web サイトには、ユーザーが後で表示できる統計とダッシュボードがあります。

メイン アプリケーションを Windows Azure に配置したいと考えています。ただし、アプリケーションの設計方法については混乱しています。ビジネス ロジックは Web ロールに配置する必要がありますか?それともワーカー ロールに配置する必要がありますか? メインのユーザー インターフェイスがモバイル アプリの場合、worker ロールに接続してデータを永続化または取得するか、Web ロールに接続するか、またはどちらにも接続しないか? Web ロールがユーザー インターフェイスを提供し、データをストレージに直接保持したり、データをキューやテーブルに渡してワーカー ロールが取得したりするという典型的なシナリオを理解していますが、モバイル アプリの存在にうんざりしています。

何か助けはありますか?ありがとう!

4

2 に答える 2

4

アンディの答えは素晴らしいですが、別のフレーバーを追加させてください。Web ロールと worker ロールの唯一の違いは、Web ロールでは IIS が自動的にオンになり、構成されることです。経験則として、IIS が必要な場合は Web ロールを使用します。IIS が必要ない場合は、worker ロールを使用してください。

于 2012-05-02T04:27:46.920 に答える
2

モバイル アプリが接続するサーバー コンポーネントをホストする場合、最も簡単に機能するのは、ASP.NET Web アプリケーションをホストする Web ロールだと思います。Web アプリケーションは、Web フロント エンド (HTML) Web サイトだけでなく、サービスにも使用できます。

ASP.NET MVCWeb APIを使用すると、Web サービスの設定が非常に簡単になり、JSON や XML などの HTML 以外のデータ形式を簡単に操作できます。モバイル アプリは、REST JSON API を使用して Web アプリと通信することも、必要に応じて XML/SOAP を使用することも、任意の形式を使用することもできます。転送形式として JSON を使用する REST API は、おそらく現時点で最も人気があります。Web アプリについて考える 1 つの方法は、クライアントからデータを送受信するための単なる手段であるということです。クライアントが Web ブラウザーの場合は、コンテンツを HTML ページとして提供できます。クライアントがモバイル アプリの場合は、データを JSON として提供し、必要に応じてクライアントに表示させることができます。基本的に、Web アプリは、Web サイト (HTML) であると同時に、Web ブラウザー以外のクライアント用の「API」でもあります。

ワーカー ロールは、Windows サービスのようなものと考えることができます。それらは主にバックエンド処理などに使用されます。ワーカー ロールは、公開 API をホストする機能を提供する場合がありますが、接続、メッセージ パイプライン、リサイクルなどすべてを自分で管理する必要があります。一方、Web ロールには、接続などを管理するための Web サーバー (IIS) が用意されています。メッセージ キューなどを導入する場合は、公開 API を Web ロールにするのが理にかなっています。メッセージ処理コンポーネント ワーカー ロール。Web アプリは、REST JSON API を介してクライアントからメッセージを受信し、そのメッセージをキューに渡し、ワーカー ロールがそれを受け取ります。

于 2012-05-02T01:12:14.080 に答える