Axis,axis2,xfire and CXF Contrast

Source: Internet
Author: User

http://ws.apache.org/axis/

Http://axis.apache.org/axis2/java/core/

http://xfire.codehaus.org/

http://cxf.apache.org/

The latest version of axis is April, 2006

The latest version of Axis2 is 19-dec-2010 1.5.4

XFire the latest version of 1.2.6-may 3, 2007 website has said "XFire is nowCXF"--| | |

CXF The latest version is Feb, 2011-apache cxf 2.3.3 is released!

 

Only Axis2 and CXF are now officially updated.

(following from the network information)

XFire VS Axis
Xfire is a new generation of WebService platform tied to Axis2. The reason is called a new generation because it:
1, support a series of new standards of Web service--jsr181, WSDL2.0, JAXB2, ws-security and so on;
2, the use of Stax interpretation of XML, performance has a qualitative improvement. Xfire adopts Woodstox for Stax realization;
3, easy to get started, can be easily and quickly released from the Pojo service;
4, spring's combination;
5, flexible binding mechanism, including the default aegis,xmlbeans,jaxb2,castor.

Comparison of performance of Xfire and AXIS1
1, Xfire 2-6 times faster than Axis1.3
2, Xfire response time is Axis1.3 1/2 to 1/5

Comparison of Xfire and Axis2
Although Xfire and Axis2 are a new generation of WebService platform, but the AXIS2 developers are too eager to launch 1.0 version, so 1.0 is not a stable version, its developers claim that the 1.1 version is coming soon, I hope the 1.1 version will be a stable version. After Xfire donated to Apache, some people thought that Axis2 would perish. In fact, in many people's eyes, Axis2 is not pojo form, Dan Diephouse proved xfire more market than axis, I also found a lot of people began to move from axis to Xfire, I am also persuading people around me to turn to the development of webservice with Xfire, and it is typical that I can teach my team practical Xfire to publish a Web service of his own within minutes.

I tend to xfire is really a lot simpler than Axis2

AXIS VS CXF

In the SOA realm, we believe that Web service is the building block of the SOA architecture (building blocks). For service developers, Axis and cxf must not be unfamiliar. Both of these products are Web service open source development tools under the Apache incubator.

The latest version of AXIS2 is 1.3.

CXF is now in the 2.0 version.

Both frameworks are developed from existing open source projects. Axis2 was developed from the axis1.x series. CXF is a combined product of the Xfire and Celtix projects. Axis2 is all re-implemented from the bottom up, using a new extensibility and better modular architecture. CXF has also re-deepened the two development tools of Xfire and Celtix.

The withdrawal of new products has led to several problems. Not existing applications that use axis 1.x,xfire and Celix need to be migrated on a new version. If a developer determines the application to migrate it to a new frame, which one should he choose? Conversely, if a developer decides to develop a new web Service from scratch, which one should he use? Which of these two frameworks is better?

For system migrations, it may not be difficult to migrate to a new framework. Both axis and CXF provide guidance for migration. Ability to give developers some skills and experience in migrating. But for such migrations, neither of these open source projects provides the tools to migrate. For this kind of migration, although it is worthwhile to find all the feasible solutions. Both Axis2 and CXF have their own different methods of webservice development, each with a considerable number of advocates.

Comparing Axis2 and CXF by a comparison matrix becomes a realistic meaning. These two projects are not mature enough, but the main differences are in the following areas:

The 1.CXF supports Ws-addressing,ws-policy, WS-RM, ws-security, and WS-I Basic profiles. AXIS2 does not support Ws-policy, but promises to support it in the following version.

2. CXF can support spring very well. Axis2 can't

3. AXIS2 supports a wider range of data and pairs, such as xmlbeans,jibx,jaxme and Jaxbri, and its custom data-bound adb. Note that Jaxme and Jaxbri are still experimental. CXF only supports JAXB and Aegis. In CXF2.1

4. Axis2 supports multiple languages-in addition to Java, he supports the C + + version.

Comparing the Web service development methods of these two frameworks is as important as comparing their characteristics.

From the developer's point of view, the features of the two frameworks are quite different. Axis2 is developed in a way similar to a small Application server, where Axis2 's development packages are deployed as war to servlet containers, such as Tomcat, which can be used to monitor and manage Web service at work. AXIS2 's Web administrion module allows us to dynamically configure the Axis2. A new service can be uploaded, activated, invalidated, and modified for Web service parameters. The administration UI can also manage one or more services that are in a running state. One drawback of this interface management approach is that all parameters that are modified at run time are not saved because the changes you make are invalidated after the reboot. AXIS2 allows itself to publish Web Service as a standalone application, and provides a number of features and a good model that can be constantly added to new functionality through its own architecture (modular architecture). Some developers think this approach is too cumbersome for their needs. These developers will prefer CXF.

CXF more attention to developer ergonomics (ergonomics) and embedding capabilities (embeddability). Most of the configuration can be done by the API, replacing the cumbersome XML configuration file, spring's integration is often mentioned, CXF support Spring2.0 and CXF's API and spring configuration files can be very good correspondence. CXF emphasizes code-first design (Code-first), using a simple API that makes it easy to develop services from existing applications.

But if you choose Axis2 or CXF, you can get a lot of help from the open source community. Both frameworks have commercial companies offering services, WSO2 provides AXIS2 support, and Iona provides CXF support. Both companies have a very active community of developers.

Axis2 appeared earlier, cxf catching speed fast.

My advice is: if you need multi-lingual support, you should choose AXIS2. If you need to focus your implementation on Java and want to integrate with spring, CXF is a better choice, especially to embed your Web service in other programs. If you feel that the new features of these two frameworks are not of much use to you, you will feel that AXIS1 is also a good choice and you should continue to use it to know that you have a good reason to change it.

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 need new features, it is still used in the original project framework, such as Axis1,xfire,celtrix or BEA and so on manufacturers own Web Services implementation, do not costly.

(Resource 2)

1. JWs is an implementation of the Java language for WebService services to develop and publish services. From the point of view of the service itself, the JWS service has no language boundaries. But the Java language provides a way for Java developers to easily publish and invoke WebService services. 2, Axis2 is Apache under a heavyweight WebService framework, 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 the advantage of it. However, this also 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 amazing, packaging deployment release is more troublesome, not very good integration with existing applications. But if you want to develop a language client outside of Java, the rich tools offered by AXIS2 will be your choice. 3, Xfire is a high-performance WebService framework, before JAVA6, its visibility even more than the advantages of Apache Axis2,xfire is the development of convenient, with the existing Web integration is very good, can be integrated, and development is also very convenient. But for languages other than Java, there are no relevant code tools available. Xfire was later acquired by Apache, the reason is that it is too good, after the acquisition, with the rise of Java6 JWs, open source WebService engine has been no longer favored, gradually decline. 4. CXF is an Apache-heavy SOA simple framework that implements the ESB (Enterprise service Bus). CXF from the Xfire project, after the transformation formed, like the current Struts2 from WebWork. It can be seen that the fate of Xfire and the fate of WebWork, will eventually fade out of sight. CXF is not only an excellent web services/soap/wsdl engine, but also a good ESB bus, which provides a choice for SOA implementation, and of course, he is not the best, it only implements a part of the SOA architecture.

Axis,axis2,xfire and CXF Contrast

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: info-contact@alibabacloud.com 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.