[转]如何正确地在Axis、Axis2和Apache CXF之间抉择?

标签: | 发表时间:2013-08-17 10:29 | 作者:zeo112140
出处:http://blog.csdn.net/zeo112140
新一代的 Web Services 框架如 Axis2、CXF 都是由现有的项目中逐渐演化而来的,Axis2 是由大家熟悉的 Axis 1.x 系列演化过来,而 Apache CXF 则是由 Celtix 和 XFire 项目整合而生,并且刚刚发布了 2.0.2 的最新版本,不过仍是 Apache 的一个孵化项目。 

Axis2 是对 Axis 进行了彻底的重写的一个新项目了,它使用了新的模块化架构,更方便于功能性的扩展等等。 
Apache CXF 则是由 XFire 和 Celtix 两个现有的项目进行了重组。 

问题:如果现有的应用程序是基于 Axis 1.x、XFire 或者 Celtix 的话,那应该怎么办?都迁移到这些新的框架上去吗?但是即使是要迁移,那应该迁移到哪个框架上去呢? 
如果是编写一个新的 Web Services 应用程序的话,就不存在迁移的问题了,但是哪个框架是你应当选择进行使用的呢?哪个比哪个更好呢? 

对于现在的应用程序的迁移,如果你的应用程序是稳定而成熟的,并且在可预知的未来的情况下,只要很少的一些需求变更要做的话,那么保存你的体力,不要去做“劳民伤财“的迁移工作了。 
如果你的现有应用程序BUG缠身,性能,功能等等都一片糟糕的话,那就要考虑迁移了,那选哪个框架呢?先比较一下它们的不同之处: 

  1、Apache CXF 支持 WS-Addressing、WS-Policy、WS-RM、WS-Security和WS-I BasicProfile 
  2、Axis2 支持 WS-Addressing、WS-RM、WS-Security和WS-I BasicProfile,WS-Policy将在新版本里得到支持 
  3、Apache CXF 是根据Spring哲学来进行编写的,即可以无缝地与Spring进行整合 
  4、Axis2 不是 
  5、Axis2 支持更多的 data bindings,包括 XMLBeans、JiBX、JaxMe 和 JaxBRI,以及它原生的 data binding(ADB)。 
  6、Apache CXF 目前仅支持 JAXB 和 Aegis,并且默认是 JAXB 2.0,与 XFire 默认是支持 Aegis 不同,XMLBeans、JiBX 和 Castor 将在 CXF 2.1 版本中得到支持,目前版本是 2.0.2 
  7、Axis2 支持多种语言,它有 C/C++ 版本。 
  8、Apache CXF 提供方便的Spring整合方法,可以通过注解、Spring标签式配置来暴露Web Services和消费Web Services 

如何抉择: 
1、如果应用程序需要多语言的支持,Axis2 应当是首选了; 
2、如果应用程序是遵循 Spring 哲学路线的话,Apache CXF 是一种更好的选择,特别对嵌入式的 Web Services 来说; 
3、如果应用程序没有新的特性需要的话,就仍是用原来项目所用的框架,比如 Axis1,XFire,Celtrix 或 BEA 等等厂家自己的 Web Services 实现,就别劳民伤财了。
作者:zeo112140 发表于2013-8-17 10:29:20 原文链接
阅读:23 评论:0 查看评论

相关 [正确 axis axis2] 推荐:

[转]如何正确地在Axis、Axis2和Apache CXF之间抉择?

- - 小鸥的博客
新一代的 Web Services 框架如 Axis2、CXF 都是由现有的项目中逐渐演化而来的,Axis2 是由大家熟悉的 Axis 1.x 系列演化过来,而 Apache CXF 则是由 Celtix 和 XFire 项目整合而生,并且刚刚发布了 2.0.2 的最新版本,不过仍是 Apache 的一个孵化项目.

Axis2-1.6.2 HTTPS/SSL非常慢,解决思路

