- 相關推薦
什么是J2EE
J2EE: 電子商務和信息技術的快速發(fā)展以及對它們的需求給應用程序開發(fā)人員帶來了新的壓力。必須以比以前更少的金錢、更少的資源來更快地設計、開發(fā)企業(yè)應用程序。為了降低成本,并加快企業(yè)應用程序的設計和開發(fā), J2EE 平臺提供了一個基于組件的方法,來設計、開發(fā)、裝配及部署企業(yè)應用程序。J2EE 平臺提供了多層的分布式的應用模型、組件再用、一致化的安全模型以及靈活的事務控制。您不僅可以用比以前更快的速度向市場推出創(chuàng)造性的客戶解決方案,而且您的平臺灣搞獨立立的、基于組件的J2EE 解決方案不會被束縛在任何一個廠商的產(chǎn)品和API 上。
1. J2EE 規(guī)范定義了以下種類的組件
應用客戶組件。
Enterprise JavaBeans 組件。
Servlet及JavaServer Pages(JSP 頁面)組件(也被稱作Web 組件)。
Applet。
一個多層的分布式的應用模型意味著應用邏輯被根據(jù)功能劃分成組件,并且可以在同一個
服務器或不同的服務器上安裝組成J2EE 應用的這些不同的組件。一個應用組件應被安裝在什么
地方,取決于該應用組件屬于該多層的J2EE 環(huán)境中的哪一層。這些層是客戶層、We b層、業(yè)務
層及企業(yè)信息系統(tǒng)層( EIS )等。
(1) 客戶層
J2EE 應用可以是基于Web 的,也可以是不基于Web 的。在一個基于Web 的J2EE 應用中,用戶的瀏覽器在客戶層中運行,并從一個We b服務器下載Web 層中的靜態(tài)HTML 頁面或由J S P或Servlet 生成的動態(tài)HTML 頁面。在一個不基于Web 的J2EE 應用程序中,一個獨立客戶程序不運行在一個HTML 頁面中,而是運行在其他一些基于網(wǎng)絡的系統(tǒng)(比如手持設備或汽車電話)中,Applet 程序,在客戶層中運行,并在不經(jīng)過Web 層的情況下訪問Enterprise Beans。這個不基于Web 的客戶層可能也包括一個JavaBeans 類來管理用戶輸入,并將該輸入發(fā)送到在企業(yè)層中運行的Enterprise Beans類來進行處理。根據(jù)J2EE 規(guī)范,JavaBeans 類不被視為組件。為J2EE 平臺編寫的JavaBeans 類有實例變量和用于訪問實例變量中的數(shù)據(jù)的“ get 和set 方法”。以這種方式使用的JavaBeans 類在設計和實現(xiàn)上通常都是簡單的,但是它們必須符合JavaBeans 規(guī)范中列出的命名和設計約定。
(2) Web 層
J2EE Web 組件可以由JSP 頁面、基于Web 的A p p l e t以及顯示HTML 頁面的S e r v l e t組成。調(diào)用S e r v l e t或者JSP 頁面的HTML 頁面在應用程序組裝時與Web 組件打包在一起。就像客戶層一樣,Web 層可能包括一個JavaBeans 類來管理用戶輸入,并將輸入發(fā)送到在業(yè)務層中運行的Enterprise Beans 類來進行處理。運行在客戶層的Web 組件依賴容器來支持諸如客戶請求和響應及Enterprise Bean 查詢等。
(3) 業(yè)務層
作為解決或滿足某個特定業(yè)務領域(比如銀行、零售或金融業(yè))需要的邏輯的業(yè)務代碼由運行在業(yè)務層的Enterprise Beans 來執(zhí)行。一個Enterprise Bean 從客戶程序處接收數(shù)據(jù),對數(shù)據(jù)進行處理(如果需要),再將數(shù)據(jù)發(fā)送到企業(yè)信息系統(tǒng)層存儲起來。一個Enterprise Beans 還從存儲中檢索數(shù)據(jù),并將數(shù)據(jù)送回客戶程序。運行在業(yè)務層的Enterprise Beans 依賴于容器來為諸如事務、生命期、狀態(tài)管理、多線程及資源存儲池等提供通常都非常復雜的系統(tǒng)級代碼。業(yè)務層經(jīng)常被稱作Enterprise JavaBeans (EJB )層。業(yè)務層和Web 層一起構成了3 層J 2 E E應用的中間層,而其他兩層是客戶層和企業(yè)信息系統(tǒng)層。
(4) 企業(yè)信息系統(tǒng)層
企業(yè)信息系統(tǒng)層運行企業(yè)信息系統(tǒng)軟件,這層包括企業(yè)基礎設施系統(tǒng),例如企業(yè)資源計劃(E R P)、大型機事務處理( mainframe transactionprocessing )、數(shù)據(jù)庫系統(tǒng)及其他遺留信息系統(tǒng)(legacy informationsystems )。J2EE 應用組件因為某種原因( 例如訪問數(shù)據(jù)庫) 可能需要訪問企業(yè)信息系統(tǒng)。J2EE 平臺的未來版本將支持Connector 架構,該架構是將J2EE 平臺連接到企業(yè)信息系統(tǒng)上的一個標準A P I。
(5) 查詢服務
因為一個J2EE 應用程序的組件是單獨運行的,并且往往在不同的設備上運行,因此,需要一種能讓客戶層和Web 層代碼查詢并引用其他代碼和資源的方法?蛻魧雍蚖eb 層代碼使用Java 命名和目錄接口(JNDI )來查詢用戶定義的對象(例如Enterprise Beans )、環(huán)境條目(例如一個數(shù)據(jù)庫驅(qū)動器的位置)、企業(yè)信息系統(tǒng)層中用于查找資源的JDBC DataSource對象,以及消息連接。
(6) 安全和事務管理
諸如安全和事務管理這樣的應用行為可以在部署時在Web 和Enterprise Beans 組件上進行配置。這個特征將應用邏輯從可能隨裝配而變化的配置設定中分開了。J2EE 安全模型允許配置一個Web 或Enterprise Beans 組件,使系統(tǒng)資源只能由授權的用戶訪問。例如,一個Web 組件可以被配置成提示輸入用戶名和密碼。一個Enterprise Beans 組件可以被配置成只讓特定團體中的成員調(diào)用其某些方法;蛘撸粋Servlet 組件可以被配置成讓某個組織中的所有人都能訪問其某些方法,同時只讓該組織中的某些享有特權的人訪問其中一些方法。同樣是該Servlet 組件,可以針對另外一個環(huán)境而被配置成讓每個人都能訪問其所有方法,或者僅讓選定的少數(shù)人訪問其所有方法。
J2EE 事務模型使得能夠在部署時定義構成一個單一事務的方法之間的關系,以使一個事務中的所有方法被處理成一個單一的單元。這是我們所希望的,因為一個事務是一系列步驟,這些步驟要么全部完成,要么全部取消。例如,一個Enterprise Beans 可能有一組方法,使我們可以通過從第一個賬戶借出并存入第二個賬戶的方式而將錢從第一個賬戶轉(zhuǎn)移到第二個賬戶。我們希望全部的操作被作為一個單元對待,這樣,如果在借出之后存入之前發(fā)生了故障,該借出操作被取消。事務屬性是在裝配期間定義在一個組件上的。這使得能將來自多個應用組件的方法歸到一個事務中,這說明,我們可以輕易變更一個J2EE 應用程序中的應用組件,并重新指定事務屬性,而不必改變代碼或重新編譯。在設計應用組件時,要記住,盡管Enterprise Beans 有一個可使應用組件的容器自動啟動多步事務的機制,但是Applet 和應用的客戶容器可能并不支持這一點。然而, Applet 和應用客戶容器總是能夠調(diào)用支持這一點的一個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 文件是一個帶.war 擴展名的標準JAR 文件。模塊的使用使得利用相同組件中的某些組件來組裝不同的J2EE 應用程序成為可能。例如,一個J2EE 應用程序的Web 版可能有一個Enterprise Beans 組件,還有一個JSP 頁面組件。該Enterprise Beans 組件可以與一個應用客戶組件結合,以生成該應用程序的非Web 版本。這不需要進行額外的編碼,只是一個裝配和部署的問題。并且,可重用組件使得將應用開發(fā)和部署過程劃分成由不同的角色來完成成為可能,這樣,不同的人或者公司就能完成封裝和部署過程的不同部分。
【什么是J2EE】相關文章:
j2ee介紹03-20
J2EE的概念03-19
J2EE發(fā)展狀況03-19
J2EE的基本術語03-16
J2EE基礎概念03-30
J2EE發(fā)展背景03-19
j2ee的學習路線03-18
j2ee安裝教程03-30
J2EE技術簡介03-20