EJB3.0和吵闹的TSS年会

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

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

   在这个关键时刻,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基础模式)替代了JNDI的LookUp,这样使得在EJB容器外测试程序变得更加容易。

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

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

   Gavin King本人目前效力于JBoss组织,从事JBoss的CMP引擎优化工作,从一个方面说,他同时也正把他在持久层技术上出色的才智贡献到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的开源框架最终目标是取代EJB,Rod 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社区,开发者可以真正自己当家作主,可以自己根据实际情况选择适合自己的技术,难道你愿意放弃这种自主的选择权吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值