當前位置:才華齋>IT認證>J2EE>

什麼是J2EE

J2EE 閱讀(1.18W)

J2EE: 電子商務和資訊科技的快速發展以及對它們的需求給應用程式開發人員帶來了新的壓力。必須以比以前更少的金錢、更少的資源來更快地設計、開發企業應用程式。為了降低成本,並加快企業應用程式的設計和開發, J2EE 平臺提供了一個基於元件的方法,來設計、開發、裝配及部署企業應用程式。J2EE 平臺提供了多層的分散式的應用模型、元件再用、一致化的安全模型以及靈活的事務控制。您不僅可以用比以前更快的速度向市場推出創造性的客戶解決方案,而且您的平臺灣搞獨立立的、基於元件的J2EE 解決方案不會被束縛在任何一個廠商的產品和API 上。

什麼是J2EE

1. J2EE 規範定義了以下種類的元件

應用客戶元件。

Enterprise JavaBeans 元件。

Servlet及JavaServer Pages(JSP 頁面)元件(也被稱作Web 元件)。

Applet。

一個多層的分散式的應用模型意味著應用邏輯被根據功能劃分成元件,並且可以在同一個

伺服器或不同的伺服器上安裝組成J2EE 應用的這些不同的元件。一個應用元件應被安裝在什麼

地方,取決於該應用元件屬於該多層的J2EE 環境中的哪一層。這些層是客戶層、We b層、業務

層及企業資訊系統層( EIS )等。

(1) 客戶層

J2EE 應用可以是基於Web 的,也可以是不基於Web 的。在一個基於Web 的J2EE 應用中,使用者的瀏覽器在客戶層中執行,並從一個We b伺服器下載Web 層中的靜態HTML 頁面或由J S P或Servlet 生成的動態HTML 頁面。在一個不基於Web 的J2EE 應用程式中,一個獨立客戶程式不執行在一個HTML 頁面中,而是執行在其他一些基於網路的系統(比如手持裝置或汽車電話)中,Applet 程式,在客戶層中執行,並在不經過Web 層的情況下訪問Enterprise Beans。這個不基於Web 的客戶層可能也包括一個JavaBeans 類來管理使用者輸入,並將該輸入傳送到在企業層中執行的Enterprise Beans類來進行處理。根據J2EE 規範,JavaBeans 類不被視為元件。為J2EE 平臺編寫的JavaBeans 類有例項變數和用於訪問例項變數中的資料的“ get 和set 方法”。以這種方式使用的JavaBeans 類在設計和實現上通常都是簡單的,但是它們必須符合JavaBeans 規範中列出的命名和設計約定。

(2) Web 層

J2EE Web 元件可以由JSP 頁面、基於Web 的A p p l e t以及顯示HTML 頁面的S e r v l e t組成。呼叫S e r v l e t或者JSP 頁面的HTML 頁面在應用程式組裝時與Web 元件打包在一起。就像客戶層一樣,Web 層可能包括一個JavaBeans 類來管理使用者輸入,並將輸入傳送到在業務層中執行的Enterprise Beans 類來進行處理。執行在客戶層的Web 元件依賴容器來支援諸如客戶請求和響應及Enterprise Bean 查詢等。

(3) 業務層

作為解決或滿足某個特定業務領域(比如銀行、零售或金融業)需要的邏輯的業務程式碼由執行在業務層的Enterprise Beans 來執行。一個Enterprise Bean 從客戶程式處接收資料,對資料進行處理(如果需要),再將資料傳送到企業資訊系統層儲存起來。一個Enterprise Beans 還從儲存中檢索資料,並將資料送回客戶程式。執行在業務層的Enterprise Beans 依賴於容器來為諸如事務、生命期、狀態管理、多執行緒及資源儲存池等提供通常都非常複雜的系統級程式碼。業務層經常被稱作Enterprise JavaBeans (EJB )層。業務層和Web 層一起構成了3 層J 2 E E應用的中間層,而其他兩層是客戶層和企業資訊系統層。

(4) 企業資訊系統層

