middlegen-2.0-vo評価



http://boss.bekk.no/boss/middlegen/

WebLogic81SP2
Microsoft SQLServer2000

JDKはWebLogic81SP2に付属のものを使う。

MicrosoftのJDBCドライバのページ
http://www.microsoft.com/japan/msdn/sqlserver/downloads/jdbc/default.asp


データベースをSQLクエリアナライザで作成する。
create database oops;

middlegen-2.0-vo/samples/build.xmlの先頭部分を修正。

<!DOCTYPE project [
    <!ENTITY database SYSTEM "file:./config/database/mssql.xml">
    <!ENTITY ejb      SYSTEM "file:./config/ejb/weblogic.xml">
]>

middlegen-2.0-vo/samples/config/database/mssql.xmlファイルの内容。

   <property name="database.script.file"           value="${src.dir}/sql/airline-mssql.sql"/>
   <property name="database.driver.classpath"      value="${lib.dir}/mssqlserver.jar;${lib.dir}/msutil.jar;${lib.dir}/msbase.jar"/>
   <property name="database.driver.file"           value="${lib.dir}/mssqlserver.jar"/>
   <property name="database.driver"                value="com.microsoft.jdbc.sqlserver.SQLServerDriver"/>
   <property name="database.url"                   value="jdbc:microsoft:sqlserver://localhost:1433;databaseName=oops"/>
   <property name="database.userid"                value="sa"/>
   <property name="database.password"              value="sa"/>
   <property name="database.schema"                value="dbo"/>
   <property name="database.catalog"               value="oops"/>

   <property name="jboss.datasource.mapping"       value="MS SQLSERVER"/>

ant create-tables
表が作成されたのをSQLクエリアナライザで確認する。


WebLogicの管理コンソールでコネクションプールを作成する。

WebLogic's MS SQL Server  Driver (Type 4)  Versions:7.0, 2000

    <JDBCConnectionPool DriverName="weblogic.jdbc.mssqlserver4.Driver"
        Name="oopsPool" Password="{3DES}GvRFAfrJKrA="
        Properties="user=sa;db=oops;weblogic.codeset=MS932;server=localhost"
        Targets="myserver"
        TestTableName="SQL SELECT COUNT(*) FROM sysobjects" URL="jdbc:weblogic:mssqlserver4"/>
    <JDBCTxDataSource EnableTwoPhaseCommit="true" JNDIName="oopsDS"
        Name="oopsDS" PoolName="oopsPool" Targets="myserver"/>




WebLogicのantを使うためにCygwinのシェルに環境変数を設定。
/cygdrive/C/bea/weblogic81/server/bin/setWLSEnv.sh

. setWLSEnv.sh



middlegenに付属のxdoclet1.2b3は古いのでejbgenが失敗する。

[ejbdoclet] (XDocletMain.start                   54  ) 
<<xdoclet.template.TemplateException:
 Error in template file:
 = sign expected but something different found, line=6 of template file: jar:file:C:\public\middlegen-2.0-vo\samples\lib\xdoclet-bea-module-1.2b3-dev.jar!/xdoclet/modules/bea/wls/ejb/resources/weblogic-cmp-rdbms-jar-xml.xdt>>


WebLogic8.1はxdoclet1.2でサポートされている。
http://opensource.atlassian.com/projects/xdoclet/secure/ViewIssue.jspa?key=XDT-765


http://xdoclet.sourceforge.net/
がら最新版をダウンロードする。


middlegen-2.0-vo/samples/ejbgen/lib/xdoclet-*.jar
middlegen-2.0-vo/samples/ejbgen/lib/xjavadoc-1.0.2.jar

を差し替える。


facadeのgetData()がコンパイルエラーになるので
middlegen-2.0-vo/samples/build.xmlを修正する。

         <cmp20
            destination="${build.gen-src.dir}"
            package="${name}.ejb"
            interfacepackage="${name}.interfaces"
            jndiprefix="${unique.name}"
            pkclass="false"
            dataobject="false"
            valueobject="true"
            sessionfacade="true"
            viewtype="local"
            mergedir="${basedir}/src/middlegen"
            readonly="false"
            fkcmp="true"
            guid="true"
         >

            sessionfacade="true"
を
            sessionfacade="false"
に変更。





WebLogic81のantタスクpostprocess-ejb-jarのweblogic.ejbcは失敗する。
	depends="postprocess-ejb-jar"

Compiler class: 'com.sun.tools.javac.Main', not found

	http://users.pandora.be/bert.torfs/j2ee.pdf

   <target 
      name="webdoclet" 
      depends="postprocess-ejb-jar"
   >
を
   <target 
      name="webdoclet" 
      depends="ejb-jar"
   >

に修正。






データソースのjndi名は「airline.datasource」だった。

http://localhost:7001/airline/struts/index.jsp





1) SQL文で表を定義する。
2) middlegenでejbdoclet/webdocletのソースを生成する。
3) xdocletでejbのソースコードやwebのDDを生成する。
4) コンパイルする。
5) earファイルを作る。
6) デプロイする。

End of FILE.


2004/02/26 ugya@yahoo.com