陳 懿
摘要:隨著電子商務時代的到來,傳統的開發(fā)平臺已不能滿足企業(yè)應用開發(fā)迅猛增加的需要。伴隨著12EE的產生。開發(fā)者利用J2EE構筑企業(yè)的開發(fā)新平臺,能在較短的周期內迅速開發(fā)出企業(yè)的各種應用程序。
關鍵詞:J2EE EJB開發(fā)技術
中圖分類號:TP312JA文獻標識碼:A文章編號:1005-5312(2009)24-0052-02
J2EE是一種利用Java語言的標準體系結構定義,利用它可以更為方便地在中間層加速分布式部署。J2EE包括了企業(yè)JavaBeans,JSP,JN-DI,KJMS,JTA等技術。在企業(yè)開發(fā)工作中利用這種體系結構,它能在較短的周期內迅速開發(fā)出企業(yè)的各種應用程序。
一、J2EE的組成框架及接口編程
為加快企業(yè)應用程序的設計和開發(fā)J2EE平臺提供了一個基于組件的方法來設計、開發(fā)、裝配及部署企業(yè)應用程序。它包含多層的分布式應用模型、組件重用、一致化的安全模型以及靈活的事務控制。J2EE規(guī)范定義了以下種類的組件:應用客戶組件(Application Client Component);EJB(Enterise Jay-aBeans(tm)Components);Servlets及JSP Pages組件(ServletsJavaServerPages Components);Applets。
上述組件可以在同一個服務器或不同的服務器上安裝。一個應用組件安裝在什么地方,取決于該應用組件屬于該多層的J2EE環(huán)境中的哪一層。這些層是客戶層、Web層、業(yè)務層及企業(yè)信息系統層(EIS)。
JavaBean是J2EE中新增添組件模型,它將業(yè)務邏輯與低層系統邏輯分開管理,可將完成各種任務的業(yè)務邏輯放置在EJB層的Enterprise Beans中。以這種方式,就可以使代碼集中解決重要的業(yè)務問題,而利用EnterpriseBean容器來支持低層服務,比如狀態(tài)管理、事務管理、線程管理、遠程數據訪問和安全等。因此對于任何一個Enterprise Bean,都可以根據其在特定程序中事務管理或安全屬性進行配置,并可以將它部署到任何一個與規(guī)范兼容的容器中。
J2EE的組成包括應用編程模型、標準實施平臺、兼容性測試套件和實施參考資料。還有對Enter-prise JavaBeansjavaServlelAPl和Java ServerPages(JsP)的全力支持。其最終目的就是成為一個能夠使企業(yè)開發(fā)者大幅縮短投放市場時間的體系結構。
J2EE服務器:J2EE服務器通過Java命名和目錄接口(JNDI)、認證、//TIP及與Enterprise JavaBeans兼容的能力,提供命名和目錄服務。JNDI是Java平臺的一種標準擴展版,向企業(yè)內的命名和目錄服務提供具有Java功能的帶有統一接口的應用,包括LDAP。J2EE服務器還利用了Java Servlet技術,向開發(fā)人員提供以組件為基礎、創(chuàng)建基于Web應用的獨立于平臺的方法,它不像利用CGI程序等其它方式那樣具有性能局限。Servlet是用Java編寫的,因此能夠訪問整個Java API庫,包括用于訪問企業(yè)數據庫的JDBCAPI。
EJB容器:它是控制EnterpriseBean并為其提供重要的系統級別服務的運行時環(huán)境。應用程序服務器與EJB容器交互作用,允許訪問包含在EJB容器中的EnterpriseBean。FjB容器在Enterprise Bean和F_JB服務器之間提供一個接口,提供許多低層服務,如線程化、事務支持和數據存儲與檢索的管理。
Web容器:它提供JSP和Servleta的運行時環(huán)境。Servlets是實現動態(tài)內容的一種簡便、獨立平臺、獨立于Web服務器的方式。JSP頁面是開發(fā)Servlets的一種基于文本的、以顯示為中心的方式。JSP頁面提供了Servlets的所有優(yōu)勢;并且,當與一個JavaBeans類結合在一起時,提供了一種使內容和顯示邏輯分開的簡單方式,其優(yōu)點是更新頁面外觀的人員不必懂得Java代碼,而更新Jav-aBeans類的人員也不必精通網頁設計。JSP頁面和Servlets都比公共網關接口(CGI)更具優(yōu)勢,因為CGI不是獨立于平臺的,占用了更多系統資源,而且沒有一個簡單的方法來訪問參數數據,并將這些數據發(fā)送給用戶程序。
二、基于EJB的開發(fā)技術
EJB上層的分布式應用程序是基于對象組件模型的,低層的事務服務用了API技術,因此KIB技術簡化了用應用系統的開發(fā)、配置和執(zhí)行。EJB技術定義了一組可重用的組件:EnterpfiseBeans??梢岳眠@些組件,像搭積木一樣的建立分布式應用程序。代碼寫好之后,這些組件就被組合到特定的文件中去。每個文件有一個或多個Enterprise Beans,再加上一些配置參數;最后,這些Enterprise Beans被配置到一個裝了EJB容器的平臺上??蛻裟軌蛲ㄟ^這些Beans的Home接口,定位到某個Beans,并產生這個Beans的一個實例。這樣,客戶就能夠調用Beans的應用方法和遠程接口。
JDBC是一種可用于執(zhí)行SQL語句的JavaAPI(Appli-cation Programming Interface,應用程序設計接口)。通過使用JDBC,可以很方便地將SQL語句傳送給幾乎任何一種數據庫。用JDBC寫的程序能夠自動地將SQL語句傳送給相應的數據庫管理系統(DBMS)。JDBC是一種底層API,同時它也是構造高層API和數據庫開發(fā)工具的基礎。高層API和數據庫開發(fā)工具應該是用戶界面更加友好,使用更加方便、更易于理解的。但所有這樣的API將最終被翻譯為JDBC這樣的底層API。JDBCAPI被描述成為抽象的Java接口,應用程序可以對某個數據庫打開連接,進行SQL語句并且處理結果。在JDBC中,最重要的接口是:java.sql.DriverManager處理驅動的調入并且對產生新的數據庫連接提供支持。iava.sql.Connection代表對特定數據庫的連接。java.sql.Statement代表一個特定的容器,以對一個特定的數據庫執(zhí)行SQL語句。java.sql.Resuh-Set控制對一個特定語句的行數據的存取其中ia-va.sql.Statement。兩個子類型是:
java.sql.PreparedSlatement用于執(zhí)行預編譯的SQL語句。
java.sql.CallableStatement用于執(zhí)行對一個數據庫內嵌過程的調用。
目前兩種基于JDBC的高層API正在發(fā)展之中。(1)sQL語言嵌入Java的預處理器。雖然DBMS已經實現了SQL查詢,但JDBC要求SQL語句被當作字符串參數傳送給Java程序。而嵌入式SQL預處理器允許程序員將SQL語句混用:Java變量可以在SQL語句中使用,以接收或提供數值。然后SQL的預處理器將把這種Java/SQL混用的程序翻譯成帶有JDBCAPI的Java程序。(2)實現從關系數據庫到Java類的直接映射。Java-Soft和其他公司已經宣布要實現這一技術。在這種“對象/關系”映射中,表的每一行都將變成這類的一個實例,每一列的值對應實例的一個屬性。程序員可以直接操作Java的對象;而存取所需要的SQL調用將在內部直接產生。還可以實現更加復雜的映射,比如多張表的行在一個Java的類中實現。
三、應用前景
隨著電子商務時代的到來J2EE通過提供企業(yè)計算環(huán)境所必須的各種服務且更加易用,使得部署在J2EE平臺上的多層應用可以實現更高的可用性、安全性、可擴展性。毫無疑問,J2EE為電子商務的發(fā)展提供了一幅具有更強的伸縮性、開放性、安全性且簡單易用的未來應用的藍圖。