GoogleのDateSourceServletのチュートリアル

はじめに

GoogleのDateSourceServletとGoogleChartToolsを使って、DBに入っているデータを可視化したい。
今回はその全段階として、GoogleDateSourceServletのチュートリアルにトライしてみる。

Tomcatのインストールに関しては以前のエントリーを参照

以下のチュートリアル(英文)に従って作業する
https://developers.google.com/chart/interactive/docs/dev/dsl_get_started?hl=ja


JavaMySQLネクター導入

まずはJavaMySQL用ライブラリーの導入から作業する。
以下にGoogleのインストレーションが書いている(英文)
https://developers.google.com/chart/interactive/docs/dev/dsl_install
ここにJavaようのMySQLネクターが置いてある。
JDBC Driver for MySQL (Connector/J)
http://www.mysql.com/products/connector/
ダウンロードするにはユーザー登録が必要。展開したら、中に入っているmysql-connector-java-5.1.18-bin.jarをして/usr/share/tomcat6/libに入れておく。


DateSourceServletのインストール

http://code.google.com/p/google-visualization-java/
からソースをダウンロードできる。
私がダウンロードしたときはversion1.1.1だった。

さてインストール作業である。
といっても圧縮ファイルを展開してTomcatのホームディレクトリに入れていくだけ。

Tomcat_Home>にmyWebAppという名前のディレクトリをつくる。
ディレクトリ名は重要で、うっかり他の名前をつけるとServletプログラムが正常に動かない。
このmyWebAppに先程ダウンロードしたファイルを入れていく。
Googleチュートリアルでは長々と説明しているが、端的に言うと以下の様なディレクトリ構造を作り展開したvisualization-datasource-1.1.1のファイルを入れていく。

lib内にはcommons-lang-2.4.jarやcommons-logging-1.1.1.jarなど他3つの依存物を入れておく。
ここでチュートリアルには指示されていないが、いずれServletプログラムを書くときに使うのでclaseesディレクトリにAdvancedExampleServlet.javaやAdvancedExampleServlet2.java他4ファイルを入れておく。

Googleチュートリアルではvisualization-datasource-1.0.2.jarとvisualization-datasource-examples.jar で動作するようだが、私の環境では上手く動かなかったので、ソースからコンパイルした。

シェルに向かって

$ cd /usr/share/tomcat6/myWebApp/WEB-INF/clasees
$ export TOMCAT_HOME=/usr/share/tomcat5
$ export JAVA_HOME=/usr/lib/jvm/java
$ export CATALINA_HOME=/usr/share/tomcat5
$ export JPATH=/home/yasu/www/WEB-INF/lib/
$ export CLASSPATH=.
:/var/lib/tomcat6/webapps/myWebApp/WEB-INF/lib/visualization-datasource-1.1.1.jar
:/var/lib/tomcat6/webapps/myWebApp/WEB-INF/lib/commons-lang-2.4.jar
:/var/lib/tomcat6/webapps/myWebApp/WEB-INF/lib/commons-logging-1.1.1.jar
:/var/lib/tomcat6/webapps/myWebApp/WEB-INF/lib/guava-r07.jar
:/var/lib/tomcat6/webapps/myWebApp/WEB-INF/lib/icu4j-4_0_1.jar
:/var/lib/tomcat6/webapps/myWebApp/WEB-INF/lib/opencsv-1.8.jar
:/usr/share/tomcat6/lib/tomcat6-servlet-2.5-api-6.0.35.jar
$ javac SimpleExampleServlet.java

などして、パスを通した後コンパイルしてやる。


動作確認

Webブラウザをたちあげてhttp://localhost:8080/myWebApp/simpleexampleにアクセスする。
すると以下のように返答がある。getting_started.html



さらにhttp://localhost:8080/myWebApp/getting_started.htmlにアクセスしてみる。
しかし、上手く表示されない。The requested resource (myWebApp/getting_started.html) is not available.等と言われて、そんなファイルはないと怒られる。
原因はファイルのパーミッション。ls -lhなどとすると rw-rw----となっていて、その他ユザーにはReadできない状態になっている。chmod 664 getting_started.html などしてその他ユーザーでもRead可能としてやる。再びアクセスしてみると

表示される。


Using an External Data Store

さてCsvDataSourceServletに移る。
チュートリアルは以下(英文)
https://developers.google.com/chart/interactive/docs/dev/dsl_csv?hl=ja#running
チュートリアルに従って作業するがうまくいかない。
csvからデータをもらってきて表示させるのだが、円グラフのところが出ない。Servletを利用してデータを取り出すのは上手く行かないようだ色々試してみてもだめ、結局解決策はall_examples.htmlを別のエディタで開いて、それをコピペしたら動いた。もしかしたら文字コードがおかしくなっている?


以上で、Googleが用意しているチュートリアルの内容は終了だ。