J2EE的體系結構

J2EE 即Java2平臺企業版,它提供了基於組件的方式來設計、開發、組裝和部署企業應用。J2EE使用多層分佈式的應用模型,這個多層一般經過三層或四層來實現: 數據庫

         一、客戶層,運行在客戶計算機上的組件。
         二、Web 層,運行在J2EE服務器上的組件。
         三、業務層,一樣是運行在J2EE服務器上的組件。
         四、企業信息系統層(EIS),是指運行在EIS服務器上的軟件系統。
      
         以上層次通常也指三層應用,因分佈在三個不一樣位置:客戶計算機、J2EE服務器及後臺的數據庫或過去遺留下來的系統。請看圖例:    編程

       

 

       J2EE組件 瀏覽器

         J2EE應用程序是由組件構成的。J2EE組件是一個封裝了功能的軟件單元,可以與相關的一些類和文件一塊兒組成J2EE應用程序。
         一、應用程序客戶端和Applet是指運行在客戶計算機上的組件。
         二、基於Java Servlet和JSP技術的組件叫Web組件,它們運行在服務器上。
         三、企業JavaBean(EJB)組件叫業務組件,一樣運行在服務器上。 安全

      J2EE客戶端 服務器

         J2EE客戶端能夠是一個Web組件或者是一個應用程序客戶端。
         一、Web客戶端 
         包括兩部分,首先是那些動態Web頁面(HTML、XML等),這些組件運行在Web層;另外一個是Web瀏覽器,由客戶機上的瀏覽器從服務器接收而且解析和顯示Web頁面。
         二、小應用程序(Applet) 
         須要運行在客戶端安裝了Java虛擬機的Web瀏覽器上。
         三、應用程序客戶端
         J2EE應用程序客戶端運行在客戶機上,能提供強大而靈活易用的用戶界面,如使用Swing或AWT建立的圖形化的用戶界面(GUI)。應用程序可直接訪問運行在業務層的企業Bean,若是需求容許,也能夠打開HTTP鏈接來創建與運行在Web層上的Servlet之間的通信。
         四、JavaBean組件架構
         在服務器和客戶端兩層中也可能包括了基於JavaBean的組件架構,經過JavaBean來實現數據的流動,能夠是在應用程序客戶或Applet與運行在J2EE服務器上的組件之間,或者是在J2EE服務器和後臺數據庫之間。(不過JavaBean組件並無包含在J2EE規範裏)
         五、J2EE服務的通信
         客戶層與J2EE服務器上運行的業務層之間的通信能夠是直接的,也能夠經過運行在Web層中的Servlet和JSP來實現,在這種狀況下,客戶運行在瀏覽器中。 session

         Web組件 架構

         J2EE的Web組件能夠是Servlet或JSP頁面。在應用程序組裝過程當中,靜態HTML頁面和Applet也能夠一塊兒打包成Web組件,但這並非J2EE規範所承認的Web組件。 less

         業務組件 分佈式

         業務代碼是指那些由位於業務層的企業Bean(EJB)執行的邏輯,它們可以解決或知足特定的商業領域的一些需求。有三種不一樣類型的企業Bean:會話Bean、實體Bean和消息驅動Bean。會話Bean表明客戶一次短暫的會話過過程,當客戶執行完成後,會話Bean以及它所包含的數據也隨之消失。實體Bean表明的是持久的數據,即存儲在數據庫表中的一行記錄,即便客戶終止或者服務器關閉,在J2EE底層的會服務確保實體Bean的數據被保存下來。 spa

         企業信息系統層

         企業信息系統層處理企業信息系統的軟件,包括企業組織結構系統,例如企業資源計劃(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的應用程序組成。

相關文章
相關標籤/搜索