Axis2 webservice和CXF Web服务之间的区别

问题描述 投票:32回答:1

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

web-services cxf axis2 axis
1个回答
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相对满意,那么您应该考虑坚持这一点并跟上最新的维护版本,直到您有业务原因进行迁移。

© www.soinside.com 2019 - 2024. All rights reserved.