技術の背後には思想がある。岡嶋さんはそこに立脚している。
個々の技術について解説する書籍は多くある。それら技術が実現する社会について論じた書籍もある。
しかし、それらの間をつなぐ形で描かれる書籍は少ない。一読をお薦めしたい。
副題で触れられている「ウェブの理想型」とは何だろう。
「おわりに」にわかりやすく説明されている。それは、「人間がいなくても作業が進むようにしようよ」ということだ。
そのためには、情報そのものに構造上の定義がされている必要がある。「りんご100円」と書かれていて意味が通じるのは人間が読むからであって、人間がいなくても理解されるようにするためには、りんごが商品名で100円が価格であるという構造を別に知らせてあげる必要がある。
つまり、「りんご100円」というテキストそのものとはべつに、「商品名」「価格」といった構造を定義する仕組みが必要ってこと。さらに付け加えれば、それを人間の目でみてわかりやすいように、商品名は10ポイントで黒色、価格は24ポイントで赤色などとデザイン的な定義をする仕組みも必要になる。
ところで初期のインターネット(HTML=Web1.0)は、これらをすべてひとつの文書で盛り込んでいた。構造化が意識されていなかったから、「価格だよ」って指定されていても、実際に値段は書かれておらず、単に赤い文字にしたかったにすぎないといったことも珍しくなかった(これはたとえだけれど)。
その後、プログラム(CGI)との組み合わせが出てきた(=Web1.5)。データベースから読み出すためには、どれが商品名でどれが価格かっていうことを明示しなくてはならなくなった。
でも、それはプログラムを書く人(ということはつまりサイト)ごとに違った配慮に基づいていた。仮に「price」と書かれていても、あるサイトでは商品価格を意味しており、別のサイトでは利用価値を意味しているなんてことがあったわけだ。
それに、「price」をどのように表示(デザイン)するかについては、相変わらず同じ文書内に盛り込まれていた。
それから、いわゆるWeb2.0の時代になった。デザインを指定する文書と、情報を盛り込む文書が分けられるようになった(人気を得たブログシステムの構造がそうなっていたことが大きい)。
情報を盛り込む文書側では、これは商品名でこれは価格で、といったことを指定し、デザインを指定する文書では、商品名はどんな色のどんな書体で表示し、価格はどんな入れ方をするかといったことを規定する。こうして、ようやく情報が少し、構造化されるようになった。
同時に、プログラムの共有も進むようになってきている。ウェブサービスっていわれるもので、これのおかげでぼくたちは、たとえばGoogleの地図を自分のサイトで表示させたりできるわけだ。
とはいえ、それでもまだ、情報は人間の目で判断するしかない。たとえばある商品の価格をどこかのサイトとどこかのサイトで比較したい。人間の目なら、ふたつのサイトのページを見比べればすぐ判断できるけれど、コンピュータにはそうもいかない。
次の課題はそこだ。人間を介さなくても意味を蓄積できるネットワークを作り上げること。それが「セマンティック・ウェブ」と呼ばれるものであり、理想とされる姿でもある。
そこに向けて、技術的な概念としてもっとも上にあるのは「SOA(サービス指向アーキテクチュア)」だ。現実世界におきかえて考えれば、さまざまなサービスが街にあって、デリバリーやハウスクリーニングやベビーシッターなどのサービスを取り寄せることで、1日の生活が成り立つ、まあそんなものだと思えばいい。ウェブサービスもそうした文脈にある。
もっとも、それではまだ不十分だ。
まず、どこでサービスを提供しているかがわからなくては利用できない。また、サービスをどのように利用すればいいかわからないといけない。
それを解決するために、サービスがどこにあるかが書かれているイエローページのようなもの(UDDI)がある。一方、ほんとうはサービスの利用方法を統一するのがいいのだけれど、技術の進歩を考えるとそれは不可能なので、とりあえず、利用方法を書いたマニュアルをどのように書くかを決めたルール(WSDL)がある。
そんなものが組み合わされて、「理想型」を目指している。(まだ道は遠いけれど)
あとはね、インタフェースがどうなるかだよね。人間が介在する必要があるから、現状はブラウザがインタフェースになっているけど、そうじゃなければ、自動車やエアコンや電灯などなどがそれぞれにつながっていればいい。
その先にはどんな世の中が広がっているのか。本書を通して、考えてほしい。