web-dev-qa-db-ja.com

Ajaxアプリケーション:SOAP vs REST?

私はすべてのデータを取得し、Webサービスを介してサーバービジネスロジックを使用するajaxの重いアプリケーション(クライアント側の厳密にはhtml/css/js)を構築しています。

RESTが話題になっているようですが、適切な引数が見つかりません。主な引数は「軽量」です。

これまでの私の印象は、wsdl/soapベースのサービスの方が表現力があり、より複雑なデータ転送が可能であるということです。 SOAPは、サービスを使用する唯一のコードがクライアントブラウザにダウンロードされたjsである、私が構築しているアプリケーションでより役立つようです。

一方、RESTの方がエントリバリアが小さいようです。そのため、Twitterなどのサービスでは、他の開発者がこれらのサービスを簡単に利用できるようにするのに役立ちます。また、RESTは、単純なデータ転送に適しているようです。

つまり、SOAPは複雑なデータ転送に役立ち、RESTは単純なデータ転送に役立ちます。

私は現在、SOAPを使用するのがメッセージの複雑さのために最善であろうと考えていますが、おそらく他の要因があります。石鹸/休憩の長所/短所についてのあなたの考えは何ですか?重いajax Webアプリ?

編集:

Wsdlはxmlですが、やり取りするデータは実際にはJSONです。アプリの性質上、ここではwsdl/soapを使用するほうが自然に見えます。動詞GETとPOSTは十分ではない可能性があります。processQueue、executeTimerなどのように言いたい場合があります。これが、wsdl/soapが複雑なレイヤーのブリッジに適している理由です2つのアプリケーション(クライアントとサーバー)の間REST)は、多くの開発者ユーザーがプログラムでリソースを消費できるようにするために(その単純さにより)優れています。

したがって、選択は2つの線に沿っていると言えます

  • アプリは動詞指向(完了タスク:石鹸を使用)または名詞指向(リソースを消費:RESTを使用)
  • APIは少数の開発者または多くの開発者によって消費されますか(RESTは多くの開発者にとって強力です)?

そのようなajaxの重いアプリは、多くの動詞を使用する可能性があり、クライアント開発者のみが使用するため、soap/wsdlが最適だと思われます。

3
coder

AJAX重いアプリケーションを実行している場合、RESTについての1つのプロは、XMLの代わりにデータ交換フォーマットとしてJSONを使用するオプションがあります。JSON XMLよりも必要なマークアップが少ないため、ネットワーク経由で送信するデータが少なくなるため、アプリケーションの速度が向上します。

RESTはWebサービスでSOAPを引き継いでいるため、常に新しいテクノロジーを導入するときに広く普及しているテクノロジーを使用することをお勧めします。開発者、または他の開発者にデータを使用してもらいたい場合。

SOAP=の利点は、すでに構造が組み込まれていることですが、独自の構造をRESTに組み込むことができない理由はわかりません解決。

編集:テレコムプログラミングを行ったとき、電話のスイッチのみがサポートされていましたSOAP RESTではありません。SOAP不要になったときに邪魔になる定型文。

3
programmer