- - 编程语言 - ITeye博客
最近有个项目需要由axis1.4升级到axis2-1.6.2,原因是由于axis1版本无法控制连接超时时间,只支持设置readtimeout.故需要升级. 服务器是Windows 2008 R2 + IIS+ C#,SSL双向认证 . 客户端是Windows 7 + Axis2-1.6.2. 项目是基于HTTPS访问Web service,axis1连接正常,速度正常,升级到axis2后.

雅虎推自有浏览器Axis 在苹果应用商店上线

- - cnBeta.COM
来自国外媒体的消息称,雅虎将于美国西部时间5月23日晚9点发布名为“Axis”的自由浏览器,而且其iOS应用已在苹果应用商店上线. 去年12月曾有业内人士发现,雅虎向美国专利与商标局(USPTO)申请了名为“Yahoo Axis”的新商标,但当时谁也没有猜到这个“Axis”究竟是什么产品.   网页版Axis目前尚未正式上线,但是其iOS应用已经提前在苹果应用商店上线.

深入剖析Axis2中返回值为复杂自定义类型值【步步逼近实践篇】

- - CSDN博客推荐文章
  问:Axis2中到底能否传递复杂以及自定义对象. 在开发过程中,基本类型已经不能满足要求. 所以才有有相应的List,Map,以及User对象,Dog对象等等.   比如传递User对象,我们想象一下,到底我们该怎么样,把这个对象传递过去呢. 我们再根据前面讲的Webservice传递协议,该如何办呢.

正确理解ThreadLocal

- - Java - 编程语言 - ITeye博客
转自: http://www.iteye.com/topic/103804. 首先,ThreadLocal 不是用来解决共享对象的多线程访问问题的,一般情况下,通过ThreadLocal.set() 到线程中的对象是该线程自己使用的对象,其他线程是不需要访问的,也访问不到的. 另外,说ThreadLocal使得各线程能够保持各自独立的一个对象,并不是通过ThreadLocal.set()来实现的,而是通过每个线程中的new 对象 的操作来创建的对象,每个线程创建一个,不是什么对象的拷贝或副本.

正确重置MySQL密码

- xxg - 火丁笔记
谁都不想弄丢家门钥匙,但不管多么小心,时间长了,这样的事情总会发生几次. MySQL密码也是一样,把它写在文档上不太安全,记在脑子里又难免会忘记. 如果你忘记了MySQL密码,如何重置它呢. 首先停止MySQL服务,然后使用skip-grant-tables参数启动它:. 此时无需授权就可以进入到MySQL命令行,使用SQL重置MySQL密码:.

正确使用银行卡

- - 雨中发呆
请大家看清楚了,是网上银行汇款. 不是银行柜台上汇!柜台上的手续费比网上银行贵的. 但有一个例外,邮政储蓄要收0.5%. 工行:0.9%,最低0.9元/笔,最高45元/笔. 农行:0.4% ,最低1元/笔,最高20元(柜台手续费是0.5%,最高50元).  跨省:如果对方是银行卡:转账金额的0.06% (也就是万分之六),最低1元/笔,最高12元/笔.

女孩正确的生活方式

- bourne - 佳人
女孩正确的生活方式,关于健康、饮食、运动、爱情、伴侣、承诺、友情、微笑、心态、人生、幸福等方面的建议,为自己心爱的女孩收起来吧. 生理期不吃巧克力,因为会加重痛经. 通过运动而非调整型内衣来塑造曲线. 去年的衣服要进行曝晒后才可以穿. 即使爱美,也不要在耳朵上部的外缘软骨部位穿耳洞. 了解自己的家庭病史,特别是母亲和外婆的病史.

正确理解javascript的this关键字

- BeerBubble - 三水清
javascript有this关键字,this跟javascript的执行上下文密切相关,很多前端开发工程师至今对this关键字还是模棱两可,本文将结合代码讲解下javascript的this关键字. 定义了一个person对象,对象中包含了name、gender属性,还包括了一个getName的方法,其作用是输出person对象的name.