J2EE平臺簡介

 文章出處:中流砥柱 作者:javafan

1.1 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定義的簡單的接口,就可以實現複雜的應用,而不必去關注低級的技術細節。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章