Axis and Xfire and CXF three ways to achieve webservices what are the advantages of each

Source: Internet
Author: User
Tags soap wsdl
1. JWs is an implementation of the Java language for WebService services, which is used to develop and publish services. From the point of view of service itself, there is no language limit for JWS service.   But the Java language provides a way for Java developers to easily publish and invoke WebService services. 2, Axis2 is a heavyweight webservice framework under Apache, accurately said it is a web services/soap/wsdl engine, is the WebService framework of the synthesizer, it can not only produce and publish WebService, You can also generate Java and other language versions of WebService client and server-side code. This is where it has an advantage. However, this inevitably led to the complexity of the AXIS2, the use of the developers know that it depends on the number and size of the package is very amazing, packaged deployment release is more cumbersome, not very good with the existing application integration.   But if you want to develop a language client outside of Java, the rich tools provided by AXIS2 will be your choice. 3, Xfire is a high-performance WebService framework, in JAVA6 before its popularity even more than Apache Axis2,xfire Advantage is the development of convenient, and the existing Web integration is good, can be integrated, and development is very convenient. However, there are no related code tools available for languages other than Java.   Xfire later was acquired by Apache, because it is too good, after the acquisition, with the rise of Java6 JWs, open source WebService engine has no longer been bullish, gradually have been down. 4, CXF is a heavy SOA simple framework of Apache, it implements the ESB (Enterprise service Bus). The CXF came from the Xfire project, which was transformed and formed, just as the current Struts2 came from WebWork. It can be seen that the fate of Xfire and WebWork fate, will eventually fade out of sight. CXF is not only an excellent web services/soap/wsdl engine, but also a good ESB bus, providing a choice for SOA implementation, which, of course, is not the best, it only implements part of the SOA architecture. Based on the above knowledge, we can learn that Although have Java6, but we also can choose Axis2, XFire, CXF and so on. We cannot expect to have JAVA6 JWS to implement SOA in a whimsical way. If you want to interact with other languages, maybe we still depend on Axis2 and so on, which, of course, is not the only option, but a choice.   Also, at present many enterprise's application still is based on Java5, and the JAVA5 project does not have the instantaneous upgrade to the JAVA6, if wants to expand in the old project, we also depend on other open source WS engine. For today's application migration, if your application is stable and mature, and in the foreseeable future, as long as a few requirements change to do, then save your strength, do not do "waste" of the migration work.
If your existing applications are plagued with bugs, performance, functionality, and so on, consider migrating, which frame to choose. Let's compare their differences:

1. Apache CXF supports ws-addressing, Ws-policy, WS-RM, ws-security and WS-I Basicprofile
2, AXIS2 support ws-addressing, WS-RM, ws-security and WS-I basicprofile,ws-policy will be supported in the new version
3. The Apache CXF is written according to spring philosophy, which can be seamlessly integrated with spring
4, Axis2 is not
5. AXIS2 supports more data bindings, including XMLBeans, JiBX, JaxMe and Jaxbri, and its native data binding (ADB).
6. Apache CXF currently supports only JAXB and Aegis, and the default is JAXB 2.0, which is supported by the XFire default Aegis, XMLBeans, JiBX, and Castor will be supported in the CXF 2.1 version, and the current version is 2.0. 2
7, AXIS2 support a variety of languages, it has a carbon C version.
8. The Apache CXF provides a convenient spring consolidation approach that exposes Web services and consumer Web services through annotations, spring-labeled configurations

How to choose:
1, if the application needs multi-language support, AXIS2 should be preferred;
2. If the application follows the Spring philosophy route, Apache CXF is a better choice, especially for embedded Web Services;
3, if the application does not have new features need, it is still used in the original project framework, such as Axis1,xfire,celtrix or BEA and so on the manufacturer's own Web Services to achieve, do not waste.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.