web-dev-qa-db-ja.com

主な違い SOAP JavaでのRESTful Webサービス

この投稿への質問をフォローアップ

今のところ、SOAPとRESTfulサービスの違いについて少し考えています。

私の質問は、いつSOAPを使うべきか、そしていつRESTfulを使うべきかということです。パフォーマンス/スピードまたは要求処理に関してはどちらが「より優れている」のでしょうか。

私は初めてRESTful(Java)でインプリメントしました。それについてもっと知りたいです。私は以前にSOAPを扱いました。

247

RESTはほとんど常に速くなります。 SOAPの主な利点は、サービスが自分自身をクライアントに説明し、その存在を宣伝するためのメカニズムを提供することです。

RESTははるかに軽量であり、ほとんどすべてのツールを使用して実装できるため、帯域幅が狭くなり、学習曲線が短くなります。ただし、クライアントは何を送信し、何を期待するのかを知っている必要があります。

一般に、複雑であるか変更される可能性が高いAPIを外部に公開する場合は、SOAPの方が便利です。それ以外の場合、RESTが通常より良い選択肢です。

247
dj_segfault

REST vs SOAP Webサービス

最近では、RESTではなくSOAPスタイルのアーキテクチャを使用して新しいWebサービスが実装されています。少し前に戻り、RESTの意味を説明しましょう。

REST Webサービスとは

頭字語RESTはRepresentational State Transferを表します。これは基本的に、一意の各URLが何らかのオブジェクトの表現であることを意味します。 HTTP GETを使用してそのオブジェクトの内容を取得することができます。それを削除するには、POST、PUT、またはDELETEを使用してオブジェクトを変更します(実際にはほとんどのサービスでこのためにPOSTを使用します)。 ).

誰がRESTを使っていますか?

Flickr、del.icio.us API、pubsub、bloglines、technorati、そして両方のeBayを含むYahooのすべてのWebサービスがRESTを使用しており、AmazonはRESTとSOAPの両方のWebサービスを持っています。

誰がSOAPを使っていますか?

Googleは、XML-RPCを使用するBloggerを除いて、SOAPを使用するようにWebサービスを実装することで一貫していることを目指しています。あなたはSOAPウェブサービスを多くのエンタープライズソフトウェアにも見つけるでしょう。

RESTとSOAP

ご存じのとおり、REST apiを使用している会社はそれほど長い間使用されていませんが、それらのAPIは今年主に登場しました。そのため、RESTは間違いなくWebサービスを作成するためのトレンディな方法です。Webサービスを作成するのが流行になることがある場合は、それを忘れないでください。 REST Webサービスの主な利点は次のとおりです。

軽量 - 余分なxmlマークアップはあまりありません。人間が読むことのできる結果構築が簡単 - ツールキットは不要SOAPにもいくつかの利点があります。

使いやすい - 時にはリジッドタイプのチェック、契約に準拠する開発ツールWebサービスを利用するためには、どちらを使用するかが簡単になります。たとえば、GoogleのAdWords Webサービスは(とにかくCFで)本当に使うのが難しく、SOAPヘッダーを使用しています。逆に言えば、AmazonのREST Webサービスはネストされている可能性があり、結果スキーマは検索内容によってかなり異なる可能性があるため、解析が難しい場合があります。

どのアーキテクチャーを選択するかは、開発者が容易にアクセスできるようにし、十分に文書化されていることを確認してください。

Freitag、P.(2005)。 「REST vs SOAP Webサービス」。 2010年6月13日にhttp://www.petefreitag.com/item/431.cfmから取得しました

68
salman khalid

_石鹸_

SOAP(Simple Object Access Protocol)標準は、メッセージアーキテクチャとメッセージフォーマットを定義するXML言語であり、Webサービスでは操作の説明が含まれています。 WSDLは、Webサービスとそれらへのアクセス方法を記述するためのXMLベースの言語です。 SMTP、HTTP、FTPなどで動作します。ミドルウェアのサポート、WSDL + XSD、WS-Policyなどのサービスを定義するための明確に定義されたメカニズム、SOAPが必要XMLベースのデータ

_ rest _ Representational State Transfer(RESTful)Webサービス。彼らは第二世代のWebサービスです。 RESTful Webサービス。SOAPベースのサービスよりHTTP経由で通信し、XMLメッセージやWSDLサービスAPI定義を必要としません。 RESTにはミドルウェアは不要で、HTTPサポートのみが必要です。WADL標準、RESTはXML、プレーンテキスト、JSON、HTMLなどを返すことができます

