java2平臺企業(yè)版結(jié)構(gòu)
J2EE允許公司把一些通用的、很繁瑣的服務(wù)端任務(wù)交給中間供應(yīng)商去完成。yjbys小編收集了一些java2平臺企業(yè)版結(jié)構(gòu),歡迎大家參考!
結(jié)構(gòu)
這種基于組件,具有平臺無關(guān)性的J2EE 結(jié)構(gòu)使得J2EE 程序的編寫十分簡單,因為業(yè)務(wù)邏輯被封裝成可復(fù)用的組件,并且J2EE 服務(wù)器以容器的形式為所有的組件類型提供后臺服務(wù). 因為你不用自己開發(fā)這種服務(wù),所以你可以集中精力解決手頭的業(yè)務(wù)問題。
容器和服務(wù)容器設(shè)置定制了J2EE服務(wù)器所提供得內(nèi)在支持,包括安全,事務(wù)管理,JNDI(Java Naming and Directory Interface)尋址,遠(yuǎn)程連接等服務(wù),以下列出最重要的幾種服務(wù):
J2EE安全(Security)模型可以讓你配置 web 組件或enterprise bean,這樣只有被授權(quán)的用戶才能訪問系統(tǒng)資源. 每一客戶屬于一個特別的角色,而每個角色只允許激活特定的方法。你應(yīng)在enterprise bean的布置描述中聲明角色和可被激活的方法。由于這種聲明性的方法,你不必編寫加強安全性的規(guī)則。
J2EE 事務(wù)管理(Transaction Management)模型讓你指定組成一個事務(wù)中所有方法間的關(guān)系,這樣一個事務(wù)中的所有方法被當(dāng)成一個單一的單元. 當(dāng)客戶端激活一個enterprise bean中的方法,容器介入一管理事務(wù)。因有容器管理事務(wù),在enterprise bean中不必對事務(wù)的邊界進(jìn)行編碼。要求控制分布式事務(wù)的代碼會非常復(fù)雜。你只需在布置描述文件中聲明enterprise bean的事務(wù)屬性,而不用編寫并調(diào)試復(fù)雜的'代碼。容器將讀此文件并為你處理此enterprise bean的事務(wù)。JNDI 尋址(JNDI Lookup)服務(wù)向企業(yè)內(nèi)的多重名字和目錄服務(wù)提供了一個統(tǒng)一的接口,這樣應(yīng)用程序組件可以訪問名字和目錄服務(wù).
J2EE遠(yuǎn)程連接(Remote Client Connectivity)模型管理客戶端和enterprise bean間的低層交互. 當(dāng)一個enterprise bean創(chuàng)建后,一個客戶端可以調(diào)用它的方法就象它和客戶端位于同一虛擬機上一樣.
生存周期管理(Life Cycle Management)模型管理enterprise bean的創(chuàng)建和移除,一個enterprise bean在其生存周期中將會歷經(jīng)幾種狀態(tài)。容器創(chuàng)建enterprise bean,并在可用實例池與活動狀態(tài)中移動他,而最終將其從容器中移除。即使可以調(diào)用enterprise bean的create及remove方法,容器也將會在后臺執(zhí)行這些任務(wù)。
數(shù)據(jù)庫連接池(Database Connection Pooling)模型是一個有價值的資源。獲取數(shù)據(jù)庫連接是一項耗時的工作,而且連接數(shù)非常有限。容器通過管理連接池來緩和這些問題。enterprise bean可從池中迅速獲取連接。在bean釋放連接之后可為其他bean使用。
容器類型
J2EE應(yīng)用組件可以安裝部署到以下幾種容器中去:
EJB 容器管理所有J2EE 應(yīng)用程序中企業(yè)級bean 的執(zhí)行. enterprise bean 和它們的容器運行在J2EE 服務(wù)器上.
Web 容器管理所有J2EE 應(yīng)用程序中JSP頁面和Servlet組件的執(zhí)行. Web 組件和它們的容器運行在J2EE 服務(wù)器上. 應(yīng)用程序客戶端容器管理所有J2EE應(yīng)用程序中應(yīng)用程序客戶端組件的執(zhí)行. 應(yīng)用程序客戶端和它們的容器運行在J2EE 服務(wù)器上. Applet 容器是運行在客戶端機器上的web瀏覽器和 Java 插件的結(jié)合.。
四層模型
J2EE使用多層的分布式應(yīng)用模型,應(yīng)用邏輯按功能劃分為組件,各個應(yīng)用組件根據(jù)他們所在的層分布在不同的機器上。事實上,sun設(shè)計J2EE的初衷正是為了解決兩層模式(client/server)的弊端,在傳統(tǒng)模式中,客戶端擔(dān)當(dāng)了過多的角色而顯得臃腫,在這種模式中,第一次部署的時候比較容易,但難于升級或改進(jìn),可伸展性也不理想,而且經(jīng)常基于某種專有的協(xié)議,通常是某種數(shù)據(jù)庫協(xié)議。它使得重用業(yè)務(wù)邏輯和界面邏輯非常困難。現(xiàn)在J2EE 的多層企業(yè)級應(yīng)用模型將兩層化模型中的不同層面切分成許多層。一個多層化應(yīng)用能夠為不同的每種服務(wù)提供一個獨立的層,以下是 J2EE 典型的四層結(jié)構(gòu):
運行在客戶端機器上的客戶層組件
運行在J2EE服務(wù)器上的Web層組件
運行在J2EE服務(wù)器上的業(yè)務(wù)邏輯層組件
運行在EIS服務(wù)器上的企業(yè)信息系統(tǒng)(Enterprise information system)層軟件
J2EE應(yīng)用程序組件
J2EE應(yīng)用程序是由組件構(gòu)成的.J2EE組件是具有獨立功能的軟件單元,它們通過相關(guān)的類和文件組裝成J2EE應(yīng)用程序,并與其他組件交互。J2EE說明書中定義了以下的J2EE組件:
應(yīng)用客戶端程序和applets是客戶層組件.
Java Servlet和JavaServer Pages(JSP)是web層組件.
Enterprise JavaBeans(EJB)是業(yè)務(wù)層組件.
【java2平臺企業(yè)版結(jié)構(gòu)】相關(guān)文章: