Webサービスについて調べているのだが、SOAP と REST の違いについて以下が分かりやすかったので引用させていだく。

http://d.hatena.ne.jp/hikm/20070228/1172684400


●XML-RPC(XML Remote Procedure Call)
1998年に策定された、比較的シンプルな仕様。
XMLを利用してネットワーク越しにサーバー側のなんらかの処理を呼び出し、結果をXMLで受け取る。
クライアントからサーバーへのアクセスには、HTTPのPOSTを用いる。
リクエストはHeaderと、Bodyで構成される。Body部分はXMLで表現する。
Header部分の、「User-Agent」、「Host」、「Content-Type」、「Content-Length」は必須。
戻り値は複数の値をとれないが、戻り値を配列にすることで複数の値を返せる。

●SOAP(Simple Object Access Protocol)
XML-RPCを拡張した仕様。
SOAPはHTTPだけでなく、他のプロトコルも使うことが出来る。
リクエストはXML-RPCと同様にHeaerと、Bodyで構成されるが、Headerは省略可能。
戻り値を複数の値にすることが可能。

●REST(Representational State Transfer)
RESTは仕様ではなく、WebAPIの仕様を決める上での基本的な考え方(アーキテクチャスタイル)を表す。
リソース(名詞)に対して、メソッド(動詞)を適用するという考え。
Webにおいては、HTTPの4つのメソッドGET、POST、PUT、DELETEによりリソースに対して何を行うか伝える。
Blogの場合で考えると、GETで記事表示、POSTで新規投稿、PUTで記事更新、DELETEで記事削除。
AmazonECSのRESTに基づく通信では、パラメータをURLに含めてGETメソッドを用いることにより、サーバーからXMLデータを取得する。


最近は REST が主流なようだが、何よりも WEB ブラウザに URL を入力するだけで結果を確認できる簡単さがいい。