「早い、安い」だけでは良いシステムはできない
オープンソースの浸透、チープ革命を経て、非常に安く素早くシステムが作れるようになっています。特にWebシステムの場合、「Ruby on Rails」等で1から手軽にフル・システムが作れる環境が整ってきたのはもちろん、WebAPIにより「つながる」仕組みも極めて早く、安く、使えるようになっています。
では、これらの最新のITのインフラ、道具立て、部品を知ってさえいれば、良いシステムが簡単に作れ、ビジネスを発展させることができるのでしょうか? 答えは「No」です。顧客やユーザの困りごとを解決できるような、意味のある動作を、汎用的な仕組みの上で実現しなければなりません。
その鍵となるのがデータの連携であり、そのためには、データの構造や意味を定義するメタデータの活用が重要です。
Web 2.0的なアプリケーションを象徴する「マッシュアップ」を考えてみましょう。これは2005年夏に登場したGoogle Mapsで有名になりました。国内では、はてなマップがいち早くこの概念を採用しました。Google MapsのWebAPIは公開以来、今だに群を抜いて多くの様々なマッシュアップに利用されています(例えばこちらのTop APIs for Mashuupsをご覧下さい)。人気の理由はその圧倒的なデータ量にもありますが、別のデータ源からの情報をプロットするのが非常に簡単というのが重要なポイントです。
このAPIでは、マッシュアップの際に地図データと別の情報とを結びつけるのは「緯度」と「経度」という古典的なメタデータです。ここで1つシンプルな利用方法を見てみましょう。地図の中央を「北緯37.4419度」、「東経122.1419度」に設定してGoogleMapsを呼び出してみます。それには、例えばHTMLファイルに、javascriptで以下のように記述します。
var map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(37.4419, -122.1419), 13);
実際のソースでは通常、ブラウザの互換性チェックなど多少の追記が必要ですが、本質的な部分はたったこれだけです。GLatLng
が、緯度(Latitude)と経度(Longitude)を受け付けています。
こうして呼び出したGoogleMapsの上には、緯度と経度というメタデータを架け橋として、その場所に対するさまざまなデータを重ね合わせて表示していくことができます。これがメタデータ活用によって、情報を豊かに膨らませ、表現していく「マッシュアップ」の代表的なイメージです。