RESTとWebService(SOAP)の違いは何ですか、facebook apiを見て、HTTPヘッダーといくつかのパラメーター(おそらくxmlまたはnon)を使用し、xmlで結果を返します。それ以外の場合はSOAPはまったく同じ、HTTPヘッダー+ xmlパラメーターを実行し、ヘッダー+ xmlを返します。
RESTは、認証されたトークンも必要とします。それ以外の場合、SOAPは、認証およびその他の情報に使用されるトークンとまったく同じトークンであるhttpセッションを使用します。 SOAPはRESTの少し高度なバージョンであることがわかりますか?
または、パフォーマンスに関する他の考慮事項はありますか? RESTについて読むと、非常に高レベルのクライアントサーバー通信について話すだけですが、SOAPでもまったく同じことが言えます。 RESTとSOAPの正しい境界を定義できる場所を誰かに教えてもらえますか。
多くのSOAPを.netで透過的に使用しますが、現在すべてが非常にスムーズに実行されているRESTに注意を払う価値があるかどうかを知りたいだけです。
私はRESTがアーキテクチャであり、SOAPがプロトコルであることを知っていますが、私の質問は詳細です。現在、SOAPのASP.NET WebService実装はRESTアーキテクチャ?
SOAPは、HTTP経由でXMLとしてデータを送受信するためのプロトコルです。
典型的なWebServiceは、それを呼び出す方法を記述するWSDLのメソッドです。これらをどのように構成するかについての実際の規則はないため、常に多くのAPIドキュメントが必要です。
通常、これは次のようなものになります(ASP.NETの場合):
POST
to mysite.com/products.asmx/ListAllProducts-製品のXMLリストを返しますPOST
to mysite.com/products.asmx/GetProduct-投稿されたコンテンツのSOAP XML)に基づいて製品のXMLを返しますPOST
to mysite.com/products.asmx/UpdateProduct-SOAP投稿コンテンツのXMLに基づいて製品を変更RESTは、すべてのメソッドを構造化するための規則です。
GET
from mysite.com/products-すべての製品をリストするXMLまたはJSONを返しますGET
from mysite.com/products/14-製品14のXMLまたはJSONを返しますPOST
to mysite.com/products/14-製品14をHTMLフォームで投稿したものに変更します。DELETE
to mysite.com/products/14-製品14を削除しますPUT
to mysite.com/products-新しい製品を追加しますだからRESTはブラウザのURLが期待するように動作します。そのようにすると、より自然であり、慣例として理解するのがはるかに簡単です。すべてのREST API同様の方法で動作するため、各システムの癖を学ぶのに長い時間を費やす必要はありません。
私にとって、RESTfulアプローチを使用して実装されたサービスは、アクセシビリティの点でSOAPまたはRPCを使用するサービスに勝ちます。WSDLに基づいてスタブとタイを生成するツールが利用可能な比較的クローズドシステムただし、これはそれほど重要ではありません。ただし、幅広いクライアントがアクセスして利用できるサービスを作成する場合は、RESTサービスの均一性とそれらのサービスの使いやすさ大きなプラスです。つまり、重いRPCスタックは必要なく、HTTP要求を作成するだけです。
これがあなたの質問に完全に答えているかどうかはわかりませんが、あなたが言うように、SOAP(そしてあなたがクライアントとサーバーを制御する)に基づいて動作するシステムを持っている場合、私は理由がわかりませんまた、一部のサービスは当然、RPCベースのアクセスにより適しています。その場合、SOAPインターフェイスがより適切です。
パフォーマンスの観点から、SOAPを使用しない場合、1つ以上のレイヤーがクライアントおよびサーバーテクノロジースタックから効果的に削除されるため、他のすべてが同等であれば、RESTfulインターフェイスを公開するサービスがそこに勝ちます。