Apache CXF和Axis之间的区别 [英] Difference between Apache CXF and Axis

查看:470
本文介绍了Apache CXF和Axis之间的区别的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

与Apache Axis相比,使用Apache CXF有什么优势,反之亦然?

What are the advantages of using Apache CXF over Apache Axis and vice versa?

推荐答案

记住,我完全有偏见(CXF的PMC主席),但是我的想法是:

Keep in mind, I'm completely biased (PMC Chair of CXF), but my thoughts:

从严格的项目可以做我需要做的事情"的角度来看,两者是相当等效的. CXF可以执行某些边缘情况",而Axis 2则不能,反之亦然.但是对于90%的用例,两者都可以正常工作.

From a strictly "can the project do what I need it to do" perspective, both are pretty equivalent. There some "edge case" things that CXF can do that Axis 2 cannot and vice versa. But for 90% of the use cases, either will work fine.

因此,除了复选框功能"之外,还可以归结为其他方面.

Thus, it comes down to a bunch of other things other than "check box features".

  • API-CXF推送基于标准的" API(符合JAX-WS),而Axis2通用则倾向于专有的东西.也就是说,即使CXF可能也需要使用专有API来配置/控制JAX-WS规范之外的各种内容.对于REST,CXF还使用标准API(符合JAX-RS)而不是专有事物. (是的,我知道Axis2中的JAX-WS运行时,但是工具和文档以及所有内容都不以它为目标)

  • API - CXF pushes "standards based" API's (JAX-WS compliant) whereas Axis2 general goes toward proprietary things. That said, even CXF may require uses of proprietary API's to configure/control various things outside the JAX-WS spec. For REST, CXF also uses standard API's (JAX-RS compliant) instead of proprietary things. (Yes, I'm aware of the JAX-WS runtime in Axis2, but the tooling and docs and everything doesn't target it)

社区方面和可支持性-CXF以响应问题并向用户提供修订包"为荣. CXF针对2.0.x(两年前发布,大约每2个月发布一次)做了12个修订包,针对2.1.x做了6个修订包,现在针对2.2.x做了3个修订包. Axis2并不真正支持"较旧的版本.除非遇到关键"问题,否则您可能需要等到下一个大版本(平均大约每9到10个月左右)才能获得修复. (尽管可以使用任何一种,您都可以获取源代码并自己打补丁/修复.一定喜欢开源.)

Community aspects and supportability - CXF prides itself on responding to issues and making "fixpacks" available to users. CXF did 12 fixpacks for 2.0.x (released two years ago, so about every 2 months), 6 fixpacks to 2.1.x, and now 3 for 2.2.x. Axis2 doesn't really "support" older versions. Unless a "critical" issue is hit, you may need to wait till the next big release (they average about every 9-10 months or so) to get fixes. (although, with either, you can grab the source code and patch/fix yourself. Gotta love open source.)

集成-如果使用Spring,CXF的Spring集成要好得多.所有配置等都是通过Spring完成的.同样,人们倾向于将CXF视为其他应用程序中更可嵌入的"(我从未从这个角度看过Axis2).不知道这样的事情对您来说是否重要.

Integration - CXF has much better Spring integration if you use Spring. All the configuration and such is done through Spring. Also, people tend to consider CXF as more "embeddable" (I've never looked at Axis2 from this perspective) into other applications. Not sure if things like that matter to you.

性能-它们都表现很好.我认为Axis2专有的ADB数据绑定比CXF快一点,但是如果您使用JAXB(又是基于标准的API),则CXF快一点.当使用诸如WS-Security之类的更复杂的方案时,两者的基础安全性引擎"(WSS4J)都是相同的,因此性能是完全可比的.

Performance - they both perform very well. I think Axis2's proprietary ADB databinding is a bit faster than CXF, but if you use JAXB (standards based API's again), CXF is a bit faster. When using more complex scenarios like WS-Security, the underlying security "engine" (WSS4J) is the same for both so the performance is completely comparable.

不确定是否可以回答所有问题.希望它至少能提供一些信息.

Not sure if that answers the question at all. Hope it at least provides some information.

:-)

这篇关于Apache CXF和Axis之间的区别的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