You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 17 Next »

Apache CXF: An Open Source Service Framework

Overview

The goal of the Apache CXF (incubating) project is to deliver a fully featured services framework that is intuitive and easy to use. CXF will also implement important JCP and web services standards. Apache Incubator CXF simplifies the construction, integration, and flexible reuse of technical and business components using a standards-based, service-oriented architecture (SOA).
Using Apache Incubator CXF, services are defined using WSDL contracts and can be accessed using a number of different message formats (or bindings) and network protocols (or transports) including SOAP over HTTP, SOAP over JMS, XML over HTTP, and XML over JMS. Apache Incubator CXF has been designed to provide a pluggable architecture that supports not only XML but also non-XML type bindings in combination with any type of transport. Apache Incubator CXF will also support several modes like JAX-WS, JBI, SCA, and CORBA services and is designed for flexible deployment in a variety of containers including Spring-based, JBI, SCA, Servlet and J2EE containers. The broad range of flexibility makes it possible to create and integrate web services and legacy services using a single framework.

Goals

General

  • High Performance
  • Extensible
  • Intuitive & Easy to Use

Support for Standards

  • JAX-WS, JAX-WSA, JSR-181, and SAAJ
  • SOAP 1.1, 1.2, WS-I BasicProfile, WS-Security, WS-Addressing, WS-RM and WS-Policy
  • WSDL 1.1 and 2.0
  • MTOM

Multiple Transports, Bindings, Data Bindings, and Formats

  • Bindings: SOAP, REST/HTTP
  • Data bindings: JAXB 2.0, XML Beans, Castor, and JiBX
  • Formats: XML, JSON
  • Transports: HTTP, Servlet, JMS, and Jabber transports
  • Extensibility API allows additional bindings for CXF, enabling additional message format support such as CSV and fixed record length

Flexible Deployment

  • Lightweight containers: deploy services in Tomcat or Spring-based containers
  • JBI integration: deploy as a service engine in a JBI container such as ServiceMix, OpenESB or Petals
  • SCA integration: deploy in an SCA container such as Tuscany
  • J2EE integration: deploy services in J2EE application servers such as Geronimo, JOnAS, JBoss, WebLogic, and WebSphere
  • Standalone Java client/server

    Support for Multiple Programming Languages

  • Full support for JAX-WS 2.0 client/server programming model
  • JAX-WS 2.0 synchronous, asynchronous and one-way API's
  • JAX-WS 2.0 Dynamic Invocation Interface (DII) API
  • Support for wrapped and non-wrapped styles
  • XML messaging API
  • Support for JavaScript and ECMAScript 4 XML (E4X) - both client and server
  • Support for CORBA with Yoko
  • Support for SCA withTuscany
  • Support for JBI with ServiceMix

Code Generation

  • Java to WSDL
  • WSDL to Java
  • XSD to WSDL
  • WSDL to XML
  • WSDL to SOAP
  • WSDL to service

Getting Involved

Apache Incubator CXF is currenlty under heavy development. To get involved you can subscribe to the mailing lists. You can also grab the code from the Source Repository. You also need to read about Building CXF. For Eclipse users, you should read about Setting up Eclipse.

  • No labels