首    页 建模架构 设计模式 培训咨询 jdon框架 论坛

EJB3.0和吵闹的TSS年会

彭晨阳

   本月Java界最令人鼓舞的事,莫过于EJB 3.0雏形已定,200456日,EJB总设计师Linda DeMichiel在吵闹的TSS年会上(http://www.theserverside.com/symposium/)首次公布了EJB 3.0的重大改变。

   EJB 3.0总体目标是易于开发。自从EJB 1.0出来后,曾经遭受了很多人的抨击,后来总算推出EJB 2.0,改正了以前不少问题,特别是性能问题,但是和.NET相关技术相比,EJB难于学习和使用已经成为EJBJ2EE发展壮大的致命危险。

   在这个关键时刻,EJB标准委员会经过9个多月的努力,听取了各方面意见,特别吸取了开源领域的轻量编程模型思想,推出了EJB3.0新构想,EJB 3.0最主要有以下几个特点:

   首先易于开发使用,目前的EJB对于程序员来说是重量的,因为程序员建立一个EJB需要很多步骤:建立几个接口文件和一个配置文件。

EJB3.0中,建立一个Session bean将会非常简单,如下:

@Session public class HelloWorldBean {

   public void sayHello (String s) {

      System.out.println(“Hello:”+s);

   }

}

   其次,引入Dependency Injection 模式(一种新的Ioc模式,也是AOP基础模式)替代了JNDILookUp,这样使得在EJB容器外测试程序变得更加容易。

   最后是简化了持久层实体Bean CMP,现在EJB中的实体Bean CMP因为重量且复杂被很多程序员指责甚至攻击,因此,开源项目Hibernate成为很多程序员的新宠儿,EJB 3.0吸取了HibernateTopLink轻量特点,简化了CMP,从而使得EJB 3.0CMP足以在持久层技术和Hibernate之类ORM产品形成了竞争。

   Gavin King通过Hibernate启动了J2EE持久层技术的选择之争,Gavin King最近在他的Bloghttp://blog.hibernate.org/cgi-bin/blosxom.cgi/)中又对JDO发动了“无情的批判”,他认为JDO存在很多缺点,需要重写,但是相比重写JDO EJB 3.0 的实体Entity 更接近ORM解决方案。同时,三个主要的J2EE应用服务器厂商(BEA, IBMOracle) 都拒绝了JDO 2.0。这些厂商认为:EJB3.0应该实现更简单的持久层模型,对于J2EE没有必要使用另外一套持久层模型。(因此,CMP将继续成为EJB 3.0的持久技术,实体Bean Entity Bean将被继续保留)

   Gavin King本人目前效力于JBoss组织,从事JBossCMP引擎优化工作,从一个方面说,他同时也正把他在持久层技术上出色的才智贡献到CMP标准实现上。虽然Hibernate没有成为EJB 3.0持久层标准层技术,但是,Gavin King本人无疑是最值得尊敬和崇拜的。

   有关EJB 3.0热烈讨论目前还不断在继续,英文讨论可见TSS的专门网址:http://www.theserverside.com/news/thread.tss?thread_id=25779,中文讨论可见:http://www.jdon.com/jive/article.jsp?forum=16&thread=13853

   在EJB 3.0雏形公布之前,Java社区盛行各种排斥EJB的思想和言论,其中不乏各种原因,其中一个主要原因是,EJB产品曾经是昂贵和贵族的代名词,而EJB标准委员会主要成员是世界上除微软以外的最大几个软件厂商,开源社区的矛头是直接指向这些商家。甚至EJB的开源项目JBoss也未被幸免,被一些极端粉子讥讽为傀儡。

  Rod Johnson是反EJB方面一个代表人物,他创建了著名的开源项目Spring,这个基于AOP的开源框架最终目标是取代EJBRod Johnson在这次TSS年会专门开办了讲座:J2EE without EJBs,目前Tomca+Spring+Hibernate逐渐成为J2EE开发者偏好的一种架构选择。

  其实,现在的EJB难于使用是促使现在的程序员另结新欢的主要原因,也许EJB标委会注意到了这个问题,因此同样也在这次年会上首次公布了EJB 3.0雏形,这总算让EJB支持者大舒了一口气,他们也发表了自己的看法,见下列网址:http://radio.weblogs.com/0135826/2004/05/09.html#a27

  所以,这次TSS年会也算开得惊心动魄,Java社区各种思潮都集中在这里碰撞,当然,这些对于喜欢清静的一些国人看来可能过于喧闹,特别是那些在Java门口观望的程序员可能感到担心,是不是Java技术有问题啊,怎么没有一个让人可以放心选用的技术啊?是否可以等到Java社区争论完毕,再进入Java世界呢?

  其实,这是一种误解,没有完美的技术,只有合用的技术,争论代表活力和希望,Java社区的吵闹正体现了Java世界的开放和自由,在Java社区,开发者可以真正自己当家作主,可以自己根据实际情况选择适合自己的技术,难道你愿意放弃这种自主的选择权吗?

 

Java企业系统架构选择考量

JBoss 5迎来Java的彻底的可配置时代

Simplify the Best:轻量框架

Ioc模式(又称DI:Dependency Injection)

IOC模式的思考和疑问

关于SPING与EJB的胡言乱语--重和轻永恒的话题

EJB3与EJB2架构对比

面向对象与领域建模

 

更多POJO专题

更多依赖注射专题

更多AOP专题

更多Annotation专题

更多EJB3专题

更多关于IOC讨论

更多关于AOP讨论

进入相关讨论

 

 


更多标签...



Jdon框架演示

JiveJdon
源码下载

VIP收费区

历史热点讨论排行榜




google yahoo 新浪ViVi 365Key网摘 天极网摘 CSDN网摘 添加到百度搜藏 POCO网摘





手机 add to google add to yahoo
联系我们 | 关于我们 | 广告联系 | 网站地图 | 设为首页

沪ICP证08026060 如有意见请与我们联系 Powered by JdonFramework
_×
您有新消息