J2EE是一種利用Java 2平臺(tái)來(lái)簡(jiǎn)化企業(yè)解決方案的開(kāi)發(fā)、部署和管理相關(guān)復(fù)雜問(wèn)題的體系結(jié)構(gòu),可以用于開(kāi)發(fā)大型的、多層次的以及分布式的企業(yè)級(jí)應(yīng)用系統(tǒng)
從嚴(yán)格的意義上說(shuō),J2EE并不是一種語(yǔ)言。它是一組規(guī)范、技術(shù)框架及技術(shù)的集合,用于創(chuàng)建分布式企業(yè)系統(tǒng)。J2EE由一些程序語(yǔ)言和腳本語(yǔ)言組成,包括Java、XML、JSP、HTML、SQL等等。J2EE的優(yōu)點(diǎn)有:跨平臺(tái)可移植性(cross-platform portability),開(kāi)源代碼庫(kù)的可用性(availability of open-source libraries),服務(wù)端的大容量調(diào)度基數(shù)(a huge server-side deployment base)、符合大多數(shù)W3C標(biāo)準(zhǔn)等。
J2EE平臺(tái)的優(yōu)點(diǎn)
摘要: J2EE平臺(tái)支持簡(jiǎn)化的、基于組件開(kāi)發(fā)模型,由于J2EE基于Java編程語(yǔ)言和J2SE平臺(tái)
1.簡(jiǎn)化結(jié)構(gòu)
J2EE平臺(tái)支持簡(jiǎn)化的、基于組件開(kāi)發(fā)模型,由于J2EE基于Java編程語(yǔ)言和J2SE平臺(tái),它提供了編寫(xiě)一次,隨處運(yùn)行的可移植性,遵循J2EE標(biāo)準(zhǔn)的所有服務(wù)器都支持該模型。
EJB組件使編寫(xiě)應(yīng)用程序更為簡(jiǎn)單。盡管EJB體系結(jié)構(gòu)復(fù)雜,但應(yīng)用程序開(kāi)發(fā)人員一般都必再編寫(xiě)訪(fǎng)問(wèn)系統(tǒng)服務(wù)的代碼,EJB容器會(huì)實(shí)現(xiàn)系統(tǒng)級(jí)的服務(wù),例如,事務(wù)、安全性等。
另外,J2EE還支持異構(gòu)環(huán)境。基于J2EE的應(yīng)用程序不依賴(lài)任何特定操作系統(tǒng)、中間件或硬件,因此,設(shè)計(jì)合理的基于J2EE的程序只需開(kāi)發(fā)一次就可以部署到各種平臺(tái),這在典型的異構(gòu)企業(yè)算環(huán)境中是十分關(guān)鍵的。J2EE標(biāo)準(zhǔn)還允許客戶(hù)訂購(gòu)與J2EE兼容的第三方的現(xiàn)成組件,把其部署到異構(gòu)環(huán)境中,節(jié)省了由自己制訂整個(gè)方案所需的費(fèi)用。
2.提高開(kāi)發(fā)效率
由于組件技術(shù)的使用,可以按照開(kāi)發(fā)人員的技能對(duì)應(yīng)用程序開(kāi)發(fā)進(jìn)行分工,并行開(kāi)發(fā),提供整體開(kāi)發(fā)效率。例如:圖形設(shè)計(jì)師創(chuàng)建JSP模板,商業(yè)邏輯由該領(lǐng)域的專(zhuān)家完成,JSP頁(yè)面和EJB由Java工程師完成,應(yīng)用程序的裝配和部署由團(tuán)隊(duì)中其他的成員完成,其中許多工作可以同時(shí)進(jìn)行,有助于加速應(yīng)用程序的開(kāi)發(fā)。
3.可移植性強(qiáng)
除了Java語(yǔ)言固有的可移植性外,EJB體系結(jié)構(gòu)在Bean和支持該Bean的容器之間提供了一套標(biāo)準(zhǔn)化的應(yīng)用程序編程接口,這使開(kāi)發(fā)人員能夠?qū)?/span>Bean從一種操作環(huán)境移植到另一種操作環(huán)境,而無(wú)需重新編寫(xiě)其源代碼。
4.重用性好
由于在EJB模型中,各個(gè)軟件組件都是嚴(yán)格分離的,因此,可以從現(xiàn)有的軟件組件裝配出服務(wù)器端應(yīng)用程序,這與從現(xiàn)有的JavaBean可以裝配出客戶(hù)端應(yīng)用程序一樣,使軟件能夠重用。
5.易于維護(hù)
基于組件的設(shè)計(jì)簡(jiǎn)化了應(yīng)用程序的維護(hù)。由于組件可以被獨(dú)立地更新和替代,通過(guò)更新應(yīng)用程序中特定的組件,新的功能可以被很容易地增加。
6.可伸縮性
企業(yè)必須要選擇一種服務(wù)器端平臺(tái),以便滿(mǎn)足那些在它們系統(tǒng)上進(jìn)行商業(yè)動(dòng)作大批新客戶(hù)。基于J2EE平臺(tái)的應(yīng)用程序可被部署到各種操作系統(tǒng)上,例如,可被部署到高端UNIX或其他的大型機(jī)系統(tǒng)上。J2EE領(lǐng)域的供應(yīng)商提供了更為廣泛的負(fù)載平衡策略,能消除系統(tǒng)中的瓶頸,允許多臺(tái)服務(wù)器集成部署,實(shí)現(xiàn)可高度伸縮的系統(tǒng),滿(mǎn)足未來(lái)商業(yè)應(yīng)用的需要。
7.被廣泛接受
主要的IT供應(yīng)用商都采納EJB體系結(jié)構(gòu),不同供應(yīng)商的產(chǎn)品只要符合EJB體系結(jié)構(gòu),就都是可互操作的。
8.保護(hù)投資
由于企業(yè)必須適應(yīng)新的商業(yè)需求,充分利用現(xiàn)有的企業(yè)信息系統(tǒng)投資,而不是重新制定,全盤(pán)更新方案就變得尤為重要,這樣,一個(gè)以漸進(jìn)的(而不是激進(jìn)的,全盤(pán)否定的)方式建立在現(xiàn)有系統(tǒng)之上的服務(wù)器平臺(tái)是大多數(shù)公司所希望的。
J2EE架構(gòu)可以充分利用用戶(hù)有的投資,通過(guò)允許將現(xiàn)有的信息系統(tǒng)和資產(chǎn)“包裹”在J2EE應(yīng)用程序中,不要求客戶(hù)更換現(xiàn)有技術(shù)。事實(shí)上,在關(guān)系數(shù)據(jù)庫(kù)中存儲(chǔ)數(shù)據(jù)的企業(yè),已經(jīng)有了一套已具雛形的實(shí)體Bean,正等著通過(guò)EJB外殼去訪(fǎng)問(wèn)。
這之所以成為可能,主要是因?yàn)?/span>J2EE擁有廣泛的業(yè)界支持和一些重要的“企業(yè)計(jì)算”領(lǐng)域供應(yīng)商的參與,每一個(gè)供應(yīng)商都對(duì)現(xiàn)有的客戶(hù)提供了不用廢棄自己已有投資的升級(jí)途徑。由于基于J2EE平臺(tái)的產(chǎn)品幾乎能夠在任何操作系統(tǒng)和硬件運(yùn)行,現(xiàn)有的操作系統(tǒng)和硬件也能被保留使用。
一、J2EE提出的背景
1、 企業(yè)級(jí)應(yīng)用框架的需求
在許多企業(yè)級(jí)應(yīng)用中,例如數(shù)據(jù)庫(kù)連接、郵件服務(wù)、事務(wù)處理等都是一些通用企業(yè)需求模塊,這些模塊如果每次再開(kāi)發(fā)中都由開(kāi)發(fā)人員來(lái)完成的話(huà),將會(huì)造成開(kāi)發(fā)周期長(zhǎng)和代碼可靠性差等問(wèn)題。于是許多大公司開(kāi)發(fā)了自己的通用模塊服務(wù)。這些服務(wù)性的軟件系列同陳為中間件。
2、 為了通用必須要提出規(guī)范,不然無(wú)法達(dá)到通用
在上面的需求基礎(chǔ)之上,許多公司都開(kāi)發(fā)了自己的中間件,但其與用戶(hù)的溝通都各有不同,從而導(dǎo)致用戶(hù)無(wú)法將各個(gè)公司不同的中間件組裝在一塊為自己服務(wù)。從而產(chǎn)生瓶頸。于是提出標(biāo)準(zhǔn)的概念。其實(shí)J2EE就是基于JAVA技術(shù)的一系列標(biāo)準(zhǔn)。
注:中間件的解釋 中間件處在操作系統(tǒng)和更高一級(jí)應(yīng)用程序之間。他充當(dāng)?shù)墓δ苁牵簩?yīng)用程序運(yùn)行環(huán)境與操作系統(tǒng)隔離,從而實(shí)現(xiàn)應(yīng)用程序開(kāi)發(fā)者不必為更多系統(tǒng)問(wèn)題憂(yōu)慮,而直接關(guān)注該應(yīng)用程序在解決問(wèn)題上的能力 。