SOAPはなぜRPC/EncodedからDocument/Literalへと移ってきたか。

そもそも2つの違いは何か?

  • RPC/Encoded

RPC(Remote Procedure Call)、つまり分散環境でのメソッド呼び出しを実現するためのもので、
メソッド名、パラメータをXMLに乗せて送信し、メソッドの戻り値をXMLから取得する。
WSDLにより、ローカルとリモートシステムのスタブ、スケルトン(XMLデータ変換)コードを
生成するため、そのツールへの依存度(相互運用性のリスク)が高くなりがちという欠点がある。
インターフェース(メソッド)変更時の対応作業が煩雑になる。

  • Document/Literal

XMLドキュメント(データ)の送受信を目的とする。
インターフェースを修正するかわりに、XMLデータを修正することで吸収できる。(拡張性がある)
XML処理が中心となるが、標準的なXMLAPIを利用するので、ツールに関わるリスクは少ない。
ということで、
REST(によるWebサービス)は、後者のインターフェースがGET, POST, PUT, DELETEなもの?