...
CXF seeks to build the necessary infrastructure components for services. Goals for CXF are many and include:
- High performance
- Embeddable
- Intuitive and easy to use
- Clean separation of front-ends from the core code.
- Pluggable data bindings
- Support for different protocol bindings , including SOAP, REST , and CorbaCORBA.
- Support for multiple transports
- WS-* support including WS-Addressing, WS-Policy, WS-ReliableMessaging, WS-Security, WS-SecurityPolicy, WS-SecureConverstation and WS-Trust (partial).
- Support for multiple transports
- Pluggable Data-bindings
- Clean separation of front ends, like JAX-WS, from the core code.
- High Performance
- Embeddable
- Intuitive & Easy to Use
- Tools for code generation and WSDL validation
The overall CXF architecture is primarily made up of the following parts:
- Bus: This is the backbone of the Apache CXF architecture.
- Front-ends: Front-ends provide a programming model to create services.
- Messaging & Interceptors: These provide the low level message and pipeline layer upon which most functionality is built.
- Services: Services host a Service model which is a WSDL-like model that describes the service.
- Pluggable Data Bindings:
- Protocol Bindings: Bindings provide the functionality to interpret the protocol (ie.eg., SOAP, REST, CorbaCORBA).
- Transports: Destinations and Conduits make up the transport abstraction that CXF uses to achieve transport neutrality.
- Endpoints: Under development
...
Javascript Front-end
Under development
Simple Front-end
Under development
Messaging & Interceptors
...
Code Block |
---|
ServiceInfo +-Interface: InterfaceInfo | +-Operations: Collection<OperationInfo> | | +- Input: MessageInfo | | +- Output: MessageInfo | | +- Faults: Collection<MessageInfo> +-Bindings: Collection<BindingInfo> | +-Operations: Collection<BindingOperationInfo> +-Endpoints: Collection<EndpointInfo> |
Pluggable Data Bindings
Data Bindings implement the mapping between XML and Java. Data bindings convert data to and from XML, produce XML schema, and provide support for wsdl2java code generation. Not all data bindings support all of this functionality. At very least, a data binding must provide the data conversion. See Data Binding Architecture for details.
...