43
kapil das

RESTはアーキテクチャです。 RESTは人間が読める結果をもたらします。 RESTはステートレスです。 RESTサービスは簡単にキャッシュ可能です。

SOAPはプロトコルです。 JMS、FTP、HTTPの上で実行できます。

42
Kalidoss.M
  1. RESTにはWSDL [Web記述言語]インタフェース定義はありません。

  2. RESTはHTTPを介して行われますが、SOAPはHTTP、FTP、SMTP、JMSなどのトランスポートプロトコルを介して行うことができます。

33
CharithJ
  • RESTはRepresentational State Transferを表し、SOAPはSimple Object Access Protocolを表します。

  • SOAPは独自のsecurityを定義します。ここで、RESTは基礎となるトランスポートからセキュリティを継承します。

  • SOAPはエラー処理をサポートしていませんが、RESTにはエラー処理が組み込まれています。

  • RESTは軽量で、XML解析を必要としません。 RESTは、AjaxとJavascriptを備えたWebブラウザでさえも、どのクライアントでも使用できます。 RESTはより少ない帯域幅を消費します。すべてのメッセージにSOAPヘッダーを必要としません。

    • RESTは、URIを提供するすべてのプロトコルに対して有用です。以下の図で説明されているように、RESTのポイント5は無視してください。

SOAP vs REST

24
IRSHAD

休息VS SOAP

石鹸:

►SOAPはTCP/UDP/SMTPで動作する単純なオブジェクトアクセスプロトコルです。
►SOAP要求応答メッセージをXML形式で読み書きします。
►SOAPはサービスを定義するためにインターフェースを使用します。
►SOAPは、独自のセキュリティと明確な標準があるため、より安全です。
►SOAPは、Webサービスを定義するためにRPCおよびドキュメントスタイルに従います。
►SOAPはテスト用のクライアントツールとしてSOAP-UIを使用しています。

REST

►RESTは、基盤となるHTTPプロトコルを使用した代表的な状態転送です。
►RESTはステートレスです。
►RESTはWebサービスの記述と定義に使用されるアーキテクチャスタイルです。
►RESTはJSON/XML/Plain HTMLでリクエストレスポンスメッセージを読み書きできます。
►RESTは、Webサービスで使用される各リソースのURIを使用します。リソースは、イメージテキストメソッドなどです。
►RESTはHTTPのGET、POST、PUT、DELETEのようなVERBのセットを使います。
►RESTは、SOAP UIに比べて開発が簡単で管理が簡単です。
►RESTには、ブラウザに簡単に統合できる軽量のクライアントツールまたはプラグインがあります。
►RESTサービスはキャッシュ可能です。

23
Waqas Ahmed

休息と石鹸の違い enter image description here

14
yogesh wadhwa

せっけんWebサービス:

  1. あなたのアプリケーションが保証されたレベルの信頼性とセキュリティを必要とするなら、SOAPはこの種の操作を確実にするために追加の標準を提供します。
  2. 双方(サービスプロバイダとサービスコンシューマ)が交換フォーマットについて合意しなければならない場合、SOAPはこのタイプの対話のための厳密な仕様を与えます。

RestWebサービス

  1. 完全にステートレスな操作:ステートレスなCRUD(作成、読み取り、更新、削除)操作用。
  2. キャッシュの状況:情報をキャッシュする必要がある場合.
8

SOAP Webサービスは常にPOST操作を行いますが、RESTを使用すると、GET、POST、PUT、DELETEなどの特定のhttpメソッドを選択できます。例:SOAPを使用してアイテムを取得するには、リクエストxmlを作成する必要がありますが、RESTの場合は、URL自体にアイテムIDを指定できます。

6
Anil Kumar B

RESTは、ほとんどの部分で使いやすく、より柔軟です。SOAPとは異なり、RESTは応答を提供するためにXMLを使用する必要はありません。データを出力するRESTベースのWebサービスは、コマンド区切り値(CSV)、JavaScript Object Notation(JSON)、およびReally Simple Syndication(RSS)で見つけることができます。アプリケーションに必要な言語で解析しやすい形式で必要な出力を取得できます。RESTはより効率的で(小さいメッセージフォーマットを使用します)、デザイン哲学において他のWeb技術に早くそして近い

2
vidya k n