ブログ時代の情報システムを考える

私は、2005年の年末から2006年の年明けにかけて、ずっと社内の論文を書いていました。
幸いにして、社内ではそれなりの評価を得ることが出来たのですが、会社の許可も出たので、公開しておこうと思います。
なにしろ、ネタがWeb 2.0だから、公開しなくては始まらないでしょ…ということで。

「ブログ時代の情報システムを考える」

1.はじめに

私は、2005年の終わりが見えたある日、論文を書くことになった。

論文といえば、学術論文である。しかし、私には成果を発表するような研究がない。それは、どこかの研究所でやれば良いことである。企業における論文なのだから、新たなビジネスを創造するやり方もある。だが、それなら論文のようにまどろっこしいことはせず、企画書や提案書を書いた方が効果的ではないか。

私は論文かくあるべしということを深く考えないことにした。目新しい研究成果は乏しいかもしれない。しかし、情報技術分野に携わる1人の技術者として、今、吹いている風を感じ、この先どう進んでいくかに思いをはべらせる。自らの立ち位置を決める。こうした行為の成果が、1つの文章にまとまれば良いと考えたのである。

2.序論

2005年の大晦日、NHK紅白歌合戦の審査員として、タレントの眞鍋かをりが出演していた。紅白歌合戦の審査員といえば、その年に活躍した有名人が登場するものだ。眞鍋かをりも当然、タレントとして活躍したと思うが、司会が彼女をどのように紹介したかというと、「ブログの女王」と言ったのである。

2005年はブログが大ブレイクした年であった。SMBCコンサルティングが年末に発表しているヒット商品番付で、ブログは東大関に位置づけられた。総務省の発表によると、2005年9月時点のブロガー人口 は473万人であった。2007年3月には782万人になるとのことである。こうしたブームに乗って、ブログタレントの代表格である眞鍋かをりは、紅白歌合戦の審査員を務めることになったのだと思われる。

ブームの真っ最中にあるブログは、誰でも簡単に、日記をWebサイトに公開し、コミュニケーションが出来る、新たなインターネットサービスの1つとして認識されている。たしかに、それはブログの面白い部分である。しかし、ブログは技術的にも面白いものといえる。ブログがWeb 2.0(後述)の文脈で語られるようになると、ブログが持つ意味はさらに大きくなる。

実は、ブログの技術的な面白さは、私が2004年7月から続けている自分のブログ で、様々に実用を兼ねた実験を行い、今なお、感じていることなのである。

本稿で、ブログの技術的な面白さを理解いただき、さらに次世代の情報システムに与えるインパクトを感じていただければ、筆者として本望である。

3.ブログとは

ブログを、ブラウザで文章を書ける日記システムと捉えると、これまでにも類似のものは多く存在した。掲示板に若干の機能拡張を施した程度のCGIスクリプト ですら、日記システムになり得た。私も、数年前に日記の文章をデータベースに登録し、Webページで見せるようなシステムをPHPで作って、Webサイトで使っていた。

表面的にはブログは日記システムのように見える。しかし、ブログは最先端と言っても過言ではないほどの技術が駆使されている。

ブログの技術的な特徴には、以下のようなものがある。

  1. 記事の追加や編集は、ブログシステム が提供する管理画面を使って、Webブラウザで行う。
  2. 最新のいくつかの記事をXML形式のファイル(RSS)として配信している。
  3. 他人のブログの記事から、自分のブログの記事へのリンクを、簡単に追加できるトラックバック機能がある。(XML-RPCで実現されている。)
  4. 記事の追加や編集を、ブログシステムの管理画面以外 から行うために、標準化されたXML-RPC等のインタフェースを提供している。
  5. 通常のPC向けWebサイトだけではなく、携帯電話向けのWebサイトとしても公開することが出来る。データベースに記事を集約しているため、シングルソース・マルチユースが実現している。

2.~4.に関しては、従来の日記システムには見られなかった機能である。
ブログならではの機能を実現する技術として、RSSとXML-RPCについて説明する。

(1)RSS(RDF Site SummaryまたはRich Site Summary)

RSSは、ブログの記事を、新しいものからいくつかXML形式のファイルとして配信するものである。一般的に、Webサイトは人間が読むために存在している。しかし、RSSが対象としている読者は、人間ではなく、別のソフトウェアなのである。

RSSがソフトウェアを対象にしているというのは、以下のような特徴があることを意味している。

  • ソフトウェアでの処理が簡単なXML形式であり、統一フォーマットである。
  • メニューや画面デザインといった、Webページの本質的な内容とは無関係な要素が含まれない。ソフトウェアは、Webページの本質的な内容の処理だけやれば良い。
  • 記事の内容を示すカテゴリや、記事が書かれた日時といった、処理に何かしら必要になるメタ情報が付加されている。

このような特徴を持つRSSは、様々なケースで活かされている。

