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. Web Sphere Webサービスの実行時実装
- 2. Webサービス - 実装側のタイムアウト
- 3. Webサービス実装の変更
- 4. java実装:Webサービスをポーリングする
- 5. Sharepoint Webサービスを実装する方法
- 6. RESTサービスでSAMLを実装するためのベストプラクティス
- 7. C#でWebサービスのエンドポイントをプログラムで決定する
- 8. アンドロイドでREST Webサービスを実装するためのコードで問題が発生しました
- 9. 会社内でWebサービスのセキュリティを実装する方法
- 10. AndroidでのOnTimeChangedListenerの実装時間の設定のためのHoneyComb TimePickerDialog
- 11. ファイル処理のためのWebサービスを実装する最良の方法は何ですか?
- 12. Camelを使用したCXF Webサービスの実装
- 13. iPhone開発の実装:SQLiteまたはWebサービス
- 14. 「最新のJavaバージョン」を決定するためのオラクルまたはサードパーティのサービス
- 15. C++/CLIで定数参照を実装するためのベストプラクティス
- 16. WCF、既存のスキーマからWebサービスを実装する
- 17. phpアプリケーションでskype Webサービスを実装する
- 18. WCF Webサービスでポリシーを実装する方法は?
- 19. 基本認証でREST Webサービスを実装する方法は?
- 20. Java WebサービスでSoap Faultを実装する方法は?
- 21. Java WebサービスでGoogleプッシュ通知を実装する方法は?
- 22. C++ 11でbignumsを実装するための最も効率的な単語サイズの決定
- 23. クライアント側のWebアプリケーションのための指紋スキャンの実装
- 24. Android時間遅延アクションのサービスを実装する方法は?
- 25. JAXB - サードパーティのライブラリの実装にマップするJavaインタフェースのWebサービスのコンテキストで
- 26. C#Webサービス偽装
- 27. 内部企業Webアプリケーションのための最適なシングルサインオン実装
- 28. WCF設定で実装されたサービス契約DLLを指定する方法
- 29. WebサービスにおけるSpring Security CASの実装
- 30. Webサービスのログインを実装する最良の方法は何ですか?
ありがとうございます!それはきちんとしたリストです。 – Swanand