「JBossでWeb+DB開発してみませんか?―楽しいJava・オープンソース」という本があります。
在庫管理のアプリケーションがまるまる載っていたりして、JBoss を使って業務システムを作ろう、という目的にはとても実践的な本になっています。
今回はこの本を勉強するのに、せっかくだから以下のようにその在庫管理アプリケーションのセットアップをしてみました。
とりあえず大まかに動いた (最初の画面とメニュー、だいたいの処理) のでここに載せました。
問題があるものはまだいろいろあるのですが、そうしたものはおいおい見ていきたいと思っています。
本の最後にどこからダウンロードして、どういうディレクトリ構造でどういう名前に展開するかが載っています。
必要になるいろいろな Java オープンソースソフトウェアがあります。
今回の例では、ant は 1.6.5、xDoclet は 1.2.3、commons-net は 1.4.0、iText
は 1.3 を使用しています。
それぞれ本に載っているものより新しいリリースのものを使用しています。
ant の lib ディレクトリに commons-net の JAR ファイルをおきます。

iTextAsian.jar は以下のディレクトリからダウンロードしました。
http://jaist.dl.sourceforge.net/sourceforge/itext/iTextAsian.jar
iText の JAR とともに、こちらは JBoss の default サーバー構成の lib ディレクトリにおきます。

JAR ファイルの名前が変更されている (servlet/jsp/iText あと必要かどうかわかりませんが iTextAsian) ので、ant の build 用の build.xml でクラスパスをセットしている部分を変更します。
D:\oisystem\oisystemzs

ant でのビルドに使用する build.properties も JBoss のバージョンと、今回は DB2/400 へデータベースを変更しますので、それぞれの該当部分を変更しておきます。
DB2-400 という名前は default/deploy ディレクトリにこちらと同じように設定したものです。
D:\oisystem\oisystemzs

WAR ファイルを作成するときに使用する設定ファイルも変更します。
WAR ファイルの要でもある web.xml ファイルです。
D:\oisystem\oisystemzs\war\WEB-INF

データソースを DB2-400 という名前で参照するようにします。

web.xml でリソース参照名としてセットされている DB2-400 を JBoss サーバー上の JNDI 名 (java:/DB2-400) にマップするための JBoss 固有の設定ファイル (jboss-web.xml) への変更です。
D:\oisystem\oisystemzs\war\WEB-INF

D:\oisystem\oisystemzs から build all と実行します。

結果として以下の 2つのファイルができます。
BUILD SUCCESSFUL なら OK です。

できた 2つのファイルを JBoss の deploy ディレクトリにコピーします。

JBoss 3.2 の時と 4.0 で、デフォルトでの挙動が変更されている部分がいくつかあります。
このサンプルアプリケーションは、その変更が問題が起こしてしまっているようですので、それを変更します。
具体的には、以下の二つの属性を False から True に変更します。
D:\oisystem\jboss\server\default\deploy\jbossweb-tomcat55.sar\META-INF


以下のリンクに詳しい説明があります。
http://jira.jboss.com/jira/browse/JBAS-1691
この変更を行わないと、http://localhost:8080/zs/ にアクセスした時に以下のところで ClassCastException が出てしまいます。


D:\oisystem\jboss\server\default\deploy に db2-400-ds.xml をおいて、こちらと同じように設定します。
D:\oisystem\jboss\server\default\lib に JTOpen のサイトからダウンロードした jt400.jar を置きます。
JBoss を起動すると、以下のようにサンプルアプリケーションをデプロイしている様子がわかります。

エラーなしに "Started" のメッセージが出てくれば OK です。

DB2/400 側に、以下のように EJB に対応したテーブルが作成されます。

iSeries ナビゲーターの "SQL スクリプトの実行" 機能を使って、データをセットアップします。
サンプルアプリケーションに sql.txt というファイルがあり、それがそのまま使用できます。
先頭に set schema を入れて、そのまま実行可能です。

/zs という URI にアクセスすれば以下のような画面が表示されます。

だいたいのメニューは動きますが、いくつか問題のあるものもあります。
それはまあ追って見ていきたいと思っています。

|
|