便携的J2EE应用
作者:罗时飞
(E_mail: j2eebeans@yahoo.com.cn)
(版权个人所有,引用指明出处,不要用于商业目的,写于2003年09月29日,顺祝大家国庆节愉快)
关键词:J2EE JBoss 便携
成功开发一个J2EE应用后,如果需要发布到J2EE应用服务器,在一般情况下,我们需要这样做:第一,安装JDK(有些时候不需要单独安装,比如WebSphere、WebLogic;但有些时候需要安装,比如JBoss);第二,安装应用服务器(比如,WebSphere、WebLogic);第三,安装DBMS系统(比如,DB2、Oracle、SQL Server);第四,配置与待发布的J2EE应用相关的DBMS内容(比如,SQL脚本的安装、数据库初始化);第五,通过应用服务器提供的部署工具(其中,包括应用集成工具、基于Web的部署、命令行方式)手工完成J2EE应用的发布。
大家是否看到,要让我们看到J2EE应用能够运行起来步骤很多,而且很烦琐。如果是用于实际应用,那么这些步骤是不可避免的,比如产品需要上线;但如果只是公司的产品宣传、为市场人员提供产品(本文的产品特指,J2EE应用)的功能、业务流程实现,且具有可操作性,采用这样一种方式是否显得有些多余。既然多余,难道是否有其他的好办法来简化这几个过程?
当然,最终的J2EE应用Deploy到具体的应用服务器类型的种类在很大程度上借助于开发工具能够实现。比如,JBuilder能够实现业界主流的J2EE应用服务器集成(JBuilder本身的Bug还是蛮多的);WebSphere Studio所支持的J2EE应用服务器有限,但借助于Eclipse同样能够实现这种便携性(IBM开发工具的易用性往往受到很多开发者的抨击,但有一点WebSphere Studio是一款不错的产品);其他的工具,比如支持Eclipse的JBossIDE(作者将有这方面的文章具体介绍JBossIDE),也不少。
本人就试探回答这样一个问题,使得J2EE应用具有真正的便携性。
一, 实现思路
JBoss,作为一款J2EE应用服务器,其在业界的口碑相当不错。其本身基本不需要怎么安装(纯绿色软件)。同时,其内置了一个纯Java的DBMS,即Hsqldb数据库系统。所以,大家细想,如果采用Hsqldb作为J2EE应用的DBMS、JBoss作为应用服务器,我们将简化很多J2EE应用的实现步骤。但是有一点希望大家不要忽视,即JDK是否还需要单独安装。答案是,不需要,我们可以把JDK集成到JBoss里面。
本人参与的某项目,采用基于Struts的架构,主要的架构方法为主流的,“表示层+业务代理+Session Facade(封装了Entity Beans和部分操作数据库)”,方法。开发工具采用WebSphere Studio Application Developer 5.1,成功开发后能够直接支持WebSphere Application Server;经过简单的移植工作,也实现了基于JBoss的运行方式。另外,由于这两套产品可以几乎同时完成,从市场、产品策略角度考虑,我们可以加快产品的开发周期、上市时间,提高生产率,为赢得市场奠定良好的基础。
好了,具体的步骤让我慢慢讲来。
二, JDK的集成
可能大家在这个过程,往往都会在目标机器上单独安装JDK,并配置好环境变量(比如,classpath、path、JAVA_HOME)。
其实,JBoss本身简化了这种方式,即获取JDK。考虑到J2EE 1.3应用的规范性,笔者采用了JDK 1.3.1_09(比如,WebSphere Application 5.0不支持JDK 1.4)。所以,我们可以将安装完后的JDK 1.3.1_09拷贝一份到JBoss目录下(笔者采用的是JBoss 3.2.1 with Tomcat 4.1.24)。如果JBoss安装在,C:\jboss-3.2.1_tomcat-4.1.24\,那么JDK 1.3.1_09将位于C:\jboss-3.2.1_tomcat-4.1.24\jdk1.3.1_09。
其次,打开C:\jboss-3.2.1_tomcat-4.1.24\bin\run.bat文件,并加入如下一句设置JAVA_HOME的语句(注意,一定要加在[if not "%JAVA_HOME%" == "" goto ADD_TOOLS]之前)。
:FOUND_RUN_JAR
set JAVA_HOME=..\jdk1.3.1_09
if not "%JAVA_HOME%" == "" goto ADD_TOOLS
set JAVA=java
好了,经过集成JDK的JBoss现在可以在没有单独安装JDK的机器上很完美的运行。
三, Hsqldb的相关配置
Hsqldb(http://hsqldb.sourceforge.net )的默认配置其实JBoss已经完成了。细心的读者,会发现位于C:\jboss-3.2.1_tomcat-4.1.24\server\default\deploy下有一个hsqldb-ds.xml文件。打开后,可以发现其提供了JDBC相关内容。因此,为生成J2EE应用所需的数据库和初始化数据自然可以通过JDBC Client工具(比如,Borland Database Pilot)完成。
该DBMS的具体内容,可以参考上文给出的URL。
四, J2EE应用的部署
完成上述配置后,我们可以将自己开发完成的J2EE应用部署到JBoss。
五, 结论
通过上述过程,我们将所有J2EE应用所需要的内容(包括JDK、DBMS、J2EE Application Server、J2EE应用),都集成起来。基于此,我们可以借助于安装制作软件(比如,InstallAnywhere、InstallShield)以产品的形式实现J2EE真正的便携性!
由于作者才识有限,不对之处还望批评指正!也欢迎给作者来信,切磋!
谢谢,您的阅读。