作成 2004/2/1
Middlegenは、J2EEアプリケーション用のコード生成ツールです。EJBのCMRをGUI上で作成することができます(maybe)。JBuilderのEJBデザイナみたいな感じです(使ったことないけど)。
CMRを作ろうかな、と思って、DDファイルを手書きで書こうとして気がくるいそうになったので、ちょっとこれ系ツールを調べてみます。
とりあえずサンプルを動かしてみます。今回試した動作環境はこれ。
http://boss.bekk.no/boss/middlegen/から、Middlegenのバイナリをダウンロードします。以降は、このページのGetting Startedを試してみた結果。
ダウンロードしたアーカイブを展開し、適当なディレクトリに配置します。sampleディレクトリ以下がサンプルプロジェクト。sample/build.xmlがいろいろ実行するAntスクリプトです。
まず、利用するDB、アプリケーションサーバによって、設定ファイルを変えます。ここでは、JBossとHSQL DB(JBoss付属)を使うので、サンプル設定まま。
<!DOCTYPE project [ <!ENTITY database SYSTEM "file:./config/database/hsqldb.xml"> <!ENTITY ejb SYSTEM "file:./config/ejb/jboss.xml"> <!--ENTITY ejb SYSTEM "file:./config/ejb/weblogic.xml"--> <!--ENTITY ejb SYSTEM "file:./config/ejb/mvcsoft.xml"--> ]>
例えば、MySQLにするときは、databaseをmysdldb.xmlに変え、mysqldb.xmlのURLとかJDBCドライバを変えます
アプリケーションサーバ用の設定を行います。build.properties.sampleの名前をbuild.propertiesに変更し、jboss.homeの値を自分ちのJBossのディレクトリを指定します。
#Tell Middlegen where JBoss is located. jboss.home=C:/jboss-3.2.3
あと、今現在のbuild.xmlだと、weblogicの部分をコメントにしとかないとエラーになるので、そのようにします。
<!-- <weblogic/> --> ... <!-- <weblogic version="6.1" xmlencoding="ISO-8859-1" destdir="${build.ejb-meta.dir}/META-INF" validatexml="true" datasource="${datasource.jndi.name}" createtables="true" /> -->
サンプルテーブルを作ります。
C:\app\middlegen-2.0-vo\samples>ant create-tables
作ったテーブルは、hsqldbのGUIで確認できます。その他のDBの場合は、そのDBのツールで確認のこと。
C:\app\middlegen-2.0-vo\samples>ant hsqldb-gui
いよいよ、Middlegenを実行します。antでデフォルトターゲットを実行します。
C:\app\middlegen-2.0-vo\samples>ant
GUIが起動します。
Generateボタンを押しときます。
GUIを終了します。ここでわらわらジェネレート。samples/build/earに最終形のearファイルairline.earが出来きます。
airline.earをJBossにデプロイします(deployディレクトリにコピー)。
JBossを起動し、http://localhost:8080/airline/struts/にアクセスすると、サンプルJ2EEアプリケーションが遊べます。
GUIでCMRのリレーションを編集したいんですが。。。できるんでしょうか?なんか、リレーションのウィンドウが妙に小さかったり、ウィンドウサイズ変えたら動作が怪しかったりするのを見ると、大丈夫かなという気にもなります。もうちょっと調査ですな。。。
@TODO