EJB常見的開發模式 本文的應用服務器以WebLogic為例,其他的服務器過程差不多。
在基於J2EE平台中,EJB的開發屬於重中之重。本文試著從幾方面,講述了常用的開發模式和方法。無論是給初學者,還是有經驗的朋友都有一定的參考價值。大家知道,EJB對於初學者來說是一個很頭疼的問題,無論是開發還是發布、測試,尤其是Entity Beans更為頭疼,所以本文介紹幾種用於設計、開發、測試的方法,以供參考。
WebLogic平台,作為業界優秀的產品,其本身提供了很多優秀的工具來開發、發布J2EE應用程序。除此之外,和其他集成開發環境,比如JBuilder、VisualCafe以及支持軟件開發整個過程的Together ControlCenter。有了業界這樣一種方式的支持,使得WebLogic平台的應用更為廣泛。
第一種方式:
用一般的軟件開發EJB,比如JCreator、EditPlus都可以。對於初學者,用這種方式比較好,能夠對EJB的機制有較為深入的了解。編寫完後,把所有的EJB源文件放置在一個src的目錄下,並在當前目錄(和src目錄平行)下建立一個目錄deployment,並將寫好的配置描述文件ejb-jar.XML和weblogic-ejb-jar.xml拷貝目錄deployment下。然後你可以將下面的批處理文件拷貝到目錄src的父目錄中,然後運行批處理文件。(當然,你需要在這之前設置classpath和相關變量,自己推敲以下就知道了)
//用於編譯打包EJB的批處理文件compilejar.bat:
mkdir classes
mkdir lib
mkdir classesMETA-INF
copy deployment*.xml classesMETA-INF
Javac -d classes src*.java
cd classes
jar cf ..lib emp.jar *
cd ..
cd lib
java weblogic.ejbc -keepgenerated temp.jar xxxEJB.jar
del temp.jar
cd ..
//最終,我們得到了XXXEJB.jar,也就是可以用來直接在WebLogic中發布的jar文件
其中編譯EJB我們用到weblogic.ejbc,老版本的WebLogic用的是weblogic.ejbc20。(注: WebLogic中EJB的編譯是預編譯,也就是說會生成EJB所需的所有的目標文件,但有些應用服務器不是這樣的,比如JBoss借助於反射機制在運行期動態生成!)
我們從而得到了xxxEJB.jar,發布到WebLogic上。假如不借助於其他工具,只用WebLogic自己的輔助工具的話,有兩種方式可以選擇。其一,通過Console台,這種方式最簡單了,您應該大體上知道如何弄了。其二,通過WebLogic提供的startWLBuilder.cmd工具。啟動後首先要連接到WebLogic中,如圖1(圖略)所示。步驟是主菜單-〉Tools-〉Connect to Server。
然後連接上服務器後,打開要deploy的EJB,或者Web Application。然後就可以發布了。這兩種辦法都可以。當然,個人喜歡第二中,因為它可以檢查你的EJB打包是否符合要求,同時你需要修改EJB中的配置描述符都很簡單,這種圖形化的界面操作很方便,從而大大提高deploy的成功率。
第二種方式:
通過第一種方式,我想您也體會到不少東西。當然,大家會想,這樣的一種方式還是比較麻煩,至少需要更換兩種工具,不舒適。那好,接下來我們介紹第二種方式。與IDE的集成。通過JBuilder Enterprise提供的集成我們可以更加智能的完成工作。關於JBuilder與WebLogic的集成過程,Borland網站,http://bdn.borland.com/,上有兩篇分別介紹JBuilder 6 + WebLogic 6.1和JBuilder 7 + WebLogic 7.0的白皮書。
這種方式的引入,使得J2EE應用程序的開發、發布和測試都是在一個統一的環境下進行的,可以大大提高生產效率,使得開發人員可以更加專注於軟件本身。
第三種方式:
現在的開發工具、集成開發環境慢慢的很難和軟件前期的需求分析、系統建模聯系起來,這也是IDE所面臨的困境。比如,JBuilder提供了數量有限的UML圖以支持軟件產品開發。而作為Together ControlCenter,由於其對軟件工程的整個過程支持力度很高,所以慢慢流行起來。
Together ControlCenter中內置的BEA WebLogic Application Server PlugIn使得該支持建模、開發、部署J2EE應用程序的工具獲得在WebLogic平台下開發軟件的開發人員的青睐。如圖2(圖略)所示。
該平台支持開發人員在開發階段更換應用服務器,無論是同一服務器的不同版本,還是不同服務器。
綜上所述,本文介紹了3種開發EJB的方式,在實際應用中也是使用的模式,開發者可以根據自己的喜好來選擇不同的模式。進入討論組討論。