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(API)、提供多層開發的功能性的協議以及基於Web的應用程式組成。