gigix
lightweight architecture带来的最重要的东西,不是性能上的提升,也不是对分布式应用(尤指EJB风格)的反动。这些方面会对EJB有冲击,但不是根本性的冲击。就像你分析的,性能,EJB可以做得更好;重视本地应用,EJB可以改善;甚至AOP,EJB可以扩展出来,JBOSS就是用AOP做的。但这些只是细枝末节的修补,不是根本性的问题。

根本性的问题在于应用的独立性。我们都知道分层的架构是为了隔离变化、摆脱绑定,但是lightweight architecture让我们真正看到了一个完全无绑定的应用架构是可以实现的,至少是理论可行的。你说在“无侵入”的方面EJB和Spring是五十步与百步,从目前的效果上来说是这样,但两者的理念却是完全不同的(至少在EJB3.0之前)。朝着lightweight architecture的方向继续努力,一个完全不绑定任何框架产品的应用架构是可望而可及的。这是lightweight architecture带来的最大的理念冲击。

第一,所谓企业应用,除了联机事务处理之外,还包括联机分析处理。

第二,联机事务处理不等于EJB,就好象J2EE不等于EJB一样。J2EE提供了企业应用所必须的基础设施服务,例如事务管理、资源池缓存、分布、远程。

potian
事实上,现在所有的EJB服务基本上都有单独的产品支持,EJB1.0,2.0走的是一条all in one地解决方案,这是因为原先这些产品要么太高端,不够普及,要么相互之间的集成性不好,一旦一个系统需要所有这些服务或者这些服务的大多数,很多公司都没有这样的财力、人力作这样的集成,应该说在当时的环境下,EJB确实是一个普及和提升的过程

但随着这些服务的普及(例如TPMonitor和JTS)以及在EJB上应用这些服务的经验,新的体系结构(微核心,JMX),新的编程范式(AOP)的推广和应用,大家又发现并不是所有的应用都需要所有的服务,就考虑是不是可以用任意拆卸的方式使用这些服务。

我想没有EJB的经验就没有今天这样的想法,这是一个螺旋上升的过程。
评论
发表评论

您还没有登录,请登录后发表评论

dogo
搜索本博客
最近加入圈子
最新评论
评论排行榜