官术网_书友最值得收藏!

第1章 概述

1.1 EJB的發(fā)展歷史

EJB(Enterprise Java Bean, 企業(yè)Bean)是生成業(yè)務(wù)應(yīng)用的主要分布式組件模型,是J2EE體系的核心部分。EJB使業(yè)務(wù)邏輯實(shí)現(xiàn)與系統(tǒng)級(jí)服務(wù)分開,從而使開發(fā)者能夠輕松構(gòu)建企業(yè)級(jí)分布式組件應(yīng)用。從1998年EJB 1.0到現(xiàn)在的最高版本EJB 3.1,EJB得到了很好的普及和發(fā)展。首先讓我們簡(jiǎn)單回顧一下EJB的發(fā)展歷史。

(1)EJB 1.0

1998年3月在San Francisco召開的JavaOne98開發(fā)者大會(huì)上,Sun公司正式發(fā)布了EJB 1.0,這是EJB的第一個(gè)版本。該版本開始支持有狀態(tài)和無狀態(tài)的服務(wù)器對(duì)象(稱為會(huì)話Bean),這也是最早的會(huì)話Bean,并且支持持久化域?qū)ο螅ǚQ為實(shí)體Bean)。為了兼容性和遠(yuǎn)程訪問,EJB 1.0提供了良好的分布式支持功能,它允許通過遠(yuǎn)程接口來遠(yuǎn)程調(diào)用EJB中的業(yè)務(wù)方法。正是由于它提供了一組遠(yuǎn)程訪問的規(guī)范,導(dǎo)致遠(yuǎn)程也需要部署基礎(chǔ)架構(gòu),加大了系統(tǒng)的開銷,影響性能。

(2)EJB 1.1

EJB 1.1的發(fā)布對(duì)1.0版本中的一些特性做了補(bǔ)充說明和改進(jìn),其中主要引入了XML格式的部署文件,使XML配置文件以聲明的方式來對(duì)原數(shù)據(jù)進(jìn)行配置,而不是像1.0版本那樣需要一個(gè)單獨(dú)的class文件來存儲(chǔ)。

(3)EJB 2.0

EJB 2.0通過引入本地接口的概念和措施,解決了以前版本中強(qiáng)制遠(yuǎn)程訪問所帶來的系統(tǒng)開銷和性能下降的問題,它允許開發(fā)者自己決定是否要讓EJB組件支持遠(yuǎn)程訪問,如果EJB組件不需要支持遠(yuǎn)程訪問,則讓Bean實(shí)現(xiàn)類實(shí)現(xiàn)本地接口即可,這就可以避免遠(yuǎn)程訪問所帶來的系統(tǒng)開銷和性能下降。EJB 2.0最大的貢獻(xiàn)就是提出了消息驅(qū)動(dòng)Bean,能夠參與異步消息系統(tǒng),從而解決了EJB應(yīng)用的異步調(diào)用問題。

(4)EJB 2.1

EJB 2.1增加了Web Service的支持,并兼容SOAP協(xié)議,允許會(huì)話Bean暴露站點(diǎn)接口,從而更有利于異構(gòu)系統(tǒng)的整合。不僅如此,EJB 2.1還加入了定時(shí)自動(dòng)執(zhí)行功能,可按照指定的時(shí)間或者時(shí)間間隔調(diào)用EJB的業(yè)務(wù)方法,這種定時(shí)功能非常方便地為系統(tǒng)提供任務(wù)高度的支持。除此之外,EJB 2.1還提供了擴(kuò)展EJB QL的功能,并引入XML schema來替換定義ejb-jar.xml部署描述文件的DTD。

(5)EJB 3.0

EJB 3.0不是以前版本的修訂和改良,而是與舊版本有截然不同的規(guī)范,其中最突出的特點(diǎn)是實(shí)體Bean模型被實(shí)體模型所取代,只保留了原有的Session Bean和消息驅(qū)動(dòng)Bean。EJB 3.0的開發(fā)模式,極大地簡(jiǎn)化了EJB的開發(fā)模式,也優(yōu)化了EJB技術(shù)本身,并降低了EJB的復(fù)雜性。EJB 3.0提供服務(wù)器解決方案的完整套裝,包括持久化、消息、輕量型計(jì)劃、遠(yuǎn)程處理、Web服務(wù)、依賴注入(Dependency Injection,DI)和攔截器。這就是說,我們不必花費(fèi)很多時(shí)間尋找第三方工具并將其集成到應(yīng)用程序中。此外,EJB 3.0提供與其他Java EE技術(shù)以及持久化層技術(shù)的無縫集成,比如,JDBC、Java事務(wù)API(Java Transaction API,JTA)、Java消息服務(wù)(Java Messaging Service,JMS)、Java驗(yàn)證和授權(quán)服務(wù)(Java Authentication and Authorization Service,JAAS)、JavaServer Pages(JSP)、servlet、JavaServer Faces(JSF)和Swing,等等。

(6)EJB 3.1

EJB 3.1的主要目標(biāo)是使EJB盡可能簡(jiǎn)單,其核心思想就是要簡(jiǎn)化EJB架構(gòu),同時(shí)引入一些急需的新特性,目前已經(jīng)作為JavaEE 6規(guī)范的一部分被發(fā)布,去掉了EJB 3.0繁瑣的編程模型,而帶給Java EE 6一個(gè)更簡(jiǎn)單的編程環(huán)境。

主站蜘蛛池模板: 邛崃市| 仪陇县| 中江县| 老河口市| 乐亭县| 遂昌县| 贵港市| 花莲县| 昌黎县| 麻阳| 民和| 黑山县| 通许县| 团风县| 枣庄市| 丹寨县| 道孚县| 安塞县| 城固县| 益阳市| 鄄城县| 沭阳县| 宜兴市| 阿图什市| 梁平县| 甘南县| 乌鲁木齐县| 杨浦区| 青河县| 太湖县| 长武县| 扎兰屯市| 武威市| 甘南县| 万州区| 乐亭县| 木兰县| 柳州市| 化隆| 松江区| 七台河市|