Differences between axis1, axis2, xfire, and cxf

Source: Internet
Author: User

Xfire vs axis
Xfire is a new-generation WebService platform tied with axis2. This is also called the next generation because it:
1. supports a series of new Web service standards, such as jsr181, wsdl2.0, jaxb2, and WS-Security;
2. Use Stax to explain XML, which improves the performance. Xfire uses woodstox for Stax implementation;
3. Easy to use and quick service release from pojo;
4. Spring combination;
5. Flexible binding mechanism, including the default aegis, xmlbeans, jaxb2, And Castor.

Performance Comparison Between xfire and axis1
1. xfire is 2-6 times faster than axis1.3
2. The xfire response time is 1/2 to 1/5 of axis1.3.

Comparison between xfire and axis2
Although xfire and axis2 are both new-generation WebService platforms, axis2 developers are too eager to launch Version 1.0, so 1.0 is not

It is a stable version, and its developers claim that version 1.1 is coming soon, hoping that version 1.1 will be a stable version. Donate To xfire

Some people think that axis2 will perish after Apache. In fact, in the eyes of many people, axis2 is not in the pojo form. Dan diephouse proves that

Xfire is more open than axis. I also found that many people started to switch from axis to xfire, and I was also persuading people around me to turn to use it.

Xfire is used for WebService development. It is typical that I can teach my team to use xfire to publish a self in a few minutes.

.

I prefer xfire to be much simpler than axis2.

Axis vs cxf

In the SOA field, we believe that Web Service is the building block of the SOA system ). For service developers,

Neither axis nor cxf is unfamiliar. Both products are open-source Web service development tools under the Apache incubator. The most

The new version is 1.3.cxf and has now reached 2.0.

Both frameworks are developed from existing open-source projects. Axis2 is developed from the axis1.x series. Cxf is xfire and

Celtix Project Integration product. Axis2 is re-implemented from the underlying layer, using a new scalable and better module architecture. Cxf is also new

The xfire and celtix development tools have been deepened.

The exit of the new product caused several problems. Is it possible to migrate existing applications using axis 1.x, xfire, and celix to a new version?

. If a developer is sure to migrate its application to the new framework, which one should he choose? On the contrary

The sender decides to develop a new Web service from scratch. Which one should he use? Which of the two frameworks is better?

For system migration, it may not be difficult to migrate to the new framework. Both axis and cxf provide migration guidance. Allows developers to migrate data

Shift skills and experience. However, for such migration, neither of the two open-source projects provides a migration tool. For such migration

It is worth looking for all feasible solutions. Both axis2 and cxf have different WebService development methods. Each method has a considerable number

Advocates.

Comparing axis2 and cxf with a comparison matrix makes sense. Both projects are not mature enough, but the main difference is

In the following aspects:

1. cxf supports WS-Addressing, WS-Policy, WS-RM, WS-Security, and WS-I basic profile. Axis2 does not support WS

-Policy, but it is supported in the following versions.

2. cxf supports spring well. Axis2 cannot

3. axis2 supports a wider range of data, such as xmlbeans, jibx, jaxme, and jaxbri, and bind them to ADB. Note:

Jaxme and jaxbri are both experimental. Cxf only supports jaxb and aegis. In cxf2.1

4. axis2 supports multiple languages-in addition to Java, it also supports C/C ++.

Comparing the Web service development methods of these two frameworks is equally important as comparing their features. From the developer's point of view, the features of the two frameworks

Quite different. The development method of axis2 is similar to that of a small Application Server. The axis2 development kit should be deployed

Servlet containers, such as Tomcat, can be used to monitor and manage Web services at work. Axis2

The Web administrion module allows us to dynamically configure axis2. a new service can be uploaded, activated, invalidated, and modified.

Web service parameters. The management UI can also manage one or more running services. One drawback of this interface-Based Management Method

All the parameters modified at run time cannot be saved, because after restart, all the modifications you made will become invalid.

Axis2 allows itself to publish Web services as independent applications, and provides a large number of features and a good model.

To add new features through its own modular architecture. Some developers consider this method

Is too cumbersome. These developers prefer cxf.

Cxf focuses more on the developer's efficiency (ergonomics) and embedded capabilities (embeddability ). Most configurations can be completed through APIS.

In place of complicated xml configuration files, spring integration is often mentioned. cxf supports spring and cxf's APIs and

The spring configuration file can correspond very well. Cxf emphasizes code-first design, which is simple

API makes it easier to develop services from existing applications.

However, if you choose axis2 or cxf, you can get a lot of help from the open-source community. Both frameworks have business companies providing services,

Wso2 supports axis2 and Iona supports cxf. Both companies have active developer communities. Axis2 appeared earlier

And cxf is catching up quickly. My suggestion is: If you need multi-language support, you should select axis2. If you need to implement

Focus on Java and want to integrate with spring. cxf is a better choice, especially to embed your web service into other programs. If

You think the new features of these two frameworks are of little use to you. You will think axis1 is also a good choice and you should continue to use it.

It knows you have a good reason to replace it.

 

How to choose:
1. If the application requires multi-language support, axis2 should be the first choice;
2. If the application follows the spring philosophy, Apache cxf is a better choice, especially for Embedded Web

Services;
3. If no new features are required for the application, the frameworks used in the original project will be used, such as axis1, xfire, and celtrix.

Or Bea and so on.

 

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.