IMO、SOAP はコントラクト型メッセージング アーキテクトとして作成された標準でした。つまり、メッセージを渡すときは、この「コントラクト」を使用するだけです。それは、特定のテクノロジーを取り込まないほど十分に一般的でした。
REST は HTTP を取り入れた実際の方法論であり、GET、POST、PUT、および DELETE を最大限に活用する方法です。
どちらかが優れているとは思いませんが、要するに、仕事に適したツールを使用することです。Web ベースのアプリと非 Web ベースのアプリを区別しません。SOAP または REST は両方にメリットがあるためです。
最初に回答を得るいくつかの質問を次に示し
ます。 1) ターゲット クライアントは誰ですか。Microsoft Workshop クライアント、Java、PHP タイプ。
2) Api に公開したい (適切な用語がない) 「エンドポイント」のタイプ。(JSON、XML、Ajax、POX、または上記のすべて。)
3) クライアントはこの API で何をしますか? SOAP に基づくクライアントは既にありますか。その場合は、SOAP が最適です。
4) REST は、URL の設計について考えさせ、クライアントがデータを「マッシュアップ」して必要なものを構築できるようにします。それで、それがあなたが望むものだと思うなら。REST が進むべき道です。
5) REST は HTTP の「GET」を利用します。これにより、クライアントは結果をキャッシュできます。「条件付きGETはそれが呼ばれるものです。これにより、大きなオブジェクトをキャッシュし、最後の更新がキャッシュされたものと一致するかどうかをヘッダー(小さな)を介してサーバーに問い合わせることができます。そうであれば、完全なオブジェクトGETを気にしないでください。何is cached が最新バージョンです。これは SOAP で実行できますが、すぐに使用できる REST の方が適しています。
とにかく、うまくいけば、より良いデータが得られるので、より良い決定を下すことができます. 他のすべてが失敗した場合は、両方を行うことができます。ただし、2 種類のサービス (方法論が異なる) と、両方に対応する 1 つのコードベースを取得しようとすることに対処する必要があります。(ややこしいかもしれませんが、それほど難しいことではありません。)
個人的に。私はどちらかを選び、もう一方が必要になったら、その橋を燃やして技術的負債を払います。