Middlegen メモ

作成 2004/2/1

Middlegenって?

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の実行

いよいよ、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


TOP