J2EE 即Java2平臺(tái)企業(yè)版,它提供了基于組件的方式來(lái)設(shè)計(jì)、開(kāi)發(fā)、組裝和部署企業(yè)應(yīng)用。J2EE使用多層分布式的應(yīng)用模型,這個(gè)多層通常通過(guò)三層或四層來(lái)實(shí)現(xiàn):
1、客戶層,運(yùn)行在客戶計(jì)算機(jī)上的組件。
2、Web 層,運(yùn)行在J2EE服務(wù)器上的組件。
3、業(yè)務(wù)層,同樣是運(yùn)行在J2EE服務(wù)器上的組件。
4、企業(yè)信息系統(tǒng)層(EIS),是指運(yùn)行在EIS服務(wù)器上的軟件系統(tǒng)。
以上層次一般也指三層應(yīng)用,因分布在三個(gè)不同位置:客戶計(jì)算機(jī)、J2EE服務(wù)器及后臺(tái)的數(shù)據(jù)庫(kù)或過(guò)去遺留下來(lái)的系統(tǒng)。請(qǐng)看圖例:
J2EE組件
J2EE應(yīng)用程序是由組件構(gòu)成的。J2EE組件是一個(gè)封裝了功能的軟件單元,能夠與相關(guān)的一些類(lèi)和文件一起組成J2EE應(yīng)用程序。
1、應(yīng)用程序客戶端和Applet是指運(yùn)行在客戶計(jì)算機(jī)上的組件。
2、基于Java Servlet和JSP技術(shù)的組件叫Web組件,它們運(yùn)行在服務(wù)器上。
3、企業(yè)JavaBean(EJB)組件叫業(yè)務(wù)組件,同樣運(yùn)行在服務(wù)器上。
J2EE客戶端
J2EE客戶端可以是一個(gè)Web組件或者是一個(gè)應(yīng)用程序客戶端。
1、Web客戶端
包括兩部分,首先是那些動(dòng)態(tài)Web頁(yè)面(HTML、XML等),這些組件運(yùn)行在Web層;另一個(gè)是Web瀏覽器,由客戶機(jī)上的瀏覽器從服務(wù)器接收并且解析和顯示W(wǎng)eb頁(yè)面。
2、小應(yīng)用程序(Applet)
需要運(yùn)行在客戶端安裝了Java虛擬機(jī)的Web瀏覽器上。
3、應(yīng)用程序客戶端
J2EE應(yīng)用程序客戶端運(yùn)行在客戶機(jī)上,能提供強(qiáng)大而靈活易用的用戶界面,如使用Swing或AWT創(chuàng)建的圖形化的用戶界面(GUI)。應(yīng)用程序可直接訪問(wèn)運(yùn)行在業(yè)務(wù)層的企業(yè)Bean,如果需求允許,也可以打開(kāi)HTTP連接來(lái)建立與運(yùn)行在Web層上的Servlet之間的通訊。
4、JavaBean組件架構(gòu)
在服務(wù)器和客戶端兩層中也可能包括了基于JavaBean的組件架構(gòu),通過(guò)JavaBean來(lái)實(shí)現(xiàn)數(shù)據(jù)的流動(dòng),可以是在應(yīng)用程序客戶或Applet與運(yùn)行在J2EE服務(wù)器上的組件之間,或者是在J2EE服務(wù)器和后臺(tái)數(shù)據(jù)庫(kù)之間。(不過(guò)JavaBean組件并沒(méi)有包含在J2EE規(guī)范里)
5、J2EE服務(wù)的通訊
客戶層與J2EE服務(wù)器上運(yùn)行的業(yè)務(wù)層之間的通訊可以是直接的,也可以通過(guò)運(yùn)行在Web層中的Servlet和JSP來(lái)實(shí)現(xiàn),在這種情況下,客戶運(yùn)行在瀏覽器中。
Web組件
J2EE的Web組件可以是Servlet或JSP頁(yè)面。在應(yīng)用程序組裝過(guò)程中,靜態(tài)HTML頁(yè)面和Applet也可以一起打包成Web組件,但這并不是J2EE規(guī)范所認(rèn)可的Web組件。
業(yè)務(wù)組件
業(yè)務(wù)代碼是指那些由位于業(yè)務(wù)層的企業(yè)Bean(EJB)執(zhí)行的邏輯,它們能夠解決或滿足特定的商業(yè)領(lǐng)域的一些需求。有三種不同類(lèi)型的企業(yè)Bean:會(huì)話Bean、實(shí)體Bean和消息驅(qū)動(dòng)Bean。會(huì)話Bean代表客戶一次短暫的會(huì)話過(guò)過(guò)程,當(dāng)客戶執(zhí)行完成后,會(huì)話Bean以及它所包含的數(shù)據(jù)也隨之消失。實(shí)體Bean代表的是持久的數(shù)據(jù),即存儲(chǔ)在數(shù)據(jù)庫(kù)表中的一行記錄,即使客戶終止或者服務(wù)器關(guān)閉,在J2EE底層的會(huì)服務(wù)確保實(shí)體Bean的數(shù)據(jù)被保存下來(lái)。
企業(yè)信息系統(tǒng)層
企業(yè)信息系統(tǒng)層處理企業(yè)信息系統(tǒng)的軟件,包括企業(yè)組織結(jié)構(gòu)系統(tǒng),例如企業(yè)資源計(jì)劃(ERP)、大型的事務(wù)處理、數(shù)據(jù)庫(kù)系統(tǒng)及其他歷史上遺留下來(lái)的信息系統(tǒng)。
歸納幾個(gè)概念:
EJB
即Enterprise JavaBean,一種組件架構(gòu),用于開(kāi)發(fā)和部署面向?qū)ο蟮?、分布式的、企業(yè)級(jí)的應(yīng)用程序。所開(kāi)發(fā)的應(yīng)用程序使用EJB架構(gòu)來(lái)實(shí)現(xiàn)可擴(kuò)展性及管理事務(wù)和安全。
EJB包括會(huì)話Bean(session bean)、實(shí)體Bean(entity bean)和消息驅(qū)動(dòng)Bean(message-drivenbean)。其中會(huì)話Bean分為無(wú)狀態(tài)會(huì)話Bean(stateless session bean)和有狀態(tài)會(huì)話Bean(statefulsessionbean)。而實(shí)體Bean又分為Bean管理實(shí)體Bean和容器管理實(shí)體Bean。由于這種Bean對(duì)應(yīng)于數(shù)據(jù)庫(kù)中的記錄,所以數(shù)據(jù)庫(kù)記錄的任何改變也被同步到組件池中的相關(guān)Bean中,這個(gè)過(guò)程叫做持久性(persistenced),這是實(shí)體Bean最重要的一個(gè)特征。根據(jù)持久性操作方式的不同分為:容器管理持久性(Container-Managed Persistence,CMP)和Bean管理持久性(Bean-ManagedPersistence,BMP)。
容器
即container,一個(gè)實(shí)體,它管理著組件的生命周期、安全、部署和運(yùn)行時(shí)服務(wù)。每個(gè)類(lèi)型的容器都只提供與相應(yīng)類(lèi)型的組件相關(guān)的服務(wù),如EJB、Web、JSP、Applet和應(yīng)用程序客戶端。其中,EJB容器和Web容器都運(yùn)行在J2EE服務(wù)器中。
J2EE
即Java 2 Platform Enterprise Edition,Java 2平臺(tái)企業(yè)版。是開(kāi)發(fā)和部署企業(yè)應(yīng)用程序的一種平臺(tái)或環(huán)境。它由一系列服務(wù)、應(yīng)用程序編程接口(API)、提供多層開(kāi)發(fā)的功能性的協(xié)議以及基于Web的應(yīng)用程序組成。
聯(lián)系客服