Well, JAX-WS is definitely the largest thing. CXF treats JAX-WS as a primary goal and we don't release if the TCK doesn't pass. All of our current tooling targets JAX-WS compliant code. The runtime is compliant. Etc... Axis' primary focus is on their proprietary API's and proprietary mappings. The jaxws stuff is kind of a "bolt on". Their "jax-ws" runtime is not completely compliant (although in 1.5, it's very close) and they don't have any tooling that generates jaxws compliant stuff. They use the Sun RI tooling for that.

Because JAX-WS/JAXB is our primary target, that's also what we optimize. Using the Axis teams own results:
http://www.nabble.com/Re%3A--General--Advantages-of-Axis2-over-Axis1-p14705959.html
show that CXF JAXWS+JAXB is faster than their JAXB stuff. Thus, if you want fast, standards based toolkits, (since you asked about JSR support, I assume that's important to you) CXF is great. The Axis2 ADB stuff is faster, but that's proprietary. That said, the SXC project at codehaus (sxc.codehaus.org) is doing everything that ADB does, but for JAXB. Thus, it's quite possible that the jaxb+sxc+cxf may outperform even the adb stuff. Don't really know.

CXF is also (from what I've heard) a lot easier to embed. We don't use any proprietary packaging models. (mar?) We also use Spring for a lot of the wiring and configuration. Our spring support is generally much better than Axis'.


The JSR 311/JAX-RS support is something very new and ongoing. The spec isn't even final yet, but we're trying to keep up with it. Basically, we recognize that SOAP/XML isn't the only game in town and top notch REST support is important. A top framework should allow REST paradigms as well. Again, if their is a standard, lets use it instead of doing some proprietary thing. That said, since the spec isn't final yet and changes every couple months, this area in cxf is in a bit of necessary "flux".


There's a bunch of other little things like the CORBA binding, Javascript client generation, etc... that are also there.

Finally, another major thing to consider is the support for the communities. CXF has an excellent track record of providing patch releases that fix issues found by our users. We generally release patches every 8 weeks or so so if you have an issue and a patch can be provided to fix it, you can be confident in getting it in a release fairly soon. Unless something is super critical, Axis generally release about every 6-9 months or so. Obviously, it's all open source so you can just download the sources and build your own "release" for your own use. There is also the option for both of them for commercial support if that is required by your organization for production or development. (wso2 for Axis, IONA for cxf, possibly others)

Does that answer the question or did I ramble on too much and completely confuse you? :-)

Dan




On Jul 16, 2008, at 6:26 AM, Mohan Radhakrishnan wrote:


I am trying  to differentiate CXF from Axis.

1. JSR support( JAX_WS etc. )
2. J2SE 5

What else apart from the advantages mentioned on the site ?

Thanks,
Mohan
--
View this message in context: 
http://www.nabble.com/JSR-109---311.-What-sets-CXF-apart-from-Axis-2-as-far-as-JSR%27s-are-concerned---tp18484568p18484568.html
Sent from the cxf-dev mailing list archive at Nabble.com.


---
Daniel Kulp
[EMAIL PROTECTED]
http://www.dankulp.com/blog




Reply via email to