成功開發一個J2EE(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也不少。本人就試探回答這樣一個問題,使得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真正的便攜性!