J2EE平臺簡介

1.1.1 J2EE規範

J2EE(Java 2 Platform,Enterprise Edition)是SUN公司定義的一個開發分佈式企業級應用的規範。它提供了一個多層次的分佈式應用模型和一系列開發技術規範。多層次分佈式應用模型是指根據功能把應用邏輯分紅多個層次,每一個層次支持相應的服務器和組件,組件在分佈式服務器的組件容器中運行(如Servlet組件在Servlet容器上運行,EJB組件在EJB容器上運行),容器間經過相關的協議進行通信,實現組件間的相互調用。聽從這個規範的開發者將獲得行業的普遍支持,使企業級應用的開發變得簡單、快速。

1.1.2 J2EE組件層次

J2EE組件和層次如圖1-1所示。
圖1-1 J2EE組件層次(略)
J2EE規範定義了以下組件:
★客戶端組件
★Web組件
★EJB組件
J2EE規範定義瞭如下四個層次。
1.客戶端層(Client Tier)
客戶端層用來實現企業級應用系統的操做界面和顯示層。另外,某些客戶端程序也可實現業務邏輯。可分爲基於Web的和非基於Web的客戶端兩種狀況。基於Web的狀況下主要做爲企業Web服務器的瀏覽器。非基於Web的客戶層則是獨立的應用程序,能夠完成瘦客戶機沒法完成的任務。
2.Web層
爲企業提供Web服務。包括企業信息發佈等。Web層由Web組件組成。J2EE Web組件包括JSP頁面和Servlets。Web層也能夠包括一些JavaBeans。Web層主要用來處理客戶請求,調用相應的邏輯塊,並把結果以動態網頁的形式返回到客戶端。
3.業務層(Business Tier)
業務層也叫EJB層或應用層,它由EJB服務器和EJB組件組成。通常狀況下許多開發商把Web服務器和EJB服務器產品結合在一塊兒發佈,稱爲應用服務器。EJB層用來實現企業級信息系統的業務邏輯。這是企業級應用的核心,由運行在業務層中的EJB來處理。一個Bean從客戶端接收數據、處理,而後把數據送到企業信息系統層存儲起來。一樣,一個Bean也能夠從企業信息系統取出數據,發送到客戶端程序。業務層中的EJB要運行在容器中,容器解決了底層的問題,如事務處理、生命週期、狀態管理、多線程安全管理、資源池等。
4.企業信息系統層(Enterprise Information System tier)
處理企業系統軟件,包括企業基礎系統、數據庫系統及其餘遺留的系統。J2EE未來的版本支持鏈接架構(Connector Architecture)。它是鏈接J2EE平臺和企業信息系統層的標準API。
業務層和Web層共同組成了三層J2EE應用的中間層,其餘兩層是客戶端層和存儲層或企業信息系統層。
5.J2EE的分佈應用技術
爲實現企業級分佈式應用,J2EE定義了豐富的技術標準,符合這些標準的開發工具和API爲開發企業級應用提供支持。這些技術涵蓋數據庫訪問、分佈式通訊、安全等。爲分佈式應用提供支持的多方面。
(1)組件技術
J2EE的核心思想是基於組件/容器的應用。每一個組件提供了方法、屬性、事件的接口。組件能夠由多種語言開發。組件是能夠重用的、共享的、分佈的。
(2)Servlets和JSP
Servlets用來生成動態頁面或接收用戶請求產生相應操做(調用EJB)。JSP基於文本。經過容器產生相應的Servlets,使內容和顯示分開。J2EE中提供了Servlet API,用於建立Servlets。
(3)EJB技術
EJB規範提供了一種開發和部署服務器端組件的方法。每一個EJB是按功能邏輯劃分的,開發時沒必要關注系統底層細節問題,只關注具體的事務分析。EJB開發完畢後,按規範部署在EJB容器,完成相應的事務功能。EJB支持分佈式計算。真正體現了企業級的應用。
(4)數據庫訪問
不管是傳統的企業信息系統仍是未來的企業信息系統,數據庫都佔有重要的地位。開發分佈式系統要求數據庫訪問具備良好的靈活性和擴展性。JDBC(JavaDatabase Connectivity)是一個獨立於特定的數據庫管理系統的開發接口。它提供一個通用的訪問SQL數據庫和存儲結構的機制,支持基本SQL功能的一個通用底層的應用程序編程接口。它在不一樣的數據庫界面上提供了一個統一的用戶界面。提供了多種多樣的數據庫鏈接方式。J2EE中提供了JDBC API使多種數據庫操做簡單、可行。
(5)分佈式通訊技術
分佈式通訊技術是分佈式企業系統的核心技術。J2EE框架爲Web應用和EJB應用提供多種通訊模式。
爲了使運行於某一機器上的對象調用另外一臺機器的對象,J2EE實現了以下通訊方式:
Java RMI(Remote Method Invoke):遠程方法調用。Java RMI實現Java對象間的遠程通訊。服務器用註冊器把一個名字和遠程對象綁在一塊兒,客戶機經過名字從服務器註冊器上查找遠程對象,找到後下載遠程對象的本地代理,調用遠程對象的方法。
Java IDL(Java Interface Defilation Language):接口定義語言。能夠實現Java對象的符合CORBA規範的遠程對象通訊。
JNDI(Java Naming and Directory Interface):Java命名和目錄接口。JNDI爲分佈式系統訪問遠程對象提供了一個標準的命名接口。EJB主接口對象、數據源、消息服務器等均可以用JDNI樹的形式註冊到名稱服務器中,調用它們的對象經過符合JDNI的程序接口在JNDI名稱服務器中查找指定名稱的遠程對象。
JMS(Java Message Service):Java消息服務。爲開發消息中間件應用程序定義了一套規範。Java客戶端和Java中間層訪問消息系統只要實現JMS定義的簡單的接口,就能夠實現複雜的應用,而沒必要去關注低級的技術細節。數據庫

相關文章
相關標籤/搜索