Apache CXF2.0發(fā)布 通過JAX-WS
Apache最近宣布了Apache CXF 2.0的發(fā)布。Apache CXF提供了一套創(chuàng)建SOA服務(wù)的基礎(chǔ)設(shè)施框架,用戶由此可以按照自己喜歡的編程模式,利用Apache CXF提供的簡單易用工具(包括Maven插件),創(chuàng)建適合SOA環(huán)境的任何WEB服務(wù),包括SOAP/HTTP服務(wù)及REST/HTTP服務(wù)。Apache CXF可擴(kuò)展的插拔式架構(gòu)不但支持XML消息格式和HTTP通信協(xié)議,而且還支持基于其他通信協(xié)議如IIOP和非XML消息格式如CORBA CDL或JSON。
Apache CXF項(xiàng)目是由Objectweb Celtix和Codehaus XFire在一年前合并成立的。Objectweb Celtix是由IONA公司贊助、于2005年成立的開源Java ESB產(chǎn)品,XFire則是業(yè)界知名的SOAP堆棧。合并后的Apache CXF融合該兩個(gè)開源項(xiàng)目的功能精華,提供了實(shí)現(xiàn)SOA所需要的核心ESB功能框架,包括SOA服務(wù)創(chuàng)建,服務(wù)路由,及一系列企業(yè)級(jí)QoS功能。此次發(fā)布代表了Apache CXF開發(fā)人員及社區(qū)用戶一年的努力結(jié)果,并標(biāo)志 Apache CXF軟件的進(jìn)一步成熟,成為實(shí)現(xiàn)SOA的優(yōu)秀技術(shù)解決方案之一。
Apache CXF實(shí)現(xiàn)了JCP及Web服務(wù)的主要技術(shù)標(biāo)準(zhǔn),大大方便了用戶使用不同編程模式進(jìn)行SOA服務(wù)開發(fā),并為企業(yè)遺留系統(tǒng)的集成提供了可擴(kuò)展性。Apache CXF支持的主要技術(shù)標(biāo)準(zhǔn)及功能包括:
多種技術(shù)標(biāo)準(zhǔn):Apache CXF完全實(shí)現(xiàn)了多個(gè)JSR標(biāo)準(zhǔn),包括JAX-WS 2.0(JSR-224) 、Java Web服務(wù)元數(shù)據(jù)(JSR-181)、和SAAJ (JSR-67)。Apache CXF 2.0發(fā)布還通過了JAX-WS 2.0 TCK,成為開源社區(qū)繼JAX-WS RI之后的第一個(gè)通過JAX-WS TCK的SOAP堆棧。Apache CXF還實(shí)現(xiàn)了多個(gè)Web服務(wù)標(biāo)準(zhǔn),為用戶實(shí)現(xiàn)企業(yè)級(jí)的Web服務(wù)提供了廣泛的支持,這些 Web服務(wù)標(biāo)準(zhǔn)包括SOAP 1.1、SOAP1.2、MTOM/XOP 、WSDL 1.0、WS-Addressing、WS-ReliableMessaging 、WS-Policy,WS-Security及WS-I Basic Profile。
多種編程模式:為方便用戶按照自己喜歡的方式創(chuàng)建web服務(wù),Apache CXF 2.0提供了多種web服務(wù)開發(fā)模式。除了完全支持JAX-WS 各種編程模式如client/server、同步、異步 、單程及動(dòng)態(tài)調(diào)用接口,Apache CXF 2.0還支持JavaScript及ECMAScript 4 XML(E4X) 編程。Spring用戶可以很容易地按照 Spring編程方式快速創(chuàng)建并部署web服務(wù)。傳統(tǒng)的Java開發(fā)人員則可以通過注釋(Annotation)方便地進(jìn)行web服務(wù)開發(fā),喜歡POJOs 的Java開發(fā)人員更可直接配置并部署基于POJOs的web服務(wù)。更值得一提的是,通過Apache Yoko,用戶不需要任何CORBA編程知識(shí)就可以輕松地把現(xiàn)有CORBA 應(yīng)用轉(zhuǎn)化為web服務(wù),或開發(fā)客戶端與現(xiàn)有CORBA應(yīng)用直接交互。
多種通信協(xié)議及消息格式:Apache CXF支持多種通信傳輸協(xié)議,包括HTTP/HTTPS、JMS、 Servlet及同一JVM內(nèi)通信,并提供了SOAP或純XML通信消息格式(payload) 支持。同時(shí),Apache CXF具有創(chuàng)新意義的REST/HTTP支持也大大方便了用戶創(chuàng)建真正符合REST風(fēng)格的web服務(wù)。對(duì)于那些需要重用IT遺留系統(tǒng)的用戶來說,Apache CXF 2.0可擴(kuò)展的插拔式架構(gòu)允許定制開發(fā)并混合使用任何類型的通信協(xié)議及通信消息格式。
支持多種容器部署:基于Apache CXF的web服務(wù)可以單獨(dú)運(yùn)行,也可部署在多種容器里,包括輕量級(jí)容器如Tomcat及Spring ,JEE容器如Geronimo, JBOSS, WebLogic等。同時(shí),Apache CXF web服務(wù)還可以服務(wù)引擎方式部署于JBI容器如ServiceMix或OpenESB 。SCA容器如Apache Tuscany的支持也在計(jì)劃之中。
目前,與Apache CXF類似的開源項(xiàng)目有Apache Axis2,JBOSS ESB和Sun的Metro項(xiàng)目。據(jù)Apache CXF社區(qū)宣稱,Apache CXF 2.0以其性能和插拔式架構(gòu)的優(yōu)勢正與其他開源項(xiàng)目區(qū)別開來,引起許多SOA編程高級(jí)用戶的注意。
【編輯推薦】