はじめに
最近は、ネットワーク上に存在するデータがますます増えており、その形式や場所もさまざまです。こうした傾向から、ビジュアル分析、つまりネット上のデータから必要な情報を抽出して一目で分かるように提示する機能が重要になっています。開発者の多くは、このようなデータを集めて分析し、ダッシュボード、レポート、グラフのようなフォームにまとめて公開する役割も担っています。その際に威力を発揮するのが、表現力の高い画像や図表です。
こうした新たな要求に応えるために、Google Visualization APIは、開発者がビジュアル分析を行う一元的な方法と、データをビジュアル化するほとんどの状況に対応できる豊富なグラフィックコンポーネントやグラフ作成コンポーネントを提供します。このAPIは、データ交換の仕様と一連のライブラリで構成されています。これらのライブラリを利用することで、開発者は、構造化されたデータをWebアプリケーション内のグラフィックビジュアライゼーションやインタラクティブなグラフとして提示できます。本稿では、最近リリースされたこのAPIを取り上げ、その基本概念から高度な部分までを解説します。具体的には、簡単なビジュアライゼーションコンポーネントをWebページに埋め込む方法、そうしたコンポーネントに外部ソースからデータを与える方法、さらに、独自のデータソースを実装し、それをVisualization Galleryで現在公開されている何十種類ものビジュアライゼーションの仲間入りをさせる方法を紹介します。
ビジュアライゼーションとは
Google Visualization APIを用いて作成されるビジュアライゼーションは、通常、Webページ内のJavaScriptコンポーネントやFlashコンポーネントです。こうしたコンポーネントには、静的な画像やグラフからインタラクティブな予定表、地図、モーショングラフに至るまで、さまざまなものがあります。各コンポーネントは、Google Visualization APIで定められたインターフェースに従い、入力として受け取った構造化データをグラフィカルな表現に変換する処理を行います。また、イベントとコールバックを利用した単純な仕組みにより、Webページの他の部分(同一ページ上の他のビジュアライゼーションなど)とのやりとりも可能です。新しいビジュアライゼーションは、ちょっとしたJavaScriptで作成することができ、他のユーザーのために公開ギャラリーに登録することもできます。
表示するデータは、Google Visualization APIに用意されたJavaScript関数を使ってクライアント側でローカルに収集するか、Ajaxコールによってリモートサーバから取得します。このAPIは、こうした呼び出しの構造だけでなく、想定される要求や応答にも対応しています。そのため、SQLデータベース、スプレッドシート、独自仕様のストレージ形式など、サーバ側のどんなデータソースでも、クライアント側のビジュアライゼーションで直ちに利用可能な形式へと簡単に仕立てることができます。
Google Visualization APIのデータ交換形式のオープン性は、サーバ側とクライアント側の双方に好都合です。このAPIによって公開されるサーバ側のデータソースは、何十種類もある既存のビジュアライゼーションのどれを使ってもそのまま表示することができます。クライアント側では、新しいビジュアライゼーションを作成する際に多数のソース間の互換性を気にせずに済みます。たった1つの形式に配慮するだけで、このAPIに準拠するすべてのプロバイダからデータを読み取れるのです。事実上、Webに接続しているどんなデータソースのデータでも表示できます。Google Visualization APIは、こうしたデータの生成から利用までのサイクル全体をカバーしています。