Apache CXF简介

CXF目前是 apache下面的一个顶级开源项目, CXF是从 Celtix XFire两个项目合并而得到的一个新项目。

早先 CXF apache下面的一个孵化项目,在 08年的时候升级成为了顶级项目。 CXF主要实现了 JAX-WS JAX-RS两个协议 API,并且支持 SOAP, XML/HTTP, RESTful HTTP, CORBA协议绑定,并且可以通过 HTTP, JMS, JBI进行传输。

CXF包含一系列特性,其中最主要的特性包括

1. web service规范的支持, 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).

2. 前端, CXF支持很多前端开发模型

 

CXF支持 contract first(wsdl first) code first(java first)两种开发模式。

 

General

  • High Performance
  • Extensible
  • Intuitive & Easy to Use

Support for Standards

JSR Support

  • JAX-WS - Java API for XML-Based Web Services (JAX-WS) 2.0 - JSR-224
  • Web Services Metadata for the Java Platform - JSR-181
  • JAX-RS - The Java API for RESTful Web Services - JSR-311
  • SAAJ - SOAP with Attachments API for Java (SAAJ) - JSR-67

WS-* and related Specifications Support

  • Basic support: WS-I Basic Profile 1.1
  • Quality of Service: WS-Reliable Messaging
  • Metadata: WS-Policy, WSDL 1.1 - Web Service Definition Language
  • Communication Security: WS-Security, WS-SecurityPolicy, WS-SecureConversation, WS-Trust (partial support)
  • Messaging Support: WS-Addressing, SOAP 1.1, SOAP 1.2, Message Transmission Optimization Mechanism (MTOM)

Multiple Transports, Protocol Bindings, Data Bindings, and Formats

  • Transports: HTTP, Servlet, JMS, In-VM and many others via the Camel transport for CXF such as SMTP/POP3, TCP and Jabber
  • Protocol Bindings: SOAP, REST/HTTP, pure XML
  • Data bindings: JAXB 2.x, Aegis, Apache XMLBeans, Service Data Objects (SDO), JiBX (under development)
  • Formats: XML Textual, JSON, FastInfoset
  • Extensibility API allows additional bindings for CXF, enabling additional message format support such as CORBA/IIOP

Flexible Deployment

  • Lightweight containers: deploy services in Jetty, Tomcat or Spring-based containers
  • JBI integration: deploy as a service engine in a JBI container such as ServiceMix, OpenESB or Petals
  • Java EE integration: deploy services in Java EE application servers such as Apache Geronimo, JOnAS, Redhat JBoss, OC4J, Oracle WebLogic, and IBM WebSphere
  • Standalone Java client/server

Support for Multiple Programming Languages

  • Full support for JAX-WS 2.x client/server programming model
  • JAX-WS 2.x synchronous, asynchronous and one-way API's
  • JAX-WS 2.x Dynamic Invocation Interface (DII) API
  • JAX-RS for RESTful clients
  • 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
  • Support for JBI with ServiceMix

Tooling

  • Generating Code: WSDL to Java, WSDL to JavaScript, Java to JavaScript
  • Generating WSDL: Java to WSDL,XSD to WSDL, WSDL to XML, IDL to WSDL
  • Adding Endpoints: WSDL to SOAP, WSDL to CORBA, WSDL to service
  • Generating Support Files: WSDL to IDL
  • Validating Files: WSDL Validation

 

 

你可能感兴趣的:(java,apache,service,SOAP,asynchronous,optimization)