2005-12-02(金) [長年日記]
■ Yahoo! デベロッパーネットワーク
よくある質問より:
Q: Yahoo! JAPANは、SOAPはサポートしないのですか?
現在はサポートしていません。SOAPインターフェースに対する要望が多ければ、将来提供する可能性もあります。Yahoo!デベロッパーネットワークでは、RESTは敷居が低く、SOAPよりも簡単に使用でき、またWebサービスを利用するのに十分であると考えます。
そうやって誤解を撒き散らすのはヤメロっつーの。RESTの(仕組みの理解への)敷居が低いのは確かだが、現時点では(使うだけなら)SOAPの方が簡単だろ。違うレイヤーの話をごちゃ混ぜにしてるよ。こういう主張をするなら、主要各言語のクライアントライブラリを、すべて実装して公開すべきだ。
「使用」という言葉の意味は広いので、これを書いた人がどういう意味で「使用」という言葉を使ったのかということについての高度な読み取りが必要なのでしょう。
この人は、Web2.0とか例えばAmazonの同サービスにおけるSOAPとRESTの利用比率って知らんのだろうな。SOAPの方が簡単ってのも意味不明。どんなレイヤで話してんだかなぁ ....
↑の方。SOAP(もちろんwith WSDL)を使った経験はおありですか? http://sho.tdiary.net/20051124.html#p01の記事も参照されると良いかと。
あと、AmazonのREST/SOAP比の話は知っていて当然だとは思いますが、だからといってRESTの方が(使うのが)簡単という結論にはなりません。
はじめまして。
WSDLから一式生成してくれる環境を使った事がある身からすると、「RESTの方が面倒くさい」ですよね。XMLの処理とか考えると、敷居も高いですし。
下位のレイヤを隠蔽してくれる機能・技術がある環境があれば、普通のメソッド呼び出す感覚で使えますからね。
POSAで言う所の、Brokerパターンの実装を自動で行ってくれるような感じですし。
まあ、そういうのが無い環境は大変ですし、そういうのをYahooが実装して提供してくれたら、足向けて寝ないんですけどね(笑)。
Perlなんかは、SOAP::Liteのあれ止まりでそれ以上のが無かったと思うので、作ってくれればなぁ。RubyはSOAP4Rというものがあるんですね、素敵だ。
な、なんと。もしかしてWSDLを解釈できる処理系というのは一般的じゃないんですか!?
WebサービスはRubyからしか使ったことがないので、どんな言語にもSOAP4Rライクな機能があるものだと信じていました(Javaはもちろんありますよね。Microsoft製品にも)。
もしそうなら、私の話は前提を考え直さないといけないですねぇ(そしてSOAP4Rへのリスペクトをさらに強調すべき)。
最初にお断りしておきますが、私はRubyもPerlもあまり詳しくないので、間違っていたらすみません(^^;
ちょっと検索した範囲では、Perlでは無いっぽいですね。
解釈は出来るのですが、静的なソースコードを生成してくれるんじゃなく、動的にProxyを生成するような感じです。
なので、目で見て分かる形でメソッドのシグネイチャがあったりするわけではないので、なんと言いますか「メッセージを自分で組み立てる」感は結構残っちゃいますね。
やったのはかなり前なので、ちょっとうろ覚えですが、コードとして可視化されていないため、WSDL読み込むとこういうクラスが自動で出来ていて、メソッドにこういうものがあって、こういうパラメータがあるはずなので、そいつを渡せば結果が返ってきているかも?という感じで、考えつつやらないといけませんし。戻り値の処理の方も似たような感じです。
RubyだとSOAP::WSDLDriverFactoryを使用すると同じような感じになるんでしょうかね?
ちなみにサービス側はもっと大変で、今はやってくれるモジュールがあるみたいですが、以前はWSDLは自前で書かないと駄目でした。
私は仕事ではMicrosoft製品(.NET)メインなので、他の言語とかでやる時は「WSDLからやってくれるの無いのか、面倒くせぇ」とか思ってしまいます。.NETは更に過保護仕様(笑)で、サービス側でもどういうメソッドがあって呼び出すためのSOAPのメッセージのサンプルはこうですよ、みたいなのまで表示してくれますので、尚更(^^;。
Javaもクライアント側しか試した事がありませんが、コードは生成してくれますよね。PHPは無いっぽいみたいですけど。
まあ全部が全部SOAPが楽に使える環境になっているわけじゃないですけど、ものによってはRESTよりSOAPの方が断然楽なものもあるので、やっぱり「RESTの方が敷居は低い」とは一概に言えないとは思いますけどね。
ちなみに、SOAP4Rはリスペクトすべきだと思いますよ。単純に難しいからって目を背けるんじゃなくて、そういう所隠蔽して誰でも簡単に使えるようにしちゃおう、っていうのはとても素敵だと思います。