XFire, CXF and AXIS2

While studying about CXF, i thought i should share some key points with the team. So here are my findings so far. I think we should go for CXF.

XFire and CXF

Features
XFire
CXF (XFire2.0)
Webservice Standards
SOAP, WSDL, WS-I Basic Profile, WS-Addressing, WS-Security, etc. SOAP, the WSI Basic Profile, WSDL, WS-Addressing, WS-ReliableMessaging,
WS-Security, WS-SecurityPolicy, and WS-SecureConversation, WS-Policy,
Pluggable Bindings
POJOs, XMLBeans, JAXB 1.1, JAXB 2.0, and Castor support JAXB 2.x, Aegis, XMLBeans, SDO, etc.
Performance
Can be tuned if proper data-binding used. (using JiBX instead of JAXB).
Apache CXF 2.0 currently doesn’t support JiBX. Expected to support it for CXF future releases.
New Features
X


1. Spring 2.0 XML support
2. RESTful service support
3. JSON support
4. And some of WS specs support as well



Note: User's looking to use XFire on a new project, should use CXF instead. CXF is a continuation of the XFire project and is considered XFire 2.0. It has many new features, a ton of bug fixes, and is now JAX-WS compliant! XFire will continue to be maintained through bug fix releases, but most development will occur on CXF now.
XFire has strong community base, bug fixes and so many resources easily available on internet, CXF is still new, development is on going, and community is not so strong. This is the only issue with CXF.

Conclusion
None of the Web Services frameworks is in general superior to the others. Axis 2 is structured modularly, has many features and can be used as an application server for Web Services. A special feature of Axis 2 is the support of removable binding frameworks, for example XMLBeans. Axis 2 together with the XMLBeans framework included is well suited for Web Services which are using very complex schema definitions.
The disadvantages of Axis 2 are its complexity as well as the insufficient JAX-WS support. Therefore anyone who wants to work with JAX-WS should choose Apache CXF or the reference implementation.
Those who prefer a seamless integration with the Spring framework are well advised with the JAX-WS implementation. Furthermore CXF is slim and easy to use. CXF is the tool of choice if a SOAP engine has to be embedded into an existing software.


My Suggestion after careful study
We can easily migrate and we should migrate to CXF because of its reliability and performance. AXIS2 is no doubt a good solution but why increase the learning curve.

Comments