程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2EE >> J2EE 藍圖摘要二——J2EE基本架構:概述

J2EE 藍圖摘要二——J2EE基本架構:概述

編輯:J2EE
電子商務和信息技術的快速發展及對它的需求給應用程序開發人員帶來了新的壓力。必須以比以前更少的金錢、更少的資源來更快地設計、建立和生產企業應用程序。 為了降低成本,並加快企業應用程序的設計和開發,J2EE平台提供了一個基於組件的方法,來設計、開發、裝配及部署企業應用程序。J2EE平台提供了多層的分布式應用模型、組件重用、一致化的安全模型以及靈活的事務控制。您不僅可以比以前更快的速度向市場推出創造性的客戶解決方案,而且,您的平台獨立的、基於組件的J2EE解決方案不會被束縛在任何一個廠商的產品和API上。 J2EE規范定義了以下種類的組件: 應用的客戶組件(Application clIEnt components) Enterprise JavaBeans(tm)組件(Enterprise JavaBeans(tm) components) Servlets及JavaServer Pages(JSP頁面)組件(Servlets and JavaServer Pages (JSP pages) components) Applets 一個多層的分布式的應用模型意味著應用邏輯被根據功能而劃分成組件,並且可以在同一個服務器或不同的服務器上安裝組成J2EE應用的這些不同的組件。一個應用組件應被安裝在什麼地方,取決於該應用組件屬於該多層的J2EE環境中的哪一層。這些層是客戶層、Web層、業務層及企業信息系統層(EIS)。 客戶層 J2EE應用可以是基於Web的,也可以不是基於Web的。在一個基於Web的J2EE應用中,用戶的浏覽器在客戶層中運行,並從一個Web服務器上下載Web層中的靜態HTML頁面或由JSP或Servlets生成的動態HTML頁面。在一個不基於Web的J2EE應用程序中,一個獨立的客戶程序,並不運行在一個HTML頁面中,而是運行在其他一些基於網絡的系統中,在不經過Web層的情況下訪問enterprise beans。該不基於Web的客戶層可能也包括一個JavaBeans類來管理用戶輸入,並將該輸入發送到在企業層中運行的enterprirse beans類來處理。根據J2EE規范,JavaBeans類不視為組件。 為J2EE平台編寫的JavaBeans類有實例變量和用於訪問實例變量中的數據的“get和set方法”。以此種方式使用的JavaBeans類在設計和實現上通常都是簡單的,但是它們必須符合JavaBeans規范中列出的命名和設計約定。 Web層 J2EE Web層組件可以由JSP頁面、基於Web的applets以及顯示HTML頁面的servlets組成。調用servlets或者JSP頁面的Html頁面在應用程序組裝時與Web組件打包在一起。就像客戶層一樣,Web層可能包括一個JavaBeans類來管理用戶輸入,並將輸入發送到在業務層中運行的enterprise beans類來處理。 運行在客戶層的Web組件依賴容器來支持諸如客戶請求和響應以及enterprise beans查詢等。 業務層作為解決或滿足某個特定業務領域(比如銀行、零售或金融業)的需求的邏輯的業務代碼由運行在業務層的enterprise beans來執行。一個enterprise beans從客戶程序處接收數據,對數據進行處理(如果需要),再將數據發送到企業信息系統層存儲。一個enterprise bean還從存儲中檢索數據,並將數據送回客戶程序。 運行在業務層的enterprise beans依賴於容器來為諸如事務、生命期、狀態管理、多線程及資源存儲池提供通常都非常復雜的系統級代碼。 業務層經常被稱作Enterprise JavaBeans(EJB)層。業務層和Web層一起構成了3層J2EE應用的中間層,而其他兩層是客戶層和企業信息系統層。 企業信息系統層企業信息系統層運行企業信息系統軟件,這層包括企業基礎設施系統,例如企業資源計劃(ERP)、大型機事務處理(mainframe transaction processing)、數據庫系統及其他遺留信息系統(legacy information systems)。J2EE應用組件因為某種原因(例如訪問數據庫)可能需要訪問企業信息系統。 注意:J2EE平台的未來版本將支持Connector架構,該架構是將J2EE平台連接到企業信息系統上的一個標准API。 查詢服務(lookup services)因為一個J2EE應用程序的組件是單獨運行的,並且往往在不同的設備上運行,因此,需要一種能讓客戶層和Web層代碼查詢並引用其他代碼和資源的方法。客戶層和Web層代碼使用Java命名和目錄接口(JNDI)來查詢用戶定義的對象(例如enterprise beans)、環境條目(例如一個數據庫驅動器的位置)、企業信息系統層中用於查找資源的JDBC DataSource對象,以及消息連接。 安全(Security) J2EE安全模型允許配置一個Web或enterprise bean組件,使系統資源只能由授權的用戶訪問。例如,一個Web組件可以被配置成提示輸入用戶名和密碼。一個enterprise bean組件可以被配置成只能讓特定團體中的成員調用其某種方法。或者,一個servlet組件可以被配置成讓某個組織中的所有人都能訪問其某些方法,同時只讓該組織中的某些享有特權的人訪問另一些方法。同樣是該servlet組件,可以針對另外一個環境而被配置成讓每個人都能訪問其所有方法,或者僅讓選定的少數人訪問其所有方法。 事務管理(Transaction Management) J2EE事務模型使得能夠在部署時定義構成一個單一事務的方法之間的關系,以使一個事物中的所有方法被處理成一個單一的單元。這是我們所希望的,因為一個事物是一系列步驟,這些步驟要麼全部完成,要麼全部取消。 例如,一個enterprise bean可能有一組方法,使我們可以通過從第一個帳戶借出並存入第二個帳戶的方式而將錢從第一個帳戶轉移到第二個帳戶。我們希望全部的操作被作為一個單元對待,這樣,如果在借出之後存入之前發生了故障,該借出操作被取消。 事務屬性是在裝配期間定義在一個組件上的。這使的能將來自多個應用組件的方法歸到一個事務中,這說明,我們可以輕易變更一個J2EE應用程序中的應用組件,並重新指定事務屬性,而不必改變代碼或重新編譯。 應當注意,JSP頁面和servlets沒有被設計成是事務的,它們通常將事務工作交給一個enterprise bean來完成。 諸如安全和事務管理這樣的應用行為可以在部署時在Web和enterprise bean組件上進行配置。這個特征將應用邏輯從可能隨裝配而變化的配置設定中分開了。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved