EJB3,我们究竟得到了什么 (1) - 信华的专栏 - CSDNBlog

来源:百度文库 编辑:神马文学网 时间:2024/04/29 01:44:22
<一>序言
在大多数情况下,J2EE是吃力不讨好的东西。它似乎永远为复杂的应用做准备,从来没有花多少心思在小型的,不那么复杂的应用上,以致开发这些不那么复杂的系统,成为了复杂的任务。什么是复杂的系统呢?工作在分布环境上,有多个不同类型的后台数据库,有异步的消息处理和复杂工作流的系统...。确实,J2EE使得建造这些系统成为了可能,但是,当我们只是想建造一个简单的Web应用或者一个简单的远程服务时,J2EE的臃肿和繁琐是开发这类系统的第一大阻碍。看完Rod Johson的<>后,估计绝大多数人会觉得EJB是这个世界上最糟糕的东西之一。
J2EE糟糕的核心是它的EJB。说到它,每个开发者都会想到,繁琐的容易出错的配置XML文件,大量的Interface,丑陋的但又去不掉的Call back函数等等。一个EJB专家可能会为他能掌握这么复杂的东西而沾沾自喜,但是,当他真的投身于一个EJB应用项目时,当他要用EJB去实现一大堆构架拉,花式拉,开发的过程不见得会开心。如果复杂的软件设计是显示IT水平的话,我们为何不回去用汇编?另一个EJB不让人开心的地方是,在我们辛辛苦苦开发完系统之后,这些所谓的组件可重用性非常差。EJB太过于依赖协调他们生命周期的容器了,用一句很概念的话来说,他们太"侵入"了。它们获取资源的方式,和环境打交道的方式使得测试他们也成为了非常困难的事情。
可以说J2EE EJB应用开发者生活在地狱里,那里有满天飞的Exception,铺天盖地的XML,丑陋的代码。。。谁能帮我们逃出地狱?目前大多数开发者会去投靠轻量级的容器,把它视为The One,确实,这些容器提供了很多诱惑我们的东东,POJO,依赖注射...甚至你还可以在那里偶尔玩玩AOP。但是JCP的专家们仍然希望大家能够投靠他们,因此他们正努力把下一个版本的J2EE变成一个"工业标准化"的The One。(说实话,"标准"不"标准"不应该使我们很感冒,"标准":一群代表大公司大企业的技术专家们讨价还价得来的结果。就像原来J2EE的诞生,那些大公司只专注于如何兼容彼此复杂系统中的标准问题,而留给世界上绝大多数只需要相对简单系统的中小公司一个"标准"化的"地狱"。)而这个"工业标准化"的The One是否能取代轻量级容器,不得而知,连有惊人预见能力的Bruce Tate也没有给一个确定的答案,我们就姑且相信一回,新的标准确能使开发变得更美好。
EJB3将会作为下一个J2EE标准的一部分被颁布,它的Proposed Final Draft已经出台。也就是说,真正颁布版本基本就是这个草案所描述的样子了。我们知道,JSR220许诺了我们很多,告诉我们它将揭示一个灿烂的明天,但是,到底我们能从这个规范中得到什么,到底JSR220兑现了多少承诺,让我在后面的章节中做个简要的探究。