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