【IT168 专稿】到现在为止,EJB技术的出现已经快10年了,从当初的EJB1.0到现在的EJB3.0,人们总是对这项技术褒贬不一。EJB虽然强大,但使用起来过于复杂。这一点在EJB1.x和EJB2.x中表现得尤为突出。虽然EJB3.0借用了J2SE5.0的部分功能,在一定程序上简化了它的复杂度,但仍然保留了很多不尽如人意的地方。而为了使EJB真正成为企业市场的明星,Sun公司最近正在致力于制定EJB规范的修订版本EJB 3.1。然而,Sun可能并未意识到EJB并不令人满意的真正原因,更危险的是,Sun虽然到处宣传其光鲜的亮点却对批评的声音充耳不闻,其举措确实令人担心。无论如何粉饰其丑陋仍无法遮蔽。
就在去年,Sun 推出Java EE 5以及EJB 3.0的时候,规范中去除了实体Bean。但是却没能把相关的垃圾一同处理掉。 一般人会认为Java EE规范得很好,是Sun公司的产品,而不是一无长物的废纸。也许由于被Sun铺天盖地的广告所淹没,业界媒体鲜有刊登点评其优劣的文章。所造成的不幸结果是,Java社区仍旧懵懂其中。
Sun多年来一直不肯倾听来自Java社区的声音,只会宣布些许应酬之辞。在去年,Sun本来有机会针对蹩脚的Java EE向社区道歉,并且勇于承认Spring框架的解决方案更好。然而事与愿违的是,Sun继续推出Java EE 5 规范,从而在java世界的风景上涂抹了又一道阴影。
从Java发展的历史上,随处可见Sun的傲慢态度。以日志为例,当初Java 1.4 SE中引入日志功能时,本来可以直接集成社区的Commons Logging and Log4J。但是,Sun自以为是地推出了自己的日志方案。结果自然是弊病百出。
在Java EE 5中,Sun令人失望地没有采用被大量开发人员拥戴的Hibernate技术以取代实体Bean,这些使用Hibernate的聪明人巧妙地避免使用繁重的EJB。Sun自己开发了另外一套API,期待着整个世界来采用它们重构原来的代码。
如今,Java 6 SE 已经出场了,虽然EJB 3.1中透露出的败笔令人对Java EE 6略窥端倪,大家还是屏息以待 Java EE 6,期望着EJB3.1能给我们带来更多的惊喜。
以上的看法并非推断EJB 3.1不会在 EJB 3.0的基础上有些许改进,但是改进的进程不会在短期内完成,即使其他众多现成的框架在功能上已经远远超过了EJB,Sun仍旧不会采用。这也许是因为这些Java社区没有形成共同的足够强大的声音。同时,Gosling 和 Schwartz 代表Sun在JavaOne 大会上的宣传攻势淹没了所有其它的声音。
从表面上看好象Sun在气势上占了上风,但实际上这将直接导致Java队伍中的精英转向其它语言如Ruby ,反过来造成Java的革新越来越慢。也许这正是Sun所希望的那样——由Sun完全掌控,而广大的开发人员可不希望这样。
Java社区需要一种团结一致的声音,大家要的不是EJB 3.1这样的垃圾,即使这种垃圾以精品的面貌出现。