Article: Open Source WS Stacks for Java - Design Goals and Philosophy

, Oct 4, 2007

I’ve put up the results of a multi-party email interview I did on InfoQ:

In addition to the options offered by commercial vendors, there are a number of open source Java frameworks one can choose from. Among the most popular open source stacks for implementing a SOAP/WS-* based solution in the Java space are Apache Axis2, Apache CXF, Spring Web Services and Sun’s Metro.

Stefan Tilkov posed a number of questions to the lead developers of these stacks – Paul Fremantle (Axis2), Dan Diephouse (CXF), Arjen Poutsma (Spring Web Services), Thomas Diesler (JBossWS) and Kohsuke Kawaguchi (Metro) – about their design goals, their approach towards Java and Web services standards, data binding, accessing XML, interoperability, REST support, and framework maturity:

  1. Can you describe the main design goals of "your" framework? What do you perceive as its main strengths and unique features?
  2. What’s your position on and the framework’s support for JCP standards such as JAX-WS, JAX-RPC, JAXM, JAXB? Why is support for it included/not included?
  3. What Web services standards do you support, and why are those you don’t support not supported (i.e. do you plan to include them later, not at all, …)
  4. What’s your position with regards to data binding and the problems many people associate with it? Do you support native access to the XML message, an XML/object mapping, or both?
  5. How well do you support interoperability with other WS implementations, particularly .NET/WCF?
  6. What is your position with regards to REST? Do you offer any kind of REST support?
  7. What is your framework’s maturity? Are there any case studies you can point to, are there any commercial or open source products that rely on it?

As was to be expected, the results revealed many similarities and some noteworthy differences – see the full article for details.