Axis,axis2,Xfire以及cxf对比 (转)
Axis,axis2,Xfire以及cxf對比
http://ws.apache.org/axis/
http://axis.apache.org/axis2/java/core/
http://xfire.codehaus.org/
http://cxf.apache.org/
axis最新的版本為April 22, 2006
axis2最新的版本為19 - Dec - 2010??? 1.5.4
xfire最新的版本為1.2.6 - May 3, 2007???????? 網(wǎng)站已經(jīng)說了“XFire is now CXF”? --|||
cxf?最新的版本為Feb 28, 2011 - Apache CXF 2.3.3 is released!
??
現(xiàn)在只有axis2和cxf官方有更新。
??
(以下來自網(wǎng)絡資料)
??XFire VS Axis XFire是與Axis2 并列的新一代WebService平臺。之所以并稱為新一代,因為它:? 1、支持一系列Web Service的新標準--JSR181、WSDL2.0 、JAXB2、WS-Security等;? 2、使用Stax解釋XML,性能有了質(zhì)的提高。XFire采用Woodstox 作Stax實現(xiàn);? 3、容易上手,可以方便快速地從pojo發(fā)布服務;? 4、Spring的結合;? 5、靈活的Binding機制,包括默認的Aegis,xmlbeans,jaxb2,castor。
XFire與Axis1性能的比較? 1、XFire比Axis1.3快2-6倍? 2、XFire的響應時間是Axis1.3的1/2到1/5
XFire與Axis2的比較? 雖然XFire與Axis2都是新一代的WebService平臺,但是Axis2的開發(fā)者太急于推出1.0版本,所以1.0還不是一個穩(wěn)定的版本,它的開發(fā)者宣稱1.1版本即將推出,希望1.1版本會是個穩(wěn)定的版本。在XFire捐獻給apache后有人認為Axis2將會滅亡。其實在很多人眼里,Axis2并不是pojo形式,Dan Diephouse證明了XFire比Axis更有市場,我也發(fā)現(xiàn)了有很多人開始從Axis轉(zhuǎn)向XFire,包括我也在說服身邊的人轉(zhuǎn)向利用XFire進行WebService的開發(fā),很典型的是我可以在幾分鐘之內(nèi)教會我的團隊實用XFire來發(fā)布一個他自己的Web服務。
本人傾向于XFire確實比Axis2簡單很多
AXIS VS CXF
在SOA領域,我們認為Web Service是SOA體系的構建單元(building block)。對于服務開發(fā)人員來說,AXIS和CXF一定都不會陌生。這兩個產(chǎn)品都是Apache孵化器下面的Web Service開源開發(fā)工具。
?Axis2的最新版本是1.3.
CXF現(xiàn)在已經(jīng)到了2.0版本。
這兩個框架 都是從已有的開源項目發(fā)展起來的。Axis2是從Axis1.x系列發(fā)展而來。CXF則是XFire和Celtix項目的結合產(chǎn)品。Axis2是從底層全部重新實現(xiàn),使用了新的擴展性更好模塊架構。 CXF也重新的深化了XFire和Celtix這兩個開發(fā)工具。
?
新產(chǎn)品的退出導致了幾個問題。是不是現(xiàn)有的使用Axis 1.x,XFire和Celix的應用需要遷移的新的版本上。如果一個開發(fā)人員確定要遷移它的應用到新的框架上,那么他應該選擇哪一個呢?相反的,如果一個開發(fā)者決定從頭開發(fā)一個新的Web Service,他應該使用哪個呢? 這兩個框架哪一個更好一些呢?
對于系統(tǒng)遷移來說,也許遷移到新的框架并不難。Axis和CXF都提供了遷移的指導。能夠給開發(fā)者一些遷移的技巧和經(jīng)驗。但是對于這樣遷移,這兩個開源項目都沒有提供遷移的工具。對于這樣的遷移工作,盡管很值得去尋找所有的可行方案。Axis2和CXF都有各自不同的WebService開發(fā)方法,每個方法都有相當數(shù)量擁護者。
?
通過一個比較矩陣來比較Axis2和CXF變得有現(xiàn)實的意義。這兩個項目都開發(fā)不夠成熟,但是最主要的區(qū)別在以下幾個方面:
1.CXF支持 WS-Addressing,WS-Policy, WS-RM, WS-Security和WS-I Basic Profile。Axis2不支持WS-Policy,但是承諾在下面的版本支持。
2. CXF可以很好支持Spring。Axis2不能
3. AXIS2支持更廣泛的數(shù)據(jù)并對,如XMLBeans,JiBX,JaxMe和JaxBRI和它自定義的數(shù)據(jù)綁定ADB。注意JaxME和JaxBRI都還是試驗性的。CXF只支持JAXB和Aegis。在CXF2.1
4. Axis2支持多語言-除了Java,他還支持C/C++版本。
比較這兩個框架的Web Service開發(fā)方法與比較它們的特性同樣重要。
從開發(fā)者的角度,兩個框架的特性相當?shù)牟煌?Axis2的開發(fā)方式類似一個小型的應用服務器,Axis2的開發(fā)包要以WAR的形式部署到Servlet容器中,比如Tomcat,通過這些容器可以對工作中的Web Service進行很好的監(jiān)控和管理。Axis2的Web administrion模塊可以讓我們動態(tài)的配置Axis2.一個新的服務可以上載,激活,使之失效,修改web服務的參數(shù)。管理UI也可以管理一個或者多個處于運行狀態(tài)的服務。這種界面化管理方式的一個弊端是所有在運行時修改的參數(shù)沒有辦法保存,因為在重啟動之后,你所做的修改就會全部失效。Axis2允許自己作為獨立的應用來發(fā)布Web Service,并提供了大量的功能和一個很好的模型,這個模型可以通過它本身的架構(modular architecture)不斷添加新的功能。有些開發(fā)人員認為這種方式對于他們的需求太過于繁瑣。這些開發(fā)人員會更喜歡CXF。
CXF更注重開發(fā)人員的工效(ergonomics)和嵌入能力(embeddability)。大多數(shù)配置都可以API來完成,替代了比較繁瑣的XML配置文件, Spring的集成性經(jīng)常的被提及,CXF支持Spring2.0和CXF's API和Spring的配置文件可以非常好的對應。CXF強調(diào)代碼優(yōu)先的設計方式(code-first design),使用了簡單的API使得從現(xiàn)有的應用開發(fā)服務變得方便。
不過你選擇Axis2還是CXF,你都可以從開源社區(qū)得到大量的幫助。這兩個框架都有商業(yè)公司提供服務,WSO2提供AXIS2的支持,Iona提供CXF的支持。這兩公司都有很活躍的開發(fā)者社區(qū)。
?
Axis2出現(xiàn)的時間較早,CXF的追趕速度快。
我的建議是:如果你需要多語言的支持,你應該選擇AXIS2。如果你需要把你的實現(xiàn)側(cè)重JAVA并希望和Spring集成,CXF就是更好的選擇,特別是把你的Web Service嵌入其他的程序中。如果你覺得這兩個框架的新特性對于你并沒有太大的用處,你會覺得Axis1也是不錯的選擇,你應該繼續(xù)使用它知道你有充分的理由去更換它。
?
如何抉擇:? 1、如果應用程序需要多語言的支持,Axis2 應當是首選了;? 2、如果應用程序是遵循 Spring 哲學路線的話,Apache CXF 是一種更好的選擇,特別對嵌入式的 Web Services 來說;? 3、如果應用程序沒有新的特性需要的話,就仍是用原來項目所用的框架,比如 Axis1,XFire,Celtrix或 BEA 等等廠家自己的 Web Services 實現(xiàn),就別勞民傷財了。
?
(資源2)
1、JWS是Java語言對WebService服務的一種實現(xiàn),用來開發(fā)和發(fā)布服務。而從服務本身的角度來看JWS服務是沒有語言界限的。但是Java語言為Java開發(fā)者提供便捷發(fā)布和調(diào)用WebService服務的一種途徑。 2、Axis2是Apache下的一個重量級WebService框架,準確說它是一個Web Services / SOAP / WSDL 的引擎,是WebService框架的集大成者,它能不但能制作和發(fā)布WebService,而且可以生成Java和其他語言版WebService客戶端和服務端代碼。這是它的優(yōu)勢所在。但是,這也不可避免的導致了Axis2的復雜性,使用過的開發(fā)者都知道,它所依賴的包數(shù)量和大小都是很驚人的,打包部署發(fā)布都比較麻煩,不能很好的與現(xiàn)有應用整合為一體。但是如果你要開發(fā)Java之外別的語言客戶端,Axis2提供的豐富工具將是你不二的選擇。 3、XFire是一個高性能的WebService框架,在Java6之前,它的知名度甚至超過了Apache的Axis2,XFire的優(yōu)點是開發(fā)方便,與現(xiàn)有的Web整合很好,可以融為一體,并且開發(fā)也很方便。但是對Java之外的語言,沒有提供相關的代碼工具。XFire后來被Apache收購了,原因是它太優(yōu)秀了,收購后,隨著Java6 JWS的興起,開源的WebService引擎已經(jīng)不再被看好,漸漸的都敗落了。 4、CXF是Apache旗下一個重磅的SOA簡易框架,它實現(xiàn)了ESB(企業(yè)服務總線)。CXF來自于XFire項目,經(jīng)過改造后形成的,就像目前的Struts2來自WebWork一樣。可以看出XFire的命運會和WebWork的命運一樣,最終會淡出人們的視線。CXF不但是一個優(yōu)秀的Web Services / SOAP / WSDL 引擎,也是一個不錯的ESB總線,為SOA的實施提供了一種選擇方案,當然他不是最好的,它僅僅實現(xiàn)了SOA架構的一部分。總結
以上是生活随笔為你收集整理的Axis,axis2,Xfire以及cxf对比 (转)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Block 进阶
- 下一篇: 问题:# mount –t ntfs /