SOAフレームワークBeehiveに挑戦(1) 4/4

Beehiveでメタデータ(JSR 175/181)を体験しよう

www.netpotlet.com
原田洋子
2005/1/21

Apache Beehiveを動かしてみよう

 Apache Beehiveで何ができるのかが分かってきたのではないかと思いますので、今度はサンプルを動かしてみましょう。Beehiveには各サブプロジェクトのサンプルが付属していますが、3つのプロジェクトに跨るサンプルpetstoreWebを試してみます。

 Apache BeehiveはJDK 1.5のメタデータを使いますからJDKは1.5以降のバージョンが必要です。また、Beehive用のAntタスクを動かすために、新しいバージョンのAntも必要です。さらにページフローにもWebサービスにもサーブレットを動かす環境が必要ですからTomcatも用意しなければなりません。ただし、JAX-RPCの実装であるAxisはBeehiveのアーカイブに含まれているので、別途用意する必要はありません。ここでは次のバージョンで試しました。

  • JDK 1.5.0_01
  • Ant 1.6.2
  • Tomcat 5.5.4

ダウンロード

 以前はリポジトリからSubversionを使ってコードを取得してビルドしないと動きませんでしたが、v1.0-alphaはビルド済みバイナリでも動くようになりました。アーカイブは

からapache-beehive-incubating-1.0-alpha-snapshot.zip ※注1 を取得します。

※注1
tar.gz形式のアーカイブもありますが、筆者が試したところ、こちらは動きませんでした。いずれ、正しく動作するアーカイブが置かれるはずですが、当面はzip形式を取得するといいでしょう。

環境変数設定

 アーカイブを展開するとトップディレクトリにbeehiveUser.cmd、beehiveUser.shがあります。このファイルでは

  • JAVA_HOME:JDK 1.5をインストールしたトップディレクトリ
  • BEEHIVE_HOME:Apache Beehiveのアーカイブを展開したトップディレクトリ
  • ANT_HOME:Antアーカイブを展開したトップディレクトリ
  • CATALINA_HOME:Tomcatアーカイブを展開したトップディレクトリ

の環境変数をセットしています。ファイルを修正して適当なパス名に変更し実行しておくなど、正しく参照できることを確認しておきます。

Tomcat起動

 Antのビルドファイルを使ってデプロイまで実行するので、あらかじめTomcatを起動しておきます。起動するには従来どおり、Tomcatのstartup.batやstartup.shを使うか、Beehiveのビルドファイルを使って、

ant -f %BEEHIVE_HOME%\ant\buildWebapp.xml start

のように実行します。

petstoreWebのデプロイ

ant -f %BEEHIVE_HOME%\ant\buildWebapp.xml
deploy
-Dwebapp.dir=%BEEHIVE_HOME%\samples\petstoreWeb
-Dcontext.path=petstoreWeb

は表示の都合で改行していることを表します

のように実行すると%CATALINA_HOME%\webappsディレクトリにpetstoreWebディレクトリが作られ一式が置かれます。

petstoreWebの実行

 ブラウザから次のURLをリクエストすると図1の初期画面が表示されます。

http://localhost:8080/petstoreWeb/Controller.jpf

図1 petstoreWebの初期画面(クリックで拡大します)

petstoreWebのストーリー

 petstoreWebの画面が表示されたので、買い物のストーリーを追いかけると次のようになっていました。また、買い物の前にサインインしておくと、ショッピングカートの画面で好みのペットを選べるメニューも表示されるようになっています。

初期画面(図1
 
   
Enter the Storeのリンク先へ
   
店の画面(図2
 
   

Fish選択 → FI-FW-01(Koi)のリンク先へ → ADD TO CARTボタン(Spotted Koi)
   
鯉購入画面(図3
 
   




Quantityを2に → UPDATE CARTボタン →
Dogs選択→K9-RT-01(Golden Retriever)のリンク先へ → ADD TO CARTボタン
Birds選択→AV-CB-01(Amazon Parrot)のリンク先へ → ADD TO CARTボタン
   
ショッピングカートの画面(図4
 
   
Proceed to Checkout ボタン → Continue ボタン
   
サインイン画面(図5
 
   
Submitボタン
   
クレジットカード情報入力画面(図6
 
   
入力 → Submitボタン
   
確認画面(図7
 


図2 店の画面(クリックで拡大します)
中央の画像が壊れたマークになっているのは、Beehiveのアーカイブに該当するGIFファイルがないためです

図3 鯉購入画面(クリックで拡大します)

図4 ショッピングカートの画面(クリックで拡大します)

図5 サインイン画面(クリックで拡大します)

図6 クレジットカード情報入力画面(クリックで拡大します)

図7 確認画面(クリックで拡大します)

まとめ

 今回はApache Beehiveの概要を説明し、付属のサンプルを動かしてみました。Beehiveはまだα版がリリースされたばかりでうまく動かないなどの不具合があるかもしれません。しかし、オープンソースソフトウェアは不完全でもいいから早く出し、利用者のフィードバックや意見を取り入れて発展させ、バグフィックスやリファクタリングを繰り返して完成度の高い製品に仕上げるのが一般的です。ぜひ使ってみて、メタデータ(注釈)を利用するとこんなふうに開発できるということを体験してください。

 バグを発見したり、何か要望がある場合はJiraで報告するといいでしょう。

 次回はプログラミングとEclipseのBeehive開発環境であるPollinateを紹介する予定です。(次回に続く)

4/4

 Index
SOAフレームワークBeehiveに挑戦(1)
Beehiveでメタデータ(JSR 175/181)を
体験しよう
  Page 1
・Apache Beehiveの生い立ち
・Apache BeehiveはSOAなのか
・SOAが目指してきたもの
  Page 2
・Apache Beehiveに適用されている仕様
  Page 3
・3つのサブプロジェクト
Page 4
・Apache Beehiveを動かしてみよう
・まとめ


「SOAフレームワークBeehiveに挑戦」


XML & SOA フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

HTML5+UX 記事ランキング

本日月間