ASP.NET Webサイトがより迅速な要求を自由に行えるように、長時間の処理を行うバックエンドサービスがあるプロジェクトを開始しようとしています。その結果、私はWCFやWeb APIなどのサービスを読んで、それらが何をしているのかを感じ取っています。このバックエンドサービスは、実際には相互に通信する複数のサービスで構成されており、お客様には公開されないため、WCFはこの種のシナリオに理想的なテクノロジのようです。
しかし、多くの調査を行った後でも、WCFとWebAPIの利点と違いについて混乱しています。一般的に、次のように思われます。
- パブリックAPIやRESTfulAPIが必要な場合は、WebAPIが最適です
- WCFは、HTTPだけでなく、はるかに多くのトランスポートをサポートできるため、それらをはるかに制御できます。
- WCFの追加機能/複雑さにより、WebAPI開発はWCFよりも簡単に思えます
しかし、おそらく私の質問は次のように要約されます。
- とにかくRESTサービスがより有益なのはなぜですか?本格的なWCFサービスは、パブリックAPIにとって良いアイデアでしょうか?または、WCFサービスが提供できるWeb APIでは提供できないものはありますか?
- 逆に、相互に通信する必要のある内部サービスが多数あり、トランスポートとしてHTTPを使用するだけでよい場合、Web APIは突然実行可能なオプションになりますか?