1

Web (asp.net mvc) およびモバイル (iOS および Android) 用のアプリケーションを作成します。そして、それらの 3 つすべてが通信する必要があります (データの共有、ユーザー認証など) 。これに最善の方法は何ですか?asp.net Web API または azure モバイル サービスを使用していますか?

編集

また、このようなシナリオのベストプラクティスは何だろうと思っていました.1つのプロジェクトにデータベースとビジネスロジックがあり、サービスを使用してWebとモバイルを通信する必要があります。では、このサービスを開発するのに最適なテクノロジは Azure か、Web API か、smth か。そうしないと ?

4

1 に答える 1

2

あなたの質問は非常に一般的です。

ASP.NET Web APIは、どこでもホストできる RESTful Web サービスを構築するための単なるフレームワークです。「通信(データの共有、ユーザー認証など)」というタスクの助けにはなりません。

Azure Mobile Servicesは、Azure でホストされる PaaS であり、実際に必要なものすべてを提供し、さらにそれ以上のものを提供します。また、ASP.NET Web API を使用して実装できる、すぐに使用できる RESTful Web サービスも提供しますが、それに加えて、フェデレーション ID、データ共有などのサポートも提供します。

したがって、あなたはこの分野に少し慣れていないように思われるので、Mobile Service を試す必要があります。これらは十分に文書化されており、初心者に適した素晴らしいチュートリアルがたくさんあるためです。ここに私のお気に入りがあります。

独自のモバイル サービスをセットアップして拡張した後、Android および iOS 用のプロジェクト テンプレートをダウンロードすることもできます。これは、初心者や趣味の開発者にとって本当に大きな助けになります。

アップデート:

Azure が提供するさまざまなソリューションのいくつかの架空のシナリオを使用して、質問に取り組みましょう。

Azure Mobile Servicesは、クラウドを介してコンテンツを同期する必要がある、時々接続されるアプリケーションを実行する複数の (モバイル) デバイスがあるシナリオをカバーします。AMS は、データの要求と更新のためのカスタム処理ロジックを実装する可能性を提供します。Web サービスの実装とホスティングの負担を隠します。ロジックの約 90% は、管理ポータルで直接設定または記述され、残りは単なるクライアント ロジックです。このサービスの主な目的はデータ同期 (これがコア機能です) であり、他のすべてのサービス (認証、ロギング、スケジューラー) は単なる補助的なものです。開発に使用される言語は JavaScript で、開発全体はNode.jsなどのフレームワークを使用したサーバー側の開発に似ています。

Azure Web サイトIIS 内でコードをホストする方法であり、通常は Web ページですが、ここでも Web サービス (Web API ベースまたは本格的な WCF) をホストすることを妨げるものは何もありません。Azure Web サイトは簡単にデプロイできます。これは、(他のユーザーからの) 他の IIS アプリケーションもここ (共有インスタンス) で実行できるようにすれば、Web サービスをホストするためのかなり安価なソリューションです。予約された IIS インスタンス (さらに料金がかかります)。確かに、既存のビジネス ロジックのほとんど (ほぼすべて) をここで再利用できます (IIS でネイティブにホストできない相互運用機能やシェル アクセスなどのエキゾチックなものが必要でない限り)。このソリューションの欠点は、ロジックが Web サービスのコンテキスト内で実行され、長時間実行される処理の場合、これは最適なソリューションではない可能性があることです。

Azure Cloud Servicesを使用すると、ロジック ルールの処理を延期し、ロジックをサービス入力から切り離すことができます。このシナリオでは、通常は Web ロールと worker ロールと呼ばれる 2 種類のロールを持つことができます。Web ロールはサービスのエンドポイントを提供し、要求をキューに入れます。worker ロールはキューを読み取り、処理を行います。これにより、ロード バランシングとキャパシティ プランニングを微調整し、Web ロールとワーカー ロールを使用して並列インスタンスの数を増やすことができます。

于 2013-05-06T19:19:29.593 に答える