Webサービスの概念を必要以上に複雑にしている力の話
2007.12.17
「Beginner's Guide: Web サービスの基礎知識」というエントリーがはてぶの人気エントリーに入っていたが、実際のところWSDLだとかUDDIなどのIT業界の重鎮たちによって作られた標準規格が、HTTP/HTML/RSSが成し遂げたようなレベルの本当の意味での標準になるとは、私にはどうしても思えないのだがどうなんだろう。
今でも忘れられないのが、90年代の中頃にHTTPとHTMLの仕様に出会った時のショック。アーキテクチャが不必要なまでに複雑化してしまったGUI OSのアーキテクチャに根本的な疑問を持ち始めていた私には、HTTPとHTMLのシンプルさは本当に「目からウロコが落ちる」感動を味合わせてくれた。
その意味では、RSSとかJSONとかはその延長上にあり、「シンプルでありながらパワフル」であるからこそこれらのものがこれだけ普及していることは明白。スペックそのものがとても単純だし、それを使うのもとても簡単。アマゾンのウェブ・サービスはRSSでは無いが、基本的にはHTTPでXMLをやり取りするというごくごくシンプルなもの。今でもHTTPサーバーやRSSリーダーを(ライブラリなどに頼らずに)フルスクラッチで作るのがそれほど難しくないのは、このシンプルさのおかげだ。
それに比べると、WSDLだとかUDDIなどが進んでいる方向がどうも時代に逆行して不必要に複雑化しているように思えるのだが、私の理解不足だろうか?IBMだとかBEAなどの「フルスタック」を用意できる「ITベンダー」と「上級ITコンサル」たちの陰謀ではないかと思えてしまう(ちなみに、上の記事はITコンサルのBooz Allen Hamiltonの人が書いたもの)。
このあたりの事情に詳しい方・意見をお持ちの方がいたら、賛成・反対意見のどちらでも結構なのでコメント・トラックバックをいただきたい。
今でこそ SOA というコンセプトが整理されて、それを実現するためのインフラ技術のひとつという位置づけにおさまった感がある Web サービスですが、鳴り物いりで紹介されだした当初は「露骨なベンダ主導である技術先行のコンセプト、、というか新しい飯のタネだな(汗)」と感じた覚えがあります。
"IBMだとかBEAなどの「フルスタック」を用意できる「ITベンダー」と「上級ITコンサル」たちの陰謀ではないかと思えてしまう" という指摘は、よしんば真実でなかったにしろ、そういう思惑は各社持っていたような気がしてなりません。
Posted by: 「た」 | 2007.12.17 at 18:09
ひとつの例でしかないですが、Google SOAP Search API は SOAP/WSDL で提供されていたものが、現在では廃止(既存APIは利用可能)されて Ajax API に移行しています。
http://code.google.com/apis/soapsearch/index.html
WSDLはライブラリ経由で利用するだけなら結構便利なんですけどね。
Posted by: yoosee | 2007.12.17 at 20:59
WSDLはあくまでもインタフェースであって、JavaであればEclipseなどで簡単に実装を作ってくれるので問題ないかと。
まあ、ライブラリがないととんでもなく大変ですが、それを言ったらhttpサービスを古すクラッチで作るからいいや、というのも同じような気がします。
Posted by: う | 2007.12.18 at 06:14
某外資系大手ベンダの元で3~4年前までWebサービスの勉強をしていたものです。SOAP本体、WSDL本体は、ツールさえ利用すればさほど難しくありませんし、ベンダーと関係ないオープンソースの各種実装がそろっています。
が、Webサービスがややこしく見えてしまうのは、これじゃエンタープライズ案件にはダメだ、セキュリティのために電子署名だ、2度注文が飛んだらまずいよな、トランザクションだと、非常に難解な周辺仕様が存在し、それが本文のような印象を抱かせているのだと思います。
で、私の個人的な感想なのですが、初期のWebサービス(SOAP、WSDLのコア部分)は非常に可能性があるものだったのですが、ごてごてベンダーの思惑で追加した性で色々だいなしになったと思っています。
(補足:UDDIも古くから出ていた概念ですが、あれはもともといけてないと思います。)
Posted by: POTI | 2007.12.21 at 07:28
自前の「RSS/JSONとSOAPの関係」という記事からtrackbackを貼ってみたのですがうまくいかず、コメントに記載させてもらいました。
http://blog.so-net.ne.jp/buti/2007-12-23
コンシューマとエンタープライズアプリケーションの関系やLL&JAVAとの対比などをまとめてみました。
Posted by: butineko | 2007.12.25 at 19:53