Posted on 2006-03-02 20:59
killvin 閱讀(2700)
評論(0) 編輯 收藏 所屬分類:
java
J2EE(即Java 2 平臺企業版)是由Sun公司主持推出的一項中間件技術。從CORBA、IDL到面向消息的系統,中間件技術已經走過了很長的一段路程,如今J2EE作為中間件技術史上的一塊具有決定意義的里程碑,正受到業界越來越廣泛的重視和采納。
J2EE,一方面有著一套相當龐大的標準體系和數個不同版本,另一方面,由于市場上應用服務器品種多樣,各家開發商使用的術語又不盡相同,因此,圍繞著J2EE,常常有不少被人誤解的地方。本文將深入探討J2EE究竟是什么,它到底能做什么。
什么是J2EE?
在試圖給J2EE 下一個明確的定義之前,我們首先要了解J2EE 并不簡單地只是一門語言、一種工具或一套服務。
· J2EE——Java 2 平臺企業版
簡單地說,J2EE是一個標準中間件體系結構,旨在簡化和規范多層分布式企業應用系統的開發和部署。J2EE方案的實施可顯著地提高系統的可移植性、安全性、可伸縮性、負載平衡和可重用性。
J2EE技術出現之前,幾家主要的中間件開發商的產品各自為陣,彼此之間缺乏兼容性,可移植性差,難以實現互操作,沒有一個被普遍認可的行業標準。J2EE的出現標志著中間件技術在經歷了多年的不斷摸索和經驗總結后,正逐步走向成熟。
J2EE的核心是一組規范和指南,定義了一個使用Java語言開發多層分布式企業應用系統的標準平臺。開發人員在這些規范和指南的基礎上開發企業級應用,同時由J2EE供應商確保不同的J2EE平臺之間的兼容性。由于基于規范的各J2EE平臺之間具有良好的兼容性, 因此J2EE應用系統可以部署在不同的應用服務器上,無需或只需進行少量的代碼修改。
· J2EE視點
下面我們將從幾個不同的側面來考察J2EE,以期讀者能對J2EE有個更全面清晰的印象。
(1)J2EE:多層、分布式中間件語法
采用多層分布式應用模型,J2EE將應用開發劃分為多個不同的層,并在每一個層上定義組件。各個應用組件根據他們所在的層分布在同一個或不同的服務器上,共同組成基于組件的多層分布式系統。典型的J2EE四層結構包括客戶層、表示邏輯層(Web層)、商業邏輯層和企業信息系統層。
有了J2EE,分布式系統的開發變得簡單了,部署的速度也可以加快。J2EE組件的分布與服務器環境無關,所有的資源都可通過分布式目錄進行訪問。這意味著開發人員不再需要為組件和資源的分布問題耗費精力,從而可以有更多的時間專注于業務邏輯的實現,提高開發效率。
(2)J2EE:企業級應用系統開發平臺
J2EE本身是一個標準,一個為企業分布式應用的開發提供的標準平臺。而J2EE的實施,則具體表現為諸如BEA Web logic或IBM Web sphere之類的特定Web服務器產品。利用J2EE應用-編程模型開發的企業應用系統,可以部署在不同廠商生產的、但相互兼容的J2EE 應用服務器上。
目前,市場上基于J2EE的Web服務器品種繁多,性能特點各有千秋,每家廠商的產品都有精心設計的獨到之處。但與產品個性無關的是,所有的J2EE應用服務器都為企業級應用系統的開發和部署提供了一個共同的基礎。
(3)J2EE:電子化應用開發模型
J2EE應用很容易發布到Web、掌上電腦或移動電話等手持設備上。換言之,應用組件可以很輕松地實現電子化。J2EE的應用-編程模型保證組件在向不同類型的客戶端移植過程中,商業邏輯和后端系統保持不變。
此外,J2EE平臺的其他主要優點還有:自動負載平衡、可伸縮、容錯和具有故障排除等功能。部署在J2EE環境中的組件將自動獲得上述特性,而不必增加額外的代碼開銷。
J2EE所有這些特性對于需要構建全天候網絡門戶的企業來說顯得尤為重要。
(4)J2EE:Web應用服務器上廣泛采用的標準
可以說,J2EE是首個獲得業界廣泛認可和采納的中間件標準。目前幾乎所有的一流Web應用服務器,如BEA的Web logic、IBM的Web sphere、HP的應用服務器、Sun的iPlanet和Macromedia的Jrun等,都是基于J2EE的。迄今為止,還沒有哪個其他標準能獲得如此眾多的中間件供應商的一致支持。
而且,有了J2EE,企業的應用開發對于某個特定的開發商或應用服務供應商的依賴性更小。應用組件只要符合J2EE規范,完全可以部署在不同的應用服務器上。為了確保不同廠商的J2EE應用服務器的兼容性和一致性,Sun公司發布了J2EE兼容性測試包。
· J2EE究竟是什么
至此,我們可以試著用一句話來概括J2EE,那就是:J2EE是一個中間件基礎架構,有了它,開發者只需要集中精力編寫代碼來表達企業應用的商業邏輯和表示邏輯,至于其他系統問題,如內存管理,多線程,資源分布和垃圾收集等,都將由J2EE自動完成。
J2EE如何應對挑戰?
在這一部分里,我們將探討J2EE是如何應對企業開發過程中所面臨的問題,以及如何為企業未來發展之需要提供空間。
· 獨立于硬件配置和操作系統
J2EE運行在Java虛擬機(JVM)上,利用Java本身的跨平臺特性,獨立于硬件配置和操作系統。Java運行環境(JRE)——JVM的可安裝版本加上其他一些重要組件——幾乎可以運行于所有的硬件/OS組合。因此,通過采用Java,J2EE使企業免于高昂的硬件設備和操作系統的再投資,保護已有的IT資源。在很多情況下,J2EE還可以直接運行在EIS服務器環境中,從而節約網絡帶寬,提高性能。
· 堅持面向對象的設計原則
作為一門完全面向對象的語言,Java幾乎支持所有的面向對象的程序設計特征。面向對象和基于組件的設計原則構成了J2EE應用編程模型的基礎。
J2EE多層結構的每一層都有多種組件模型。因此,開發人員所要做的就是為應用項目選擇適當的組件模型組合,靈活地開發和裝配組件,這樣不僅有助于提高應用系統的可擴展性,還能有效地提高開發速度,縮短開發周期。此外,基于J2EE的應用還具有結構良好,模塊化,靈活和高度可重用性等優點。
· 靈活性、可移植性和互操作性
利用Java的跨平臺特性,J2EE組件可以很方便地移植到不同的應用服務器環境中。這意味著企業不必再拘泥于單一的開發平臺。
J2EE的應用系統可以部署在不同的應用服務器上,在全異構環境下,J2EE組件仍可彼此協同工作。這一特征使得裝配應用組件首次獲得空前的互操作性。例如,安裝在IBM Websphere環境下的EJB,一方面可以直接與Websphere環境下的CICS直接交互,另一方面也可以通過安裝在別處的BEA Weblogic 服務器上的EJB進行訪問。
· 輕松的企業信息系統集成
J2EE技術出臺后不久,很快就將JDBC、 JMS和 JCA等一批標準納歸自身體系之下,這大大簡化了企業信息系統整合的工作量,方便企業將諸如legacy system(早期投資系統),ERP和數據庫等多個不同的信息系統進行無縫集成。
由于幾乎所有的關系型數據庫系統都支持JDBC,因此只需借助必要的JDBC驅動程序,J2EE應用就可以和所有主流數據庫系統進行通信。類似的,目前業界正冒出一批基于Java連接器體系標準的EI適配器,也用于提供各類legacy system和ERP/CRM的無縫集成。
· 引進面向服務的體系結構
隨著Web服務以及SOAP等開放標準的出現,企業異構系統之間的互操作性成為可能。J2EE,作為一個可擴展平臺,很自然需要加入Web服務特性。為此,Sun公司發布了一整套稱為“JAX包”的API,支持從XML語法分析、XML綁定、SOAP消息發送、注冊表查尋、XML RPC到XML消息傳遞等所有各種Web服務需求。
雖然J2EE平臺的出現早于Web服務技術,但它的可擴展能力使它能很好地適應技術的最新發展。我們有理由相信,在未來,J2EE將引入更多的技術進步而不會動搖它的核心框架和應用-編程模型。
結束語
作為一個被業界廣泛采用的中間件標準,J2EE是開發可伸縮的、具有負載平衡能力的多層分布式跨平臺企業應用的理想平臺。J2EE的首要任務在于提供一個標準中間件基礎架構,由該基礎架構負責處理企業開發中所涉及的所有系統級問題,從而使得開發人員可以集中精力重視商業邏輯的設計和應用的表示,提高開發工作的效率。
J2EE有效地滿足了行業需求,提供獨立于操作系統的開發環境。基于J2EE的應用系統靈活且易于移植和重用,可運行在不同廠家的Web服務器上。更為重要的是,J2EE是一個開放體系,完全有能力適應未來技術的進步和發展。