例えば、複数のブログの記事を、ソフトウェアに自動的に収集させ、ユーザ(最終的な読者としての人間)が見やすいように出力することが、簡単に実現できるようになる。

また、検索エンジンでの活用も考えられる。Yahoo!やGoogleといった検索エンジンは、様々な自然言語解析技術を用いてWebページの解析を行い、データベースを構築している。RSSを使えば、そうした解析はある程度は不要になる。

RSSは、技術的には、次世代Webとして提唱されているセマンティックWeb の系譜にある。セマンティックWebは、Webの世界を巨大なデータベースに変える。ブログによるRSSの普及はその先駆である。

(2)XML-RPC

ネットワークを介して、別のコンピュータに存在するプログラムを呼び出して実行する技術を、RPC(Remote Procedure Call)という。原則として、呼び出し元と呼び出し先のプログラム言語は違っていても構わない。RPC技術には様々なものがある。XML-RPCは、プログラムの呼び出しや戻り値の受け渡しのデータ形式としてXMLを用いる。同様の技術としてSOAPがあるが、XML-RPCの方が軽量である。

ブログでは、先に述べたようにトラックバックや、記事の追加・編集用プログラムとのインタフェースとしてXML-RPCが用いられている。

4.Web 2.0

2005年9月30日にTim O’Reillyが「What Is Web 2.0~」 という論文をWebサイトに掲載した。現在、成功しているインターネットサービスの特徴を技術的な視点を加えて考察したものである。この論文が出てから、Web 2.0は瞬く間に業界を席巻した。

Web 2.0のいくつかのキーワードから、参加のアーキテクチャとAjaxについて説明する。

(1)参加のアーキテクチャ

これまで、Webの世界で、何らかのサービスを提供し、利益を上げていくのは大企業に限定されていた。個人は、そのサービスを利用するだけであり、受け身に甘んじるしかなかった。それがWeb 1.0の世界である。

Web 2.0では、誰もがサービスを提供できるようになる。例えば、大企業が提供しているサービスを、個人がいくつか組み合わせて、新たなサービスを作ることが簡単に出来る。
具体的な例を用いて説明しよう。

オンライン書店のAmazonは、商品情報データベースをREST かSOAPで提供している。商品情報データベースは巨大で、個人では到底作ることが出来ない。しかし、Amazonから商品情報データベースの提供を受けることで、自身のブログでAmazonが取り扱う商品を紹介し、販売を行うことが出来る。売上の一部は、個人に還元される。

このように、サービスを組み合わせて新たなサービスを作ることを「マッシュアップ」と呼ぶ。サービスはマッシュアップが容易に出来るような形で提供される。提供されるサービスが増えれば増えるだけ、新たなサービスが生まれる可能性も広がっていく。サービスは幅広く個人にも提供される。つまり、誰もがサービスの提供側に参加できるように配慮されている。参加可能にするための構造(アーキテクチャ)を持ち、総体として参加者が増えるほどサービスレベルが向上するのである。後は、アイディア次第だ。

(2)Ajax(Asynchronous JavaScript + XML)

Web 2.0で注目される技術の1つにAjaxがある。O’Reillyの論文では、「リッチなユーザ体験」の文脈で言及されている。

Ajaxを使うと、Internet Explorerのような一般的なWebブラウザが、リッチなユーザインタフェースに変貌する。何はともあれ、体験するのが一番だから、Googleローカル でのグリグリと動く地図を使ってみると良い。私のブログでも、検索条件を入力すると自動的に検索結果が現れるような仕掛け を作っている。

Webシステムは誰もが使いやすいユーザインタフェースを目指す方向に進んでいる。Ajaxによるユーザインタフェースは、魅力的なものである。

興味深いのは、今までのWebシステムの常識を覆すようなユーザインタフェースが、スタイルシートやJavaScriptといった一般的な技術だけで作られているということだ。

Ajaxでは、Webブラウザ上でのユーザ操作を起点として、Webサーバとの通信を非同期に行う。そして、Webサーバより取得したXML形式のデータを用いて、画面遷移を伴うことなく、画面の表示内容を書き換える。

技術的に最も重要なのは、Webサーバが返すデータがXMLであるということだ。

(3)Web 2.0とブログ

Web 2.0とブログの関連についても、述べておこう。

O’Reillyの論文では、「集合知の利用」の文脈で説明されているように、ブログは、Web 2.0の重要な構成要素である。

集合知の利用は、Webが始まった時からのコンセプトだ。Web技術で最も重要なハイパーリンクは、Webに置かれている情報から関連性のあるものを結びつけ、情報の網の目を作ってきた。

ブログのトラックバック機能を使うと、ハイパーリンクを効率的に行うことが出来る。既に、ブログ間のハイパーリンクは急速に広がり、ブロゴスフィアと呼ばれるほどのブログの網の目を作っている。集合知の利用は、さらに促進されるのである。

