- EJB 3.1從入門到精通
- 宋智軍 米偉哲 武桂香編著
- 5字
- 2018-12-30 07:49:11
第1章 概述
1.1 EJB的發展歷史
EJB(Enterprise Java Bean, 企業Bean)是生成業務應用的主要分布式組件模型,是J2EE體系的核心部分。EJB使業務邏輯實現與系統級服務分開,從而使開發者能夠輕松構建企業級分布式組件應用。從1998年EJB 1.0到現在的最高版本EJB 3.1,EJB得到了很好的普及和發展。首先讓我們簡單回顧一下EJB的發展歷史。
(1)EJB 1.0
1998年3月在San Francisco召開的JavaOne98開發者大會上,Sun公司正式發布了EJB 1.0,這是EJB的第一個版本。該版本開始支持有狀態和無狀態的服務器對象(稱為會話Bean),這也是最早的會話Bean,并且支持持久化域對象(稱為實體Bean)。為了兼容性和遠程訪問,EJB 1.0提供了良好的分布式支持功能,它允許通過遠程接口來遠程調用EJB中的業務方法。正是由于它提供了一組遠程訪問的規范,導致遠程也需要部署基礎架構,加大了系統的開銷,影響性能。
(2)EJB 1.1
EJB 1.1的發布對1.0版本中的一些特性做了補充說明和改進,其中主要引入了XML格式的部署文件,使XML配置文件以聲明的方式來對原數據進行配置,而不是像1.0版本那樣需要一個單獨的class文件來存儲。
(3)EJB 2.0
EJB 2.0通過引入本地接口的概念和措施,解決了以前版本中強制遠程訪問所帶來的系統開銷和性能下降的問題,它允許開發者自己決定是否要讓EJB組件支持遠程訪問,如果EJB組件不需要支持遠程訪問,則讓Bean實現類實現本地接口即可,這就可以避免遠程訪問所帶來的系統開銷和性能下降。EJB 2.0最大的貢獻就是提出了消息驅動Bean,能夠參與異步消息系統,從而解決了EJB應用的異步調用問題。
(4)EJB 2.1
EJB 2.1增加了Web Service的支持,并兼容SOAP協議,允許會話Bean暴露站點接口,從而更有利于異構系統的整合。不僅如此,EJB 2.1還加入了定時自動執行功能,可按照指定的時間或者時間間隔調用EJB的業務方法,這種定時功能非常方便地為系統提供任務高度的支持。除此之外,EJB 2.1還提供了擴展EJB QL的功能,并引入XML schema來替換定義ejb-jar.xml部署描述文件的DTD。
(5)EJB 3.0
EJB 3.0不是以前版本的修訂和改良,而是與舊版本有截然不同的規范,其中最突出的特點是實體Bean模型被實體模型所取代,只保留了原有的Session Bean和消息驅動Bean。EJB 3.0的開發模式,極大地簡化了EJB的開發模式,也優化了EJB技術本身,并降低了EJB的復雜性。EJB 3.0提供服務器解決方案的完整套裝,包括持久化、消息、輕量型計劃、遠程處理、Web服務、依賴注入(Dependency Injection,DI)和攔截器。這就是說,我們不必花費很多時間尋找第三方工具并將其集成到應用程序中。此外,EJB 3.0提供與其他Java EE技術以及持久化層技術的無縫集成,比如,JDBC、Java事務API(Java Transaction API,JTA)、Java消息服務(Java Messaging Service,JMS)、Java驗證和授權服務(Java Authentication and Authorization Service,JAAS)、JavaServer Pages(JSP)、servlet、JavaServer Faces(JSF)和Swing,等等。
(6)EJB 3.1
EJB 3.1的主要目標是使EJB盡可能簡單,其核心思想就是要簡化EJB架構,同時引入一些急需的新特性,目前已經作為JavaEE 6規范的一部分被發布,去掉了EJB 3.0繁瑣的編程模型,而帶給Java EE 6一個更簡單的編程環境。