J2EE是Java2平台企業版(Java 2 Platform,Enterprise Edition),它的核心是一組技術規範與指南,提供基於組件的方式來設計、開發、組裝和部署公司專屬應用程式。J2EE使用多層分布式的應用程式模型。
J2EE分層: 客戶層,運行在客戶電腦上的組件,使用者與系統的介面邏輯,通過http協議的來訪問應用伺服器。
展示層,運行在J2EE伺服器上的組件,通過與商務邏輯層互動,將使用者需要的資料以適當的方式輸出。
商務邏輯層,同樣是運行在J2EE伺服器上的組件。
公司資訊系統層(EIS),是指運行在EIS伺服器上的軟體系統。
以上層次一般也指三層應用,也就是客戶層+J2EE應用服務層+公司資訊系統層,分布在三個不同位置:客戶電腦、J2EE伺服器及背景資料庫或過去遺留下來的系統。
客戶層 Web瀏覽器
也稱Web用戶端, 以標準格式來顯示從伺服器傳遞過來的網頁,它們傳遞給瀏覽器時已經是HTML或者XML格式,瀏覽器正確的顯示給使用者。
小應用程式(Applet)
是嵌在瀏覽器中的一種輕量級用戶端,當web頁面不能充分的表現資料或者應用介面的時候,才使用它,Applet是一種替代web頁面的手段,能夠使用J2SE開發Applet,Applet無法使用J2EE中的各種Service和API。需要運行在用戶端安裝了Java虛擬機器的Web瀏覽器上。
應用程式用戶端 J2EE應用程式用戶端相對Applet而言,是一個較重量級的用戶端,能夠使用大多數的服務和API,它運行在客戶機上,能提供強大而靈活易用的使用者介面,如使用Swing或AWT建立的圖形化的使用者介面(GUI)。當然,應用程式可直接存取運行在業務層的Bean,如果需求允許,也可以開啟HTTP串連,建立與運行在Web層上的Servlet之間的通訊。
J2EE應用伺服器兩大容器
EJB容器+Web容器,即商務邏輯層+展示層
Web容器
管理所有的Servlet等Web組件的運行,對響應客戶請求和返回結果提供了運行時的支援。
EJB容器: 負責所有的EJB的運行,支援EJB組件的交易處理和生命週期管理,以及Bean的尋找和其他服務,支援J2EE多層架構的基礎結構,是一個控制業務實現的運行期環境,並提供事務服務、持久性、安全性等重要的系統服務,讓開發人員不必開發基礎服務而將注意力集中在商務邏輯的實現。
兩大組件
Web組件+Ejb組件
Web組件
與基於Web的用戶端進行互動,J2EE中有三類Web組件:Servlet、JSP、JavaBean,Servlet是Web伺服器的功能擴充,接受Web請求,返回動態Web頁面。Web容器中的組件可以使用EJB中的組件來完成複雜的商務邏輯。值得注意的是靜態HTML頁面和Applets不算是Web層組件。
EJB組件 包含三種不同類型的EJB:會話Bean、訊息驅動Bean、實體Bean
第一:會話Bean:著重商務邏輯的實現與控制,負責與Web層通訊,給Web層提供訪問業務資料的介面。當用戶端完成執行過程的時候,會話Bean及相關資料會消失。
第二:實體Bean:代表持久資料,資料相當於儲存在資料庫表中,它負責儲存業務資料,給會話Bean訪問業務資料的介面。
第三:訊息驅動Bean:用於接收、處理客戶通過JMS發送過來的訊息,允許業務組件接收衣服的JMS訊息。
公司資訊系統層 負責運行公司資訊系統軟體,包括ERP、資料庫、目錄服務、其他遺留系統等。
總結 J2EE所包含的各類組件、服務架構及技術層次,均有共同的標準及規格,讓各種依循J2EE架構的不同平台之間,存在良好的相容性,解決過去企業後端使用的資訊產品彼此之間無法相容,企業內部或外部難以互連的窘境。