Project Zeroとは?
ここ数年で、Webアプリケーション開発の分野は大きく様変わりしました。Web2.0というキーワードで代表されるような、高機能で使い勝手のよいWebアプリケーションが当たり前のように求められるようになり、AjaxやREST、マッシュアップをいかに使いこなすかということが重要になってきています。また、従来に比べ開発期間が短縮される傾向にあることも、最近のWebアプリケーション開発の特徴ではないでしょうか。
Project Zeroは、このような新しい流れに対応すべく開発された、IBM発の次世代Webアプリケーションプラットフォームです。Project Zeroの特徴としては以下が挙げられます。
- シンプルで軽量:
Project ZeroはJava SEのみで動作するため、一般的なJava EEコンテナよりもはるかに少ないフットプリントで動作します。また、プラットフォーム全体が徹底的にモジュール化されており、コアモジュールはわずか数MBしかありません。
- アジャイルな開発スタイル:
Project Zeroのランタイム上で動作するアプリケーションはPHPおよびGroovyというスクリプト言語で開発することができます。コンパイルやパッケージングが必要ないため、アプリケーションの開発サイクルを早く回すことが可能です。
- Web2.0との親和性:
Project Zeroにおけるサービスの標準はRESTであり、サービスの実装方法は非常にシンプルです。データの扱いにおいても、JSONやXML、Feed(RSS,Atom)といったWeb 2.0アプリケーションでよく利用される形式に標準で対応しています。また、Dojo Toolkitに対応しており、Ajaxアプリケーションの開発が容易に行えます。
- マッシュアップ:
Project ZeroはAssemble Flow Editorというビジュアルなサーバーサイドマッシュアップツールを提供しており、Webブラウザー上で見通し良くマッシュアップ開発を行うことができます。
- ワンストップ:
Project Zeroはランタイムのみならず、開発ツールもセットで提供しています。開発ツールはEclipseプラグインの他に、Webブラウザーのみで開発が可能なApplication Builderを提供しており、どちらも無償で利用することができます。
- Java資産の有効活用:
Project Zero自体はJavaで構築されており、既存のJavaライブラリをProject Zero上でそのまま利用することができます。
Project Zeroは2006年にIBM社内のインキュベーションプロジェクトとして開発がスタートし、2007年6月にプロジェクトのWebサイトが公開されました。その後、Project Zeroの成果に基づいて2008年6月に製品版であるWebSphere sMash V1.0が日本でリリースされています。WebSphere sMash V1.0のリリース後もProject Zeroの最新版の開発は進められており、Webサイトで常に最新版が公開されるようになっています。Project ZeroはRed Hat Linuxに対するFedora Coreのようなものと考えていただければ分りやすいかもしれません。また、WebSphere sMashの開発者向けエディションであるDeveloper Edition(DE)については、製品版のバイナリと全く同じものをWebサイトからダウンロードして無償で利用することができます。
Project Zeroのもう一つの特徴が、オープンな開発スタイルです。Project Zeroは商用ソフトウェアを開発するための新しい試みとして、CDCD(Community Driven Commercial Development)という方法を採用しています。この意図は、OSSと商用ソフトウェアの良いところを組み合わせることにあり、OSSの特徴であるコミュニティからのフィードバックと、商用ソフトウェアの特徴である品質面の担保の両立を目指しています。プロジェクトのWebサイトでは、バイナリだけでなくソースコードリポジトリやロードマップ、開発者フォーラム、BugZillaなど、ほぼ全ての情報が公開されています。さすがにソースコードのコミット権はIBMの開発者にしか与えられていませんが、商用ソフトウェアとしては考えられないほどオープンであることがお分かり頂けるのではないでしょうか。
Project Zero(WebSphere sMash)のインストール
それでは、早速Project Zeroを使ってみましょう。ただし、Project Zeroのlatest buildは頻繁に更新されていますので、本記事ではより安定したバージョンである無償の開発版(WebSphere sMash DE)を利用することにします。
Project Zeroを利用するためには、JDK 5.0以上が必要です。事前にJDK 5.0以上をインストールし、環境変数JAVA_HOMEを適切に設定しておいてください。また、開発環境としてはWindows/Linux/Mac OSが利用できます。本記事ではWindows XP(SP2)およびJDK 6.0で動作確認を行っています。
まず、Project ZeroのWebサイトにアクセスし、右上のメニューから[Download]をクリックします。
ダウンロードページが表示されます。本記事執筆時点での最新バージョンは、2008年12月にリリースされたv1.1です。
「zero.zip」へのリンクをクリックします。
License Agreementの内容を確認し、問題がなければ[Accept]をクリックします。
[Download WebSphere sMash 1.1 CLI]のリンクをクリックし、zipファイルを保存します。
保存したzipファイルに含まれる「zero」ディレクトリ以下すべてを、適当なディレクトリに展開します。本記事ではこれ以降、展開先のディレクトリを<ZERO_HOME>と表記します(例えば、c:\smashDE11にファイルを展開した場合、<ZERO_HOME>はc:\smashDE11\zeroとなります)。
zero.bat(Linux/MacOSの場合はzero)が起動用コマンドになっていますので、<ZERO_HOME>にパスを通しておいてください。
以上でインストールは終了です。環境設定が正しく行われているか確認するために、コマンドプロンプト(シェル)を開き、「zero version」を実行してみてください。
sMashのバージョンやJDKのバージョンが表示されれば、環境設定は正しく行われています。もしうまく動作しない場合は、JAVA_HOMEやPATHなどの設定を確認してください。
実は、インストール直後の状態では「zero version」を実行するためのモジュール(zero.cli.tasks)すら含まれていませんが、必要なモジュールはリモート・リポジトリーから自動的にダウンロードされるので特に気にする必要はありません。また、ダウンロードしたモジュールはローカルにキャッシュされるので、2回目以降はリモート・リポジトリーへのアクセスは発生しません。
インターネットにプロキシーサーバー経由で接続されている場合は、zero.batを修正してプロキシー設定を追加してください。