J2EE的体系结构
2019獨角獸企業重金招聘Python工程師標準>>>
J2EE 即Java2平臺企業版,它提供了基于組件的方式來設計、開發、組裝和部署企業應用。J2EE使用多層分布式的應用模型,這個多層通常通過三層或四層來實現:
?????????1、客戶層,運行在客戶計算機上的組件。
???????? 2、Web 層,運行在J2EE服務器上的組件。
???????? 3、業務層,同樣是運行在J2EE服務器上的組件。
???????? 4、企業信息系統層(EIS),是指運行在EIS服務器上的軟件系統。
??????
???????? 以上層次一般也指三層應用,因分布在三個不同位置:客戶計算機、J2EE服務器及后臺的數據庫或過去遺留下來的系統。請看圖例:???
???????
?
???????J2EE組件
???????? J2EE應用程序是由組件構成的。J2EE組件是一個封裝了功能的軟件單元,能夠與相關的一些類和文件一起組成J2EE應用程序。
???????? 1、應用程序客戶端和Applet是指運行在客戶計算機上的組件。
???????? 2、基于Java Servlet和JSP技術的組件叫Web組件,它們運行在服務器上。
???????? 3、企業JavaBean(EJB)組件叫業務組件,同樣運行在服務器上。
??????J2EE客戶端
???????? J2EE客戶端可以是一個Web組件或者是一個應用程序客戶端。
???????? 1、Web客戶端?
???????? 包括兩部分,首先是那些動態Web頁面(HTML、XML等),這些組件運行在Web層;另一個是Web瀏覽器,由客戶機上的瀏覽器從服務器接收并且解析和顯示Web頁面。
???????? 2、小應用程序(Applet)?
???????? 需要運行在客戶端安裝了Java虛擬機的Web瀏覽器上。
???????? 3、應用程序客戶端
???????? J2EE應用程序客戶端運行在客戶機上,能提供強大而靈活易用的用戶界面,如使用Swing或AWT創建的圖形化的用戶界面(GUI)。應用程序可直接訪問運行在業務層的企業Bean,如果需求允許,也可以打開HTTP連接來建立與運行在Web層上的Servlet之間的通訊。
???????? 4、JavaBean組件架構
???????? 在服務器和客戶端兩層中也可能包括了基于JavaBean的組件架構,通過JavaBean來實現數據的流動,可以是在應用程序客戶或Applet與運行在J2EE服務器上的組件之間,或者是在J2EE服務器和后臺數據庫之間。(不過JavaBean組件并沒有包含在J2EE規范里)
???????? 5、J2EE服務的通訊
???????? 客戶層與J2EE服務器上運行的業務層之間的通訊可以是直接的,也可以通過運行在Web層中的Servlet和JSP來實現,在這種情況下,客戶運行在瀏覽器中。
?????????Web組件
???????? J2EE的Web組件可以是Servlet或JSP頁面。在應用程序組裝過程中,靜態HTML頁面和Applet也可以一起打包成Web組件,但這并不是J2EE規范所認可的Web組件。
?????????業務組件
???????? 業務代碼是指那些由位于業務層的企業Bean(EJB)執行的邏輯,它們能夠解決或滿足特定的商業領域的一些需求。有三種不同類型的企業Bean:會話Bean、實體Bean和消息驅動Bean。會話Bean代表客戶一次短暫的會話過過程,當客戶執行完成后,會話Bean以及它所包含的數據也隨之消失。實體Bean代表的是持久的數據,即存儲在數據庫表中的一行記錄,即使客戶終止或者服務器關閉,在J2EE底層的會服務確保實體Bean的數據被保存下來。
???????? 企業信息系統層
???????? 企業信息系統層處理企業信息系統的軟件,包括企業組織結構系統,例如企業資源計劃(ERP)、大型的事務處理、數據庫系統及其他歷史上遺留下來的信息系統。
??????? 歸納幾個概念:
???????? EJB
???????? 即Enterprise JavaBean,一種組件架構,用于開發和部署面向對象的、分布式的、企業級的應用程序。所開發的應用程序使用EJB架構來實現可擴展性及管理事務和安全。
???????? EJB包括會話Bean(session bean)、實體Bean(entity bean)和消息驅動Bean(message-driven bean)。其中會話Bean分為無狀態會話Bean(stateless session bean)和有狀態會話Bean(stateful session bean)。而實體Bean又分為Bean管理實體Bean和容器管理實體Bean。由于這種Bean對應于數據庫中的記錄,所以數據庫記錄的任何改變也被同步到組件池中的相關Bean中,這個過程叫做持久性(persistenced),這是實體Bean最重要的一個特征。根據持久性操作方式的不同分為:容器管理持久性(Container-Managed Persistence,CMP)和Bean管理持久性(Bean-Managed Persistence,BMP)。
???????? 容器
???????? 即container,一個實體,它管理著組件的生命周期、安全、部署和運行時服務。每個類型的容器都只提供與相應類型的組件相關的服務,如EJB、Web、JSP、Applet和應用程序客戶端。其中,EJB容器和Web容器都運行在J2EE服務器中。
???????? J2EE
???????? 即Java 2 Platform Enterprise Edition,Java 2 平臺企業版。是開發和部署企業應用程序的一種平臺或環境。它由一系列服務、應用程序編程接口(API)、提供多層開發的功能性的協議以及基于Web的應用程序組成。
轉載于:https://my.oschina.net/u/999578/blog/118881
總結
- 上一篇: http协议 web开发的应用 笔记
- 下一篇: Dell Kace K1000测试报告