Apache CXF is the most popular and stable Webservices container that is 100% JSR-244 JAX-WS and JSR-311 JAX-RS certified platform. Apache CXF can be complex when working with the plethora of standards and interceptors. Savoir has committers to the Apache CXF project on staff who understand how to properly implement these standards for your projects.
What is it?
Apache CXF is a service framework, focused on standards, communications and protocols. It sets the pace in the opensource world for speed, integration and flexibility. If you need to develop contract first, code first, or simply migrate existing services Savior is there to provide guidance on making implementations simple.
CXF includes a broad feature set, but it is primarily focused on the following areas:
- Web Services Standards Support: CXF supports a variety of web service standards including SOAP, the WS-I Basic Profile, WSDL, WS-Addressing, WS-Policy, WS-ReliableMessaging, WS-Security, WS-SecurityPolicy, WS-SecureConverstation, and WS-Trust (partial).
- Frontends: CXF supports a variety of “frontend” programming models
CXF implements the JAX-WS APIs (TCK compliant). CXF JAX-WS support includes some extensions to the standard that make it significantly easier to use, compared to the reference implementation: It will automatically generate code for request and response bean classes, and does not require a WSDL for simple cases.
It also includes a “simple frontend” which allows creation of clients and endpoints without annotations. CXF supports both contract first development with WSDL and code first development starting from Java.
For REST, CXF also supports a JAX-RS (TCK compliant) frontend.
- Ease of use: CXF is designed to be intuitive and easy to use. There are simple APIs to quickly build code-first services, Maven plug-ins to make tooling integration easy, JAX-WS API support, Spring 2.x XML support to make configuration a snap, and much more.
- Binary and Legacy Protocol Support: CXF has been designed to provide a pluggable architecture that supports not only XML but also non-XML type bindings, such as JSON and CORBA, in combination with any type of transport.