Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Scope: SOAP API only, but consider how the library choice affects the REST API.
  • Contract-first vs Code-first? Jiri's preference is contract: Contract-first. This is compatible with our desire to keep the work relegated to the SOAP side, and wire-compatible with previous versions of Fedora. To produce MTOM functionality, Jiri will extend the current WSDL, but only in ways that do not break current clients. Naming conventions for new methods and new data types will be reviewed by the committers.
  • The library in use will be Apache CXF, configured using the new Spring functionality available in post 3.4 series code.

WS Stack Comparison

I've picked following web service stacks as candidates:

...

Info

The "Spring integration" comparison is based on the tutorials posted on here (Axis2)here (CXF) and here (Metro), and on the sample applications attached to the a WS stack. For instance, the sample application distributed with CXF for wsdl-first approach is well documented, there is a support for both Maven and Ant, the Spring integration is also done and the example of using MTOM is also present. Samples from Axis2 sometimes support Maven, sometimes Ant, there is an MTOM example, however, the Spring integration and the wsdl-first examples are missing. All sample applications from the Metro stack use Ant for building, there is an example of the wsdl-first approach and MTOM, but Spring integration showcase is missing.

...

Community Support

It is hard to measure this aspect, so I put here links to the issue trackers or, where it is present, the mailing lists with commits. I forgot to mention that CXF and Axis2 are both supported by Apache Foundations and Metro by Oracle. If fcrepo is going to migrate to Java EE 6 (with Context Dependency Injection, JAX-RS, etc.) in the future, Metro or JBoss WS stacks are better prepared to this migration, in my opinion.

...