JavaScriptアプリケーションサーバ - Persevereとは

Persevereプロジェクトは11月13日(米国時間)、Persevereの最新版であるPersevere 1.0をリリースした。PersevereはJSONストレージ・JavaScriptアプリケーションサーバのひとつ。Dojo Toolkitライブラリで著名なThe Dojo Foundationが管理するプロジェクトで、The BSD License・The Academic Free License 2.1のデュアルライセンスのもとで公開されている。

おもな機能は次のとおり(Persevere: The JSON database and JavaScript application serverより一部を抜粋・要約)。

Persevereの概要 - Technical Overview(Persevere)より引用

デベロッパはPersevereを使うことで、分散コンピューティングやリッチなサーバサイドアプリケーションの開発が容易となる。Persevereについては「活発化するJavaScriptデータベース - 高パフォーマンスのJavaScriptDBが人気」に詳しくまとめられているので、併せて参照されたい。

Persevereの機能は非常に多岐にわたる。本稿ではPersevereを動作させてみるところから、チュートリアルに沿って簡単なアプリケーションの作成, Explorer経由でのクラス作成, REST経由でのデータ操作までをピックアップして紹介しよう。

Hello, Persevere! - まずはテストで動作させてみるところまで

ここでの動作環境は次のとおり。

  • OS: Mac OS X 10.6.2
  • Webブラウザ: Safari 4.0.4, Firefox 3.5.5
  • Java: java version "1.6.0_15"

配布先であるGoogle Code上の同プロジェクトページより、最新版のPersevereをダウンロードする。ここではpersevere1.0.tar.gzをダウンロードした。同ファイル解凍後、成果物にふくまれるstart.jarを実行し、Webブラウザでhttp://localhost:8080/にアクセスする。

プロンプト - ダウンロードしたtar.gzファイルを解凍し、start.jarを実行するまで

% tar zxvf persevere1.0.tar.gz
% cd persevere
% java -jar start.jar

Safariでhttp://localhost:8080/にアクセス。Persevereのgetting startedページが表示された

Safariでhttp://localhost:8080/にアクセスし、無事Persevereが動作していることが確認できた。Persevereにはいくつかサンプルが同梱されているので、さっそく試してみよう。example applicationsリンクをたどり、一番上のCustomer exampleを選択する。

用意されているサンプルは「Customer example」「Cross-site customer example」「Trails example」「Friends example」「Web Query Example」の5種。今回は一番上の「Customer example」を選択した

サンプル「Customer example」。DojoのDataGridをPersevere上で動作させている

Customer example(DataGrid with Persevere live updates)ではlive updatesの名のとおり、あるユーザがグリッドのデータを更新すると、他ユーザが閲覧中のグリッドでも自動的に更新がかかるようになっている。実際にSafariとFirefoxを並べてデータ操作をおこなってみた。

画面左にSafariを、右にFirefoxでCustomer exampleを表示している。Safariでグリッドにデータを追加し、Saveボタンをクリックすると右のFirefoxでは自動でグリッド内のデータが更新されたことがわかる。編集や削除も同様だ。

このようにJavaScriptの実装のみでリッチな機能が実現できるのは魅力的だ。次項ではチュートリアルにしたがって、実際にPersevere上で動作するアプリケーションを作成してみよう。