Apache CXF, Apache Axis2 and Spring WS are web service framework,
which is used to create web service using these engines.
I tried to jot down some points of CXF,Axis2 and Spring WS frameworks:
Apache
Axis2
|
Apache
CXF
|
Spring WebServies
|
Apache License 2.0
|
Apache License 2.0
|
Apache License 2.0
|
Axis2 supports multiple language like c,c++ and
java
|
Apache CXF support Java
|
Spring web Services supports java
|
Support Contract First and Contract Last approach
Web Service Creation
|
Support Contract First and Contract Last approach
Web Service Creation
|
Support only Contract First approach creating web
service
|
Axis2 supports a wide range of data bindings,
including Jaxb,JaxME,JaxBRI ,XML Beans and ADB(Axis Data Binding)
|
Apache CXF Supports limited bindings like JAXB,
Aegis, XMLBeans, JiBX and Castor
|
Spring Web service support limited data bindings
such as JAXB,JiBX,XMLBeans ,Xstream and Castor
|
Axis2 is compatible with Spring Framework
|
Apache CXF has better integration with spring
framework
|
Spring Web Service has better integration than
CXF with spring framework
|
Axis2 supports limited WS-* compliances
|
Apache CXF supports WS-Addressing, WS-Policy,
WS-RM, WS-Security, and WS-I BasicProfile,WS-SecurityPolicy,
WS-MetadataExchange,WS-Discovery,WS-SecureConverstation, and WS-Trust
(partial).
|
Spring WebService
supports limited WS-* compliances
|
Axis2 does not support.
|
Apache CXF 2.3 added support for the Tuscany
implementation of Service Data Objects as alternative data binding
|
Spring WebService does not support.
|
Rampart is the Axis2 security module, supporting
WS-Security, WS-SecurityPolicy, WS-SecureConversation, and WS-Trust. Apache
Rampart is implemented as pair of modules like rampart.mar and rahas.mar.
Also, Rampart uses WSS4J to perform the core WS-Security functionality, and
provides extended security functionality.
|
Apache CXF uses WSS4J to perform WS-Security.
WSS4J provides an implementation of the WS-Security standards like soap
message security, X.509 certification token profile, SAML token profile,
Kerberos token profile and basic security profile.
|
Spring WebService uses WSS4J to perform
WS-Security and Acegi based
Spring-Security can be used
|
Apache Axis2 provides WS-RM functionality by
using Apache Sandesha2, It is provide the WS-RM Implementation.
|
Apache CXF provide the WS-RM implementation.
|
Spring WebService does not support WS-RM.
|
Axis2 does not have better support of OSGI
Framework.
|
Apache CXF provide better support of OSGI
Framework
|
Spring WebService provide better support of OSGI
Framework
|
So, these web services frameworks have some advantages over
each other such as Apache CXF and Axis2. But Spring WS is a minimal web
services framework, it doesn’t have much advantage over Apache CXF.Also, Apache
CXF has better integration with spring framework.
APache CXF seems to have upper hand as it supports more Industry standard wrt WS-*
ReplyDeleteAll three framework uses Apache WSS4j for WS-Security