上記の説明にAJAXは出てくるのにJavaScriptが出てこないのはなぜだろうかと思った人のために、ZKのWebサイトにある次の言葉を引用しておこう。「AJAXの最良の使い方はその存在を見せないことだと我々は考える」。この言葉からプロジェクトの理念がわかると思う。より具体的には、すべてのクライアントサイド・コードをZKの枠組みの中に置き、開発したすべてのコードをサーバーサイドで実行するのだ。こうすれば、AJAXやXMLの解釈について心配する必要はまったくない。
ZKには標準のサーバー・インストール用バイナリー・ダウンロード・ファイルとしてStandard Edition、Professional Edition、Enterprise Editionの3種が用意されている。上位と下位のEditionは上位が下位の全機能を包含する関係にある。たとえば、Professional EditionはStandard Editionが備えるすべての機能を持ち、さらにCAPTCHAやJFreeChartなどの機能も備えている。また、モバイル・クライアント用に、Mobile Interactive Languageを用いたものと、GoogleのAndroidとHandset Interactive Languageを対象とした特別版が用意されている。
この記事を書くに当たって用いたマシンは32ビットFedora 9、ZKはEnterprise Editionバージョン3.0.6。大きさはtar.gzで21MBほどだ。ZKを使うには、ほかにWebサーバー上にApache Tomcatなどのサーブレット・コンテナーがインストールされている必要がある。サーバーにZKをインストールする方法には、Webアプリケーションの一部としてインストールする方法と、サーブレット環境にあるすべてのWebアプリケーションから利用可能な共有コンポーネントとしてインストールする方法がある。前者の場合、ZKはWebアプリケーションの中に埋め込まれるため、サイトの移動が容易という利点がある。また、同じサーバー上の複数のサイトでZKを使いたい場合は、後者の方法にすれば管理の手間を省くことができる。
Tomcatについては、Fedora 9とopenSUSE 11用のtomcat6パッケージと、Debian系ディストリビューション用のtomcat5.5パッケージが用意されている。以下に、すべてのWebアプリケーションで使えるようにZKを共有コンポーネントとしてインストールする手順を示す。
# yum install tomcat6 tomcat6-webapp
# service tomcat6 stop
# cd /tmp
# tar xzf /.../zk-bin-3.0.6.tar.gz
# cd zk-bin-3.0.6/
# vi /etc/tomcat6/catalina.properties
...
shared.loader=/usr/share/java/tomcat6/shared/lib/*.jar
...
# mkdir -p /usr/share/java/tomcat6/shared/lib
# cd ./dist/lib
# find . -name "*.jar" -exec \
install -m 644 {} /usr/share/java/tomcat6/shared/lib/ \;
# service tomcat6 start
TomcatとZKが正常に機能することを確認するため、zipファイルzk-demoをダウンロードする。そして、以下に示すように、そこに含まれている最小版のWebアプリケーション・アーカイブ(WAR)ファイルをTomcatのwebappsディレクトリーに置く。この最小版warファイルにはZKが含まれていないため、ZKがTomcatサーバー上に正しく共有インストールされていないとデモは動かない。次のコマンドを実行し、http://localhost:8080/zkdemo-min/userguide/というURLを開いてみよう。ZKのデモがサーバーからロードされ表示されれば、インストールは完了だ。
# cd /tmp # unzip /.../zk-demo-3.0.6.zip # cd ./zk-demo-3.0.6/ # install -m 644 zkdemo-min.war /var/lib/tomcat6/webapps # service tomcat6 restart
