2つの学校の間で、SOAPとRESTのどちらかを決める親指ルールはありますか?Webサービスの実装間で決定するためのThumb-Rules:SOAP/REST?
答えて
多くの要因によって異なります。一つは他のものより良くはありません。 Here is a list of differences I wrote before。
これは「親指のルール」ではありませんが、David Chappellは今年のESRI DevSummit基調講演でSOAP対RESTに関するすばらしいプレゼンテーションを行いました。時間があるなら、それを聞くことを強くお勧めします。すべての
まず、SOAPは、特にウェブ指向技術である一方では、RESTはHTTPとは何の関係もありませんが、それでもWebサービスに適しています。 RESTはSOAPであるプロトコルではなくアーキテクチャです。したがって、アーキテクチャの制約を遵守する限り、RESTfulなサービスを実装する方法はたくさんあります。
RESTは、可能であれば、プロトコルの正しい使用を要求するため、従来のHTTPスタックにはるかに適しています。 SOAPは、HTTPを意図したものではなく、独自のプロトコルの周りのラッパー/プロキシの一種としてHTTPを使用するだけです。 SOAPはHTTPの限界を乗り越えようとしますが、HTTPが提供するものの多くを利用しません。
たとえば、クライアントとコンテンツサーバーの中間に位置するキャッシュサーバーは、SOAPでは不可能な、それぞれの内容について何も理解せずに要求と応答をキャッシュできる必要があります。キャッシュされるのは、SOAPラッパーと独自構造の束の中に、HTTPメッセージのコンテンツのサブセットです。 RESTfulなサービスにはこの問題はないため、より自然に拡張できます。
RESTに関する最良の情報源については、Fieldingのdissertationと彼のblogを読んで、一般的な誤解を解消してください。 (彼はREST仕様を作成した人です)
-1: "正しい使い方が必要なため、従来のHTTPスタックに適しています" - 何が何に関係しているのですか? SOAPはHTTPを、多くの可能なトランスポートの1つとして使用しています。これは、レイヤード・ネットワーク・プロトコルを理解している人にとっては慣れ親しんだ概念です。なぜSOAPはHTTPが提供しなければならないことを利用するのに気をつけなければならないのですか? _protocol_です。あなたはGETリクエストとレスポンスをキャッシュするだけでしょうか? 「独自の構造」とは何ですか? –
SOAPには、取り消し不可能と定義されたPOSTが必要です。 SOAPで多くの目的に同じURIを使用することは、キャッシュ可能性を妨げることにもなります。 – aehlke
ここでは、HTTP以外の転送手段を使用していない場合は、おそらくRESTが適しています。
- 1. 長時間実行するプロセスのためのPython Tornado Webサービス
- 2. Web Sphere Webサービスの実行時実装
- 3. Webサービス - 実装側のタイムアウト
- 4. Webサービス実装の変更
- 5. Sharepoint Webサービスを実装する方法
- 6. java実装:Webサービスをポーリングする
- 7. 残りのWebサービスの実装クエリ
- 8. RESTサービスでSAMLを実装するためのベストプラクティス
- 9. Pythonを使い始めるが、SqlバックエンドでWebサービスを実装したい
- 10. angular2を使用したイオン2でのポストWebサービスの実装
- 11. SOAP WebサービスでWebソケットを実装する方法
- 12. C#でWebサービスのエンドポイントをプログラムで決定する
- 13. アンドロイドでREST Webサービスを実装するためのコードで問題が発生しました
- 14. 会社内でWebサービスのセキュリティを実装する方法
- 15. ファイル処理のためのWebサービスを実装する最良の方法は何ですか?
- 16. 決定木を実装する
- 17. AndroidでのOnTimeChangedListenerの実装時間の設定のためのHoneyComb TimePickerDialog
- 18. Restビジネス操作を実行するためのWebサービス
- 19. iPhone開発の実装:SQLiteまたはWebサービス
- 20. Camelを使用したCXF Webサービスの実装
- 21. xfcを使用したJava Webサービスの実装
- 22. C言語を使用したWebサービスの実装
- 23. ロンボクおよびWebサービス:WSDL定義は、実装クラス
- 24. WCF、既存のスキーマからWebサービスを実装する
- 25. AWSのWebSocket実装によるWebサービスの青緑の展開
- 26. Java WebサービスでSoap Faultを実装する方法は?
- 27. 基本認証でREST Webサービスを実装する方法は?
- 28. phpアプリケーションでskype Webサービスを実装する
- 29. WCF Webサービスでポリシーを実装する方法は?
- 30. Java WebサービスでGoogleプッシュ通知を実装する方法は?
ありがとうございます!それはきちんとしたリストです。 – Swanand