Axis2 webservice和CXF Web服务之间的差异

use*_*206 32 axis axis2 web-services cxf

如果有人帮助我理解axis2 web服务和CXF Web服务之间的区别,我将不胜感激.

小智 54

axis2 Web服务和CXF Web服务之间的主要区别如下:

  1. CXF支持WS-Addressing,WS-Policy,WS-RM,WS-Security和WS-I BasicProfile.除了WS-Policy之外,Axis2支持其中的每一个,这将在即将发布的版本中得到支持.

  2. CXF是用Spring编写的; Axis2不是.

  3. Axis2支持更广泛的数据绑定,包括XMLBeans,JiBX,JaxMe和JaxBRI以及它自己的本机数据绑定ADB.请注意,对Axax2 1.2中的JaxME和JaxBRI的支持仍被认为是实验性的.CXF目前仅支持JAXB和Aegis; 支持XMLBeans,JiBX和Castor将在CXF 2.1中提供.

  4. Axis2支持多种语言 - 除Java版本外,还有一个C/C++版本.

但是,在比较这些框架时,同样重要的是要看它们开发Web服务的方法,就像比较功能一样.从开发人员的角度来看,两个框架的行为彼此差异很大.Axis2采取的方法使其在许多方面类似于微型应用服务器.Axis2附带了一个WAR,可以部署在诸如Tomcat之类的servlet容器上,旨在使Web服务更易于管理和动态部署.Axis2 Web管理模块允许在应用程序运行时动态配置Axis2 - 可以上载,激活或停用新服务,并且可以更改其参数.管理UI还允许在一个或多个正在运行的服务上启用模块.将UI用于这些目的的唯一缺点是通过它进行的配置更改不是持久性的 - 当servlet容器重新启动时它们会消失.

Axis2适用于独立于其他应用程序的Web服务,并提供各种功能,以及随着时间的推移通过其模块化架构添加更多功能的良好模型.一些开发人员可能会发现他们的需求有点过于繁琐或沉重.这些开发人员可能更喜欢看Apache CXF.

CXF专注于开发人员的人体工程学和嵌入性.大多数配置是通过API而不是繁琐的XML文件完成的,Spring集成得到了很大的重视,包括对Spring 2.0的支持,而CXF的API和Spring配置相当紧密.CXF强调代码优先设计,使用简单的API使现有应用程序的服务开发更容易(并且其嵌入性也有帮助).

无论您选择哪种框架,您都可以获得积极稳定的开源社区.每个框架都有企业支持:Axis2由WSO2支持,而CXF由Iona支持.两者都有活跃的开发者社区 Axis2已经存在更长时间,但CXF正在迅速赶上.我的建议如下:如果多语言支持很重要,Axis2是明智的选择.如果您关注与Java紧密集成的Java实现,那么CXF是更好的选择,特别是对于在其他程序中嵌入Web服务.如果这些项目中的新功能并不重要,并且您对Axis1相对满意,那么您应该考虑坚持这一点并跟上最新的维护版本,直到您有业务原因进行迁移.