平々毎々(アーカイブ)

はてなダイアリーのアーカイブです。

「Webを支える技術」刊行記念トークセッションに行ってきた(1)

これはいい本!

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

4月8日,『Webを支える技術』(山本陽平著)の刊行記念トークセッション開催:インフォメーション|gihyo.jp … 技術評論社

http://img98.yfrog.com/i/u9tv.jpg/

Microsoft技術なSI仕事をしている身として、MSとRESTについて書いてみる。ぜんぜんまとまってないけど。

SOAPについて

セッション中に「SOAPとWS-*の敗因」「Don BoxがついにRESTに折れた」という話題が出たのだけど、SOAPはなくなりません……すぐには。

そもそもSOAPやWS-*ってMicrosoftIBMが協力して仕様を決めてたわけだけど、やっぱりエンタープライズな世界では一定の需要があるわけですよ。
正直WS-*の複雑な体系にはどこまで需要があるものか怪しいけど、HTTPを使ってJavaと.NETが連携する場合は、SOAP+WSDLはそれなりに使える(深掘りすると落とし穴にハマるが)。
Javaや.NETでそれなりに使えるのは、スキーマ大好きな貴族たちが頑張ったから。Javaと.NETみたいなヘテロな環境でRPCやるなら、スキーマとかメタデータとかが欲しくなるんです。
エンタープライズ界の人たちが欲しかったのは「HTTPバインディングが標準化されたCORBA」でしかなくて、その方向にSOAPとWS-*は突き進んでいったように思える。

そのせいでWS-*は無駄に複雑になり、それを嫌った多くの人がSOAPを捨てました。かつては「WebサービスといえばSOAP」を目指していたのかもしれないけど、結局そうはならなかった。
Webの広い世界から見ればSOAP+WS-*の需要はニッチです。でもニッチはニッチなりに需要があることは無視できない。

ところで、SOAPはHTTPに依存しない仕様なんだけど、事実上HTTPでしか使われてない。でもこれ「Webのインフラにただ乗りしてるだけ」なんだよね。URLは場当たり的。POST偏重。SOAPを使っている人たちは、Webを発展させることにはまったく興味がなさそう。
そういう意味では、RESTful Webがさらに発展したあとで、RESTfulかつスキーマフルな技術が出てきて、仕様が標準化されることがあれば、SOAPやWS-*にとって代わる可能性は大いにある。
でも10年ぐらいはかかるだろうなー。

RESTについて

MicrosoftのアプリケーションアーキテクチャガイドでRESTサービスの設計について触れていますよーというのはともかくとして、Microsoftの動きとしておもしろいのは、ODataかなあ。
「MicrosoftがデファクトスタンダードのWebデータプロトコルとしてODataを提案」にあるように、ODataはAtomPubの拡張。GoogleのGDataとガチでかぶってる。
一応、仕様自体はオープン(ただし今のところ仕様策定プロセスはオープンではない)。
SDKも公開されていて、.NET、JavaPHPObjective-CJavaScriptでクライアントを作成できる。
それから、.NETの場合は、WCF Data Servicesを使うとデータベースをOData形式で簡単に公開できる。

また、Microsoft"Dallas"というコードネームの情報マーケットプレース(CTP版)を公開しているのも興味深い。いろんなベンダーがデータを販売できるのだけど、そのデータへのアクセスにODataプロトコルが使われる。

OData、受け入れられるのかな。なんだかGoogleにも協力を呼びかけてるみたいだけど、どうなることやら。