プレゼンテーションデバイスとして、ネイティブのiPhoneやAndroidなどに拡張したいMVC 3(データアクセス層を備えた3層)のWebアプリケーションがあります。
同じコントローラーをいくつか変更して使用できますか、それともアクセスロジックをWCFサービスに編成する方がよいですか?
優れたスケーラビリティとパフォーマンスの観点から、どのような推奨事項がありますか?
プレゼンテーションデバイスとして、ネイティブのiPhoneやAndroidなどに拡張したいMVC 3(データアクセス層を備えた3層)のWebアプリケーションがあります。
同じコントローラーをいくつか変更して使用できますか、それともアクセスロジックをWCFサービスに編成する方がよいですか?
優れたスケーラビリティとパフォーマンスの観点から、どのような推奨事項がありますか?
スケーラビリティのために、UI (MVC サイト、iPhone アプリ、Android アプリ) が単純に呼び出すサービスにビジネス ロジックを含めることをお勧めします。個人的には、WCF でServiceStackを使用することをお勧めします。これにより、POCO オブジェクトへの呼び出しが簡素化されます。これは、スケーラビリティだけでなく、懸念事項をより明確に分離するためのメンテナンスにも役立ちます ( SOLID の原則を読むことをお勧めします)。UI を変更する必要がある場合、それらの変更はビジネス ロジックに影響しません (iPhone アプリが変更される可能性があります)。
それはすべて依存します。ジャスティンが推奨するルートに確実に行くことができます。ただし、その中には多くの作業があります。
MVC4 には WebAPI があり、MVC コントローラーのような環境内から RESTful サービスを提供します。これにより、最小限の労力で MVC アプリにサービス レイヤーを追加できます。
大規模な場合は、おそらく完全な WCF 実装を使用する必要があります。
参考までに、MVC4 はベータ版ですが、ライブ ライセンスがあり、MVC4 をインストールせずに WebAPI をインストールできます。nuget 経由で利用できます。