私は現在15人の開発者から成るチームを管理していますが、WCFとWeb APIの使用について議論している2つの完全に反対のチームに分かれる技術を選択する段階で立ち往生しています。
Web APIの使用をサポートするチームAは、次の理由を提示します。
- Web APIは、サービスを記述するための単なる最新の方法です(ウィキペディア)
- WCFはHTTPのオーバーヘッドです。TCP、Net Pipes、およびその他のプロトコルのソリューションです
- [DataContract]&[DataMember]およびそれらの属性のため、WCFモデルはPOCOではありません
- SOAPはJSONほど読みやすくて便利ではありません
- SOAPは、JSON(HTTPを介したトランスポート)と比較してネットワークのオーバーヘッドです
- メソッドのオーバーロードなし
WCFの使用をサポートするチームBは次のように述べています。
- WCFは複数のプロトコルをサポートします(構成を介して)
- WCFは分散トランザクションをサポートします
- WCFには多くの良い例と成功事例があります(Web APIはまだ若いです)
- デュプレックスは双方向通信に最適です
この議論は継続しており、今何をすべきかわかりません。個人的には、正しい使用場所にのみツールを使用すべきだと思います。言い換えれば、HTTP経由でサービスを公開したいが、TCPとDuplexの場合はWCFを使用する場合は、Web APIを使用した方がよいでしょう。
インターネットを検索しても、確実な結果を得ることができません。WCFをサポートするための多くの投稿がありますが、それどころか、人々がそれについて不満を持っていることもわかります。この質問の性質は議論の余地があるように聞こえるかもしれませんが、決定するにはいくつかの良いヒントが必要です。偶然テクノロジーを選択すると、後悔する可能性があります。目を開いて選びたい。
私たちの使用は主にWebのためであり、HTTP経由でサービスを公開します。場合によっては(たとえば5〜10%)、分散トランザクションが必要になる場合があります。
私は今どうすればいい?この議論を建設的な方法で管理するにはどうすればよいですか?