企業資訊系統層執行企業資訊系統軟體,這層包括企業基礎設施系統,例如企業資源計劃(E R P)、大型機事務處理( mainframe transactionprocessing )、資料庫系統及其他遺留資訊系統(legacy informationsystems )。J2EE 應用元件因為某種原因( 例如訪問資料庫) 可能需要訪問企業資訊系統。J2EE 平臺的未來版本將支援Connector 架構,該架構是將J2EE 平臺連線到企業資訊系統上的一個標準A P I。

(5) 查詢服務

因為一個J2EE 應用程式的元件是單獨執行的,並且往往在不同的裝置上執行,因此,需要一種能讓客戶層和Web 層程式碼查詢並引用其他程式碼和資源的方法。客戶層和Web 層程式碼使用Java 命名和目錄介面(JNDI )來查詢使用者定義的物件(例如Enterprise Beans )、環境條目(例如一個數據庫驅動器的位置)、企業資訊系統層中用於查詢資源的JDBC DataSource物件,以及訊息連線。

(6) 安全和事務管理

諸如安全和事務管理這樣的應用行為可以在部署時在Web 和Enterprise Beans 元件上進行配置。這個特徵將應用邏輯從可能隨裝配而變化的.配置設定中分開了。J2EE 安全模型允許配置一個Web 或Enterprise Beans 元件,使系統資源只能由授權的使用者訪問。例如,一個Web 元件可以被配置成提示輸入使用者名稱和密碼。一個Enterprise Beans 元件可以被配置成只讓特定團體中的成員呼叫其某些方法。或者,一個Servlet 元件可以被配置成讓某個組織中的所有人都能訪問其某些方法,同時只讓該組織中的某些享有特權的人訪問其中一些方法。同樣是該Servlet 元件,可以針對另外一個環境而被配置成讓每個人都能訪問其所有方法,或者僅讓選定的少數人訪問其所有方法。

J2EE 事務模型使得能夠在部署時定義構成一個單一事務的方法之間的關係,以使一個事務中的所有方法被處理成一個單一的單元。這是我們所希望的,因為一個事務是一系列步驟,這些步驟要麼全部完成,要麼全部取消。例如,一個Enterprise Beans 可能有一組方法,使我們可以通過從第一個賬戶借出並存入第二個賬戶的方式而將錢從第一個賬戶轉移到第二個賬戶。我們希望全部的操作被作為一個單元對待,這樣,如果在借出之後存入之前發生了故障,該借出操作被取消。事務屬性是在裝配期間定義在一個元件上的。這使得能將來自多個應用元件的方法歸到一個事務中,這說明,我們可以輕易變更一個J2EE 應用程式中的應用元件,並重新指定事務屬性,而不必改變程式碼或重新編譯。在設計應用元件時,要記住,儘管Enterprise Beans 有一個可使應用元件的容器自動啟動多步事務的機制,但是Applet 和應用的客戶容器可能並不支援這一點。然而, Applet 和應用客戶容器總是能夠呼叫支援這一點的一個Enterprise Beans。還應當注意, JSP 頁面和Servlet 沒有被設計成是事務的,它們通常應當將事務工作交給一個Enterprise Bean 來完成。然而,如果事務工作在一個JSP 頁面或Servlet 中是必須的,那麼此種工作也應當是非常有限的。

(7) 可重用應用元件

J2EE 元件(Applet 、應用的客戶、Enterprise Beans 、JSP 頁面及Servlet )都被打包成模組,並以Java Archive (JAR )檔案的形式交付。一個模組由相關的元件、相關的檔案及描述如何配置元件的配置描述檔案組成。例如,在組裝過程中,一個HTML 頁面和Servlet 被打包進一個模組之中,該模組包含H T M L檔案、Servlet 元件及相關的配置描述檔案,並以一個Web Archive(WAR )檔案的形式交付,該WAR 檔案是一個帶 副檔名的標準JAR 檔案。模組的使用使得利用相同元件中的某些元件來組裝不同的J2EE 應用程式成為可能。例如,一個J2EE 應用程式的Web 版可能有一個Enterprise Beans 元件,還有一個JSP 頁面元件。該Enterprise Beans 元件可以與一個應用客戶元件結合,以生成該應用程式的非Web 版本。這不需要進行額外的編碼,只是一個裝配和部署的問題。並且,可重用元件使得將應用開發和部署過程劃分成由不同的角色來完成成為可能,這樣,不同的人或者公司就能完成封裝和部署過程的不同部分。