JBoss野心勃勃的Web Beans(中篇)
2. 来自巨头们的担心
前面提到过,Web Beans以全票赞成通过SE/EE执行委员会的表决,但有个细节值得注意。十六个委员中,有十四个“voted Yes with no comment”,也就是说,他们投了赞成票,但没有作出任何评论,唯独有两个委员提出了自己的担心,这两个委员,一个是Bea,另一个是IBM。Bea认为,Web Beans是一项巨大的挑战,实现起来绝非易事,而IBM则担心,Web Beans试图从深层次上实现框架的集成,过于野心勃勃。
尽管Bea和IBM发表了不同意见,但他们最后还是投了赞成票。实际上,从表决的日志可以看出,Bea和IBM投票时,Gavin King已经获得了十六票中的十三票赞成,JSR评审通过已成定局,即使Bea和IBM全部投反对票,也改变不了JSR 299的命运。所以,与其得罪Gavin King,倒不如送他一个人情,免得自己的产品哪天也被Gavin King“惦记”上了。
另一个有趣的事,是Apache成为最后一个投票的委员。Apache投赞成票,估计心态和Bea、IBM一样,不过,Apache的这一赞成票更难投出。这是有原因的。Apache是Struts的拥有者,Struts称雄Web框架领域多年,就其影响力而言,比Hibernate有过之而无不及。Struts和JSF不同,JSF只涉足表示层,而Struts则脚踏表示层和应用层这两只船,虽然两脚都不是很稳。
按照Sun的规划,JSF其实和Struts是互为补充的,JSF弥补了Struts在表示层上的不足,而Struts则给JSF以应用层的支撑。Web Beans的出现,势必打破这样的布局,因为Web Beans明确以EJB为Java Web应用的应用层框架,而这可能会动摇Struts用户基础。Apache留待最后一刻才不得不投出赞成票,原因盖如此。
如果说Apache在对待Web Beans的态度上,不免有一些私心的话,那么,IBM和Bea的担心,则完全是从纯技术的角度去判断的结果。看看Web Beans的目标,就会明白IBM和Bea的担心绝非多余。概括地说,Web Beans试图统一EJB和JSF两种组件模型,使EJB能够被用做JSF的Managed Beans,从而大大简化Java Web应用的编程模型。必须说明的是,这只是对Web Beans目标的高度概括,熟悉EJB和JSF的专家,可以从这个目标中分解出一长串的任务清单,其中的每一项任务,都足以令他们挠头。
0
相关文章