私がWebサービスという言葉を理解したのは、2002年。
「Webサービスカンファレンス」といったイベントが日本各地で行われるようになり、用語と概念がだいぶ浸透していたころでした。Java業界でも、「WebサービスとJavaは親和性が高い」などと、根拠も定かではないがマコトしやかな噂が流れ、Apache SOAPやAxis、JAX-RPCなどのフレームワークが軒並み連ねます。
(・・・いったいどれがホンモノよ!)
そのときの私の解釈は、「ふーん、インターネットで分散オブジェクトができるようになったんだね。」くらいの、カルーい感じでした。しかし、熱心なエバンジェリストの方々からすると、そういうことではないらしい。「コンピューターアーキテクチャを根本的に変える」的な、でっかい説明を受けたものでした。
でも、Webサービスって、HTMLの代わりにXMLを返すだけの仕組みです。プロトコル(SOAP)だって、RPCに毛が生えたようなものでしょうに。たったこれだけで、いったい何が変わるのだろうか?と、めちゃくちゃ懐疑的でした。
この当時は、Webサービス関連製品や、それらの製品を抱えたベンチャー企業などが、ものすごい勢いで「売り込み」をかけていました。「Webサービス製品をどうやって売っていくか」を考えるような会議も盛んに開かれます。でも私は、XMLやWebサービスの機械的な仕組みだけを売り物にするのは、ムダボネのような気がしてならなかったのです。この思いは今でも変わっていません。
お客さんや一般のパソコンユーザーがインターネットを使って何をしたいかというアイディアがなければ、われわれ技術者がいくらSOAPやJAX-APIを勉強したところで、何の意味もありません。ましてや、Webサービス製品がどれだけ多機能でも、使い道がありません。
もちろん、私たちエンジニアから、「こんなこともあんなこともできますよね!?」と、ビジネスアイディアをぽんぽん提案できれば良かったのだとは思うのですが、やはり役割が違います。
もうひとつ直感的に感じていたことは、企業(特に日本の)が業務データをインターネットに公開するなんて「ありえないだろう」ということです。システムや技術を「隠し持つ」ことで、差別化や優位性を競っていたのですから、おそらくそういう発想にはならないでしょう。
仮に、「Webサービスで業務連携したい」という企業が現れたとしても、企業間の調整だけでも、並々ならぬ労力を使いそうです。そういうことに首をつっこむのは、技術屋の仕事ではありません。
だから私は、Webサービスの仕事をしていた(隣の席に座ってた)エンジニアを、ちょっと身を引いて、冷ややかに観察していました。
2006年の今思えば、なるほど、Webサービスによっていろんなことが進行しています。大流行のAjaxやWeb2.0、SOAなどの言葉は、元をたどればWebサービスに行き着きます。さらに、Webサービスを使って大儲けした企業が、今日のインターネット業界を先導しています(AmazonやGoogle)。
今後、ITのインフラ化(グリッドコンピューティング)が進めば、まさに「蛇口をヒネればWebサービスがあふれてくる」のでしょう。「Webサービス対応の冷蔵庫」が登場する日も近いかもしれません。
「コンピューターアーキテクチャを根本的に変える」と説明してくださった方々、今なら少しは納得できます。コンピューターアーキテクチャーが変わった、というよりも、「インターネットの使い方に幅が出た」と表現したほうがピンときますけど。ちょっとは私も成長したのかも。
でも、日本では、どこが成功したのだろうか。まだまだ先は長いのか?
Axisの後継、Axis2は、とても使いやすいフレームワークです。インターネット上で非同期メッセージングをやりたければ、これが一番楽チン。