WebサービスにおけるRESTとSOAP
Yahoo!もAmazonもWebサービス提供のインタフェースとしてREST/SOAP対応をうたっていますが、本来、REST(Representational State Transfer)はアーキテクチャでSOAP(Simple Object Access Protocol)は(名前のとおり)通信規約であるので一列に並べてREST/SOAP方式と書かれるとちょっと迷います。
YAhoo!なりAmazonのいうREST方式とは単にHTTPを使ってホストコンピュータと通信する方式のことで、一方のSOAP方式とはSOAPメッセージを(HTTP経由)で交換する方式ということですから、表現を改めたほうが誤解が減るのではないでしょうか。一般にWebサービスの方式としてREST/SOAPといった場合のREST方式とはアーキテクトのことではなく単にインタフェースのこのと指すようです。(むしろ、REST原則から言えばWebの「正しい」アーキテクチャにも指摘されているようにAmazonはRESTではないということになります。)
ところで、RESTの重要なアーキテクトとは
- 特定可能なリソースを持つ
- リソースにアクセスするにはHTTP(PUT/GET/POST/DELETE)を使う
- すべてのリクエストはステートレスである
ということだと思うのですが、もっとも重要なことはHTTPにおける
- GET/リソースの取得
- PUT/リソースの更新
- POST/リソースの作成
- DELETE/リソースの削除
のメソッド使い分けかもしれません。このあたりについてももう少し自分なりに整理をしてみる必要がありそうです。
この記事のトラックバックURL:
SOAP(ソープ)とは、Simple Object Access Protocolのことで、クロスプラットホーム間でのオブジェクト呼び出しをやりとりするためのXMLをベースにした通信プロトコルのこと








Comments