本年(2006年) 5月に、J2EEの新バージョンであるJava EE 5が正式リリースされました。
ご承知のようにJava EE 5では、Enterprise JavaBeans 3.0 (EJB 3.0)や、JSFなど、数年前から注目を浴びてきた新技術が取り入れられています。
Java EE (J2EE)には、"Java Blueprints Project"という、Java EEの諸技術を使ったサンプルアプリケーションを作成するプロジェクトがあります。サンプルアプリケーションという言葉から想像できるものより遥かに本格的なシステムが作成されており、Java EEアプリケーションのガイドラインの役割も担っています。
ここでは、Blueprints Projectのうち、"Java Pet Store 2.0 Reference Application, Early Access"をご紹介しましょう。
Java Pet Storeは、その名の通りインターネット上のペット屋さんアプリケーションです。その歴史は意外と古く、筆者が確認できる範囲では2000年には既にリリースされています(当時はJ2EE 1.2でした)。
図2.1[Java Pet Store の起動画面]がJava Pet Storeの起動画面です。
Java Pet Storeでは、Webアプリケーションの部分にJSFを使っています。また、ペットのデータはリレーショナルデータベースで管理されており、O/R Mappingの部分にJava Persistence API (EJB 3.0)を使っています。
つまり、Java Pet Storeは、JSFとEJB 3.0を組み合わせたアプリケーションになっているのです。Java Pet Storeはソースコードも公開されているので、Java EE 5の学習にも適したアプリケーションになっています。
Java Pet Storeでは、AJAXを多用しています。具体的な機能についてご紹介しましょう。
Java Pet Storeは、Blueprints ProjectのRSSを受信して表示する機能を持っています。
当然のことながら、ペットを検索する機能を持っています。
ペットの詳細データを表示する機能はなかなか高機能です。テキスト部分が透明化されており、また移動可能になっています。
Java Pet Storeでは、ユーザが自分のペットを売りに出したりすることができます。図2.5[Google Maps との連携]は、ペットの一覧とGoogle Mapsでの所在地情報を連携させて表示しています。
では、Java Pet Storeを動かしてみましょう。
Java Pet Storeを動かすには、Java EE 5が動くアプリケーションサーバが必要になります。
今回は、オープンソースのJava EEアプリケーションサーバである、GlassFishを使ってみましょう。GlassFishでは、Java EE 5の仕様を実装しています。
まず、GlassFishをダウンロードします。2006年7月現在では、"Build 48"をダウンロードします。
ダウンロードしたら、次のコマンドを実行します。
java -Xmx256m -jar <ダウンロードしたJarファイル>
glassfishディレクトリに移動して、Antを実行します。AntはGlassFishをインストールしたディレクトリにもインストールされています(<GlassFishをインストールしたディレクトリ>/lib/ant)。
cd glassfish ant -f setup.xml
これでインストールは完了です。次にアプリケーションサーバを起動します。
<GlassFishをインストールしたディレクトリ>/bin/asadmin start-domain domain1
Webブラウザを使って、次のURLにアクセスします。図2.6[GlassFishが起動した]が表示されれば成功です。
http://localhost:8080/
アプリケーションサーバを終了するには、次のコマンドを実行します。
<GlassFishをインストールしたディレクトリ>/bin/asadmin stop-domain
まず、Pet Storeのプログラムをダウンロードします。ダウンロードしたら、Jarファイルをダブルクリックするか、あるいは次のコマンドを実行します。
java -jar javapetstore-2.0-ea1-installer.jar
次に、<Pet Storeをインストールしたディレクトリ>/bp-project/build.propertiesファイルに次の項目を記述します(この項目は、Pet Store付属のドキュメントを日本語訳して整理したものです)。
プロパティ名 | 解説 | 記述例 |
---|---|---|
javaee.home | アプリケーションサーバ(GlassFish)をインストールしたディレクトリ | c:/Sun/AppServer |
javaee.server.name | アプリケーションサーバ(GlassFish)をインストールしたサーバ名 | localhost |
javaee.server.port | アプリケーションサーバ(GlassFish)にアクセスするためのポート番号 | 8080 |
javaee.server.username | アプリケーションサーバ(GlassFish)の管理者のユーザ名(デフォルトはadmin) | admin |
javaee.server.passwordfile | 管理者のユーザのパスワードを記述したファイル名。例えばglassfishディレクトリにpassfileというファイルを作成して、 AS_ADMIN_PASSWORD=adminadmin と記述する。 |
<GlassFishをインストールしたディレクトリ>/passfile |
javaee.adminserver.port | アプリケーションサーバ(GlassFish)の管理用ツールのためのポート番号 | 4848 |
次に、アプリケーションサーバとデータベースサーバを起動します。
<GlassFishをインストールしたディレクトリ>/bin/asadmin start-domain <GlassFishをインストールしたディレクトリ>/bin/asadmin start-database
最後に、Antを実行します。
cd <Pet Storeをインストールしたディレクトリ> ant setup ant run
図2.7[Java Pet Store が動いた]が表示されれば成功です。ここから、Pet Shopのアプリケーションを利用することができます。