ところで、私は、Web 2.0におけるブログの役割は2つあると考えている。まず、記事をRSSとして配信する、サービス提供者としての側面である。もう1つは、ユーザインタフェースを担い、サービスの受け皿になるという側面だ。サービスはネットワーク上に存在する。どこかでユーザインタフェースが必要になるのである。

5.結論(次世代情報システムへの影響)

(1)SOA

次世代情報システムについて考察を始めると、現時点ではどうしてもSOA(サービス指向アーキテクチャ)を検討しなければならない。いずれ、大手ユーザはこぞってSOAでシステムを構築すると目されているからである。しかし、SOAの領域は広大であり、ここで説明するには荷が重い。そこで、私の理解を簡単に述べて、必要を満たすことにする。
「SOAは、サービスを疎に結合して1つのシステムを構築することである。サービスは、ネットワーク上のどこかで稼動しているという点でコンポーネントとは異なる。」

実は、これだけだ。私の理解が薄いからだといえば、そうかもしれない。SOAといえば付き物のようにWebサービスやBPEL の話題が出てくる。それは、たしかにSOAの領域にある技術要素に違いない。しかし、SOAはもともとコンセプトに過ぎないのだから、技術要素は別の話である。

私が理解しているSOAは先に述べたとおりだが、事実上はWebサービスやBPELといった重量級の技術を前提に話が進んでいる。私は、ここに不安を抱くのである。本当に、そんなに重量級の技術が必要なのだろうかと。 世の中を見渡しても、SOAには賛成だが、Webサービスが前提のSOAには懐疑的な技術者も少なくない ようだ。

(2)技術的な結論

私は、Web 2.0的な軽量なものの考え方が活かせないかと考えている。ブログブームやWeb 2.0的インターネットサービスの隆盛は、Webの世界でXMLが流通することを一般化した。XMLはソフトウェアで処理可能なデータ形式だから、図らずもセマンティックWebが現実のものになろうとしている。XMLを処理するための基礎技術の整備も進んでいる。これも心強いところだ。

そもそも、SOAのコンセプトはWeb 2.0でのインターネットサービスの作り方に似通っている部分が多い。サービスを結合(マッシュアップ)するのである。サービス間のデータ形式が本質的にXML である点も同様だ。

次世代情報システムは、XMLをやり取りするサービスを連携させることで、形作られる。ネットワーク上に存在しているサービスを、ローカルにあるクライアントが呼び出す。そのクライアントはリッチなユーザインタフェースを備えている。そこで使われる技術は、出来るだけ軽量な方が良い。それが私の技術的な結論である。

(3)ビジネスにおける結論

Web 2.0の技術的でない側面にも注目しておかなければならない。

Web 2.0における参加のアーキテクチャは、技術(情報技術)によって実現される。そして、参加のアーキテクチャは誰でもが参加できるビジネス環境を生み出す。

IT Proのある記事 によれば、情報技術は顧客の要求を忠実に満たすための道具であるが、一方で顧客の要求を生み出すアイディアの素でもあるという。

今後、AmazonやGoogleのような専業ではない企業が、既存のビジネスに関連付けたインターネットサービスを頻繁に提供するようになるだろう。サービスの提供者として参加するのである。その際「Web 2.0だから何が出来るのか?」というアイディアの素が重要になるに違いない。

6.おわりに

本稿がたどり着いた結論は、まだ私自身が満足するものに至っていない。方向性は間違っていないと思っている。しかし、満足できる結論に至るには、さらに考えるべきことがある。技術の進展も、まだ見えない部分が多い。次期WindowsであるVista(コードネームLonghorn) が、どのようなSOA環境を提供するのか、注目しなければならない。

今後の考察は、私のブログに継続的に書いていくつもりである。興味をお持ちの方は、参照していただきたい。私の記事にコメントを付けるなり、あなたのブログからトラックバックいただくことは、大歓迎である。そうしたオープンな議論こそ、いかにもWeb 2.0的である。

<参考文献>

インターネットマガジン編集部「(特集)新潮流!Web 2.0」インターネットマガジン2006年1月号、寄稿者:Tim O’Reilly、上原仁(NTTレゾナント)、佐藤匡彦(テクノラティジャパン)、小川浩(サイボウズ)、斉藤彰男(はてな)、山田祥寛
米持幸寿「基礎からわかるSOA」日経BP社、2005年

この記事を書いた人

井上 研一

株式会社ビビンコ代表取締役、ITエンジニア/経済産業省推進資格ITコーディネータ。AI・IoTに強いITコーディネータとして活動。画像認識モデルを活用したアプリや、生成AIを業務に組み込むためのサービス「Gen2Go」の開発などを行っている。近著に「使ってわかった AWSのAI」、「ワトソンで体感する人工知能」。日本全国でセミナー・研修講師としての登壇も多数。