RESTの優位性

今日、REST(のみ)対応しているYahoo!Webサービスを触ってみた。
Google APISOAPのみ)と比較してレスポンスの速いこと(Google APIはβ版ではあるが)。
同じキーワードで、10件検索を行った時のレスポンス比較を行ってみたところ、Yahoo!の方がGoogleより1s程度速い。

1回目 2回目 3回目 平均 単位:ms
Google 1750 3281 1375 2135.333333
Yahoo! 1359 1265 844 1156

また、AmazonはREST,SOAP双方提供しているので、Amazonでも比較してみた。
ISBN検索を6回行ったところ、以下のようにRESTの方が1sちょっと速かった。

1回目 2回目 3回目 平均 単位:ms
SOAP 4907 2672 2703 3427.333333
REST 2952 1657 1828 2145.666667


上記も踏まえた上で、RESの優位性として以下が言える。
SOAPよりレスポンスがいい。
・リクエストがURL文字列で、レスポンスがXMLなので、XMLの解析さえ知っていればプログラミングできてしまう。正しいURL文字列を送っているかをブラウザで簡単に確認可能(XMLが正常に返ってくるかで確認)。
SOAP対応していないプラットフォームでも呼び出し可能。

ただし、問題点として、
・URLの文字列丸見え(開発キーなどがクリアテキストで送信されてしまう)
・インプットに複雑な情報を送信することができない

簡単用途はREST
複雑用途はSOAP
といった形ですみ分けられるのであろう。

●参考記事
米Yahoo!がWebサービスAPIを公開〜日本語アプリ開発も可能

Yahoo! Search Developer Network(英文)