Apache CXF 介紹
Apache CXF 是一個開源的項目,前身是XFire與Celtix結合的產物,它是一個高性能的WebService,同時還支持多種綁定。
CXF比較適合建立各類不一樣傳輸協議的服務。通常的服務總線是以集成各類服務爲目的,CXF相反,它是以提供各類服務爲目的的。
與Apache Axis2相比,CXF全都是有優勢了。這裏就不說了,不少這類對比的文章。
CXF所支持的主要功能以下:
支持多種綁定方式:SOAP、REST、Corba
支持的Web服務包括:WS-Addressing、WS-Security、WS-ReliableMessaging和WS-Policy
支持多種傳輸協議
可插拔式的數據綁定
前端核心程序的清晰分離
高性能
CXF的架構體系主要包括下面部分:
CXF總線
消息和攔截器
前端,經過JAX-WS建立服務,能夠從不一樣的源頭(Java類、WSDL1.1/2.0)來建立服務
傳輸層
服務模型(在CXF內表明服務)
綁定
---------------------------------------------------
來自官方的介紹:
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, Aegis, XMLBeans. (Castor and JiBX will be supported in a later version of CXF)
- 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