欢迎访问 生活随笔!

凯发k8官方网

当前位置: 凯发k8官方网 > 前端技术 > javascript >内容正文

javascript

spring vs seam -凯发k8官方网

发布时间:2024/10/8 javascript 0 豆豆
凯发k8官方网 收集整理的这篇文章主要介绍了 spring vs seam 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

转载:

spring 自从2003年发布以来,一直是java开源框架的奇迹之一。从2000年开始,伴随着b/s架构逐渐引入企业应用软件开发的领域,java就逐渐成为企业应用开发的主流技术,一直到2003年,struts+ejb一直是java技术架构的不二选择,然而这一切随着2003年spring以 without ejb的面目出现之后,一切都开始改变。

大概从2003年下半年开始,spring+hibernate就开始甚嚣尘上,似乎那时候的spring和hibernate尚且不足以动摇j2ee规范以ejb为核心的领袖地位。但是2004年5月份,吸收了 spring/hibernate框架优点的ejb3 jcp委员会的成立,事实上宣判了spring对ejb2的终结,ejb3则更像是vendor们的一种自救行为。

2004年到2006 这三年时间以来,spring取得了相当辉煌的成就,不但将ejb2赶进历史,而且牢牢确立了spring作为java企业应用开发的主流地位。而今,甚至对技术比较保守的金融电信行业,也开始言必称spring,spring已经成为java框架的事实标准。

在2004年5月份之后,hibernate team开始和spring公然决裂,这个事情放在两年多以后的今天来看,原因是昭然若揭的,背靠jboss的hibernate team已经成为ejb3规范的一部分,而jboss希望力推的以ejb3为核心的java架构来成为未来的企业应用主流标准,这种情况演变至今,变成了 springframework和jboss seam的两种不同技术架构的竞争关系。

2004年5月份,ejb3规范的起步,对spring未来其实有很大的威胁,但是ejb3规范历经两年时间的难产,终于在2006年5月正式发布之时,已经为时过晚了,抬眼望去,已尽是spring的天下。

有意思的是,大致展望一下未来,java的企业应用开发还能遵循sun和jcp制订的java ee规范的道路走下去吗?如果不是这样,那么未来道路是什么呢?

观察一下java社区几股大的势力,会发现一些有意思的现象:

ibm 和bea是java社区的领导者,从2004年开始,ibm和bea开始大肆宣传soa,将他们的目光从应用服务器领域挪到了松藕合企业服务领域,开展 soa商业战略。与此同时,ejb3专家委员会的领导者也悄然变成了jboss和oracle,是ibm和bea无力争取吗?当然不是。ibm和bea已经看到了应用服务器市场和底层框架平台即将被开源占领,商业价值萎缩,因而审时度势进行战略转型。一方面押宝soa战略,大肆炒热和培育soa市场,另一方面也积极占领开源市场,ibm放出来websphere社区版本-apache geronimo,bea干脆和spring的咨询公司interface21合作,提供spring框架在weblogic上的商业凯发k8官方网的技术支持,如今 ejb3对于他们来说已经形同鸡肋,就抛给别人嚼吧。

将ejb3当块宝的自然是应用服务器市场的跟随者jboss和oracle,一方面凭借orm的先天优势,另一方面有出头机会也不能放过,ejb3委员会几乎成了jboss和oracle的天下。特别是jboss,更加积极推出 jboss seam框架,希望确立以jsf+ejb3的架构树立java开发的标准,用以取代struts/spring/hibernate的流行组合,因而开启了ejb3和spring 正面交锋的战争。

java vendor中另外一股势力sun公司这两年则一直自顾不暇,在应用服务器领域几乎退出市场,直到最近才搞出来一个glassfish,在开发框架领域也一直毫无建树,推出的jsf至今还很不成熟,难担大任,也许sun都去忙着开源solaris和jvm源代码了。

几个大的vendor或战略转型,或自顾不暇,或忙于收购(oracle),java开发领域的主战场被打扫一空,对决的双方换成了spring和jboss。对决的武器则是spring vs seam。

spring 代表了不遵循通用标准,自己制订游戏规则,不依赖容器的一方;jboss代表了遵循通用标准,但是锁定容器的一方。这场对决从2004年5月就开始上演,未来很长时间也会继续下去。不过spring已经站在优势很大的地位上了。我个人觉得spring会胜出这场对决,而java企业应用开发的主流技术将倒向spring这一边,而vendor们官方制订的标准将被开发人员可怜的遗弃到一边。开源技术开始决定java企业开发的未来走向。

大致对比一下两者:spring vs ejb3,就会发现spring从功能上面已经胜出很多了:

1、ioc容器spring胜出

spring的ioc容器很强大,其bean管理功能超过了目前ejb3容器,配置方面spring稍微复杂一些。不过对于全局性配置来说,xml要优于ejb3的annotation。

2、aop能力spring胜出

ejb3目前提供的aop功能非常简单,本来已经无法和spring相比,至于集成aspectj的spring2.0,就更加望尘莫及了。

3、事务管理方面ejb3稍微领先

spring提供了很棒的本地事务模型,也可以集成jta,但是不支持分布式事务,当然这种场景也非常罕见。

4、web框架spring胜出

ejb3 标准集成jsf,但是jsf并不成熟,和ajax配合度也不好。spring可以灵活集成各种web框架和模板语言,自身也提供了相当强大的mvc框架,要是这还觉得不够,那么spring webflow,portlet support都拿出来,那么ejb3就必败了。

5、远程访问支持,大致持平

ejb3继承了传统的ejb远程访问能力,web services支持也不错;不过spring提供了更多更灵活的选择,java rpc,http invoker,hessian/burlap,webservices。

6、框架集成能力,spring胜出

这是spring的传统优势项目,只要看看spring modules项目,看看n多第三方spring支持,就会发现spring现在的群众基础多么好,集成工作流,spring modules已经提供了方便的模板类,集成规则引擎,cache,cms,脚本语言,异步任务,安全验证框架。。。。。。ejb3有点望尘莫及的味道

7、jms,jmx,jca等,ejb3领先一步

这些传统ejb优势项目往往应用的不太多,ejb3仍然是领先的。不过令人侧目的是,spring最近几个版本在连续追赶ejb这些传统优势领域,到 spring2.0为止,其jms,jmx,jca支持已经相当不错了,可以说传统ejb能够做的,现在spring也可以做得到,为spring一统江湖扫清了最后的障碍。

这几年除了spring框架自身不断完善和延伸到传统应用领域,围绕在spring周围的第三方框架也是越来越丰富,ejb3在annotation方面有些独到的优势,在一些传统领域,还领先spring,但是总体来说,ejb3为核心的j2ee5.0规范很难和 spring现在的2.0相匹敌,更何况java的主力vendor早已醉翁之意不在这里了,单凭jboss的seam,难以战胜spring。

觉得spring可能会越来越主流,甚至开始引领java企业开发的未来发展道路,j2ee就靠边站吧,也许java社区也到了开源社区说了算的时代了。


本文来自csdn博客,出处:http://blog.csdn.net/hbqyk/archive/2009/04/05/4049634.aspx

转载于:https://www.cnblogs.com/ztf2008/archive/2009/07/01/1514572.html

与50位技术专家面对面20年技术见证,附赠技术全景图

总结

以上是凯发k8官方网为你收集整理的spring vs seam的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得凯发k8官方网网站内容还不错,欢迎将凯发k8官方网推荐给好友。

  • 上一篇:
  • 下一篇:
网站地图