1、JWS是Java語(yǔ)言對(duì)WebService服務(wù)的一種實(shí)現(xiàn),用來開發(fā)和發(fā)布服務(wù)。而從服務(wù)本身的角度來看JWS服務(wù)是沒有語(yǔ)言界限的。但是Java語(yǔ)言為Java開發(fā)者提供便捷發(fā)布和調(diào)用WebService服務(wù)的一種途徑。
2、Axis2是Apache下的一個(gè)重量級(jí)WebService框架,準(zhǔn)確說它是一個(gè)Web Services / SOAP / WSDL 的引擎,是WebService框架的集大成者,它能不但能制作和發(fā)布WebService,而且可以生成Java和其他語(yǔ)言版WebService客戶端和服務(wù)端代碼。這是它的優(yōu)勢(shì)所在。但是,這也不可避免的導(dǎo)致了Axis2的復(fù)雜性,使用過的開發(fā)者都知道,它所依賴的包數(shù)量和大小都是很驚人的,打包部署發(fā)布都比較麻煩,不能很好的與現(xiàn)有應(yīng)用整合為一體。但是如果你要開發(fā)Java之外別的語(yǔ)言客戶端,Axis2提供的豐富工具將是你不二的選擇。
3、XFire是一個(gè)高性能的WebService框架,在Java6之前,它的知名度甚至超過了Apache的Axis2,XFire的優(yōu)點(diǎn)是開發(fā)方便,與現(xiàn)有的Web整合很好,可以融為一體,并且開發(fā)也很方便。但是對(duì)Java之外的語(yǔ)言,沒有提供相關(guān)的代碼工具。XFire后來被Apache收購(gòu)了,原因是它太優(yōu)秀了,收購(gòu)后,隨著Java6 JWS的興起,開源的WebService引擎已經(jīng)不再被看好,漸漸的都敗落了。
4、CXF是Apache旗下一個(gè)重磅的SOA簡(jiǎn)易框架,它實(shí)現(xiàn)了ESB(企業(yè)服務(wù)總線)。CXF來自于XFire項(xiàng)目,經(jīng)過改造后形成的,就像目前的Struts2來自WebWork一樣??梢钥闯鯴Fire的命運(yùn)會(huì)和WebWork的命運(yùn)一樣,最終會(huì)淡出人們的視線。CXF不但是一個(gè)優(yōu)秀的Web Services / SOAP / WSDL 引擎,也是一個(gè)不錯(cuò)的ESB總線,為SOA的實(shí)施提供了一種選擇方案,當(dāng)然他不是最好的,它僅僅實(shí)現(xiàn)了SOA架構(gòu)的一部分。
注:對(duì)于Axis2與CXF之間的關(guān)系,一個(gè)是Axis2出現(xiàn)的時(shí)間較早,而CXF的追趕速度快。
如何抉擇:
1、如果應(yīng)用程序需要多語(yǔ)言的支持,Axis2 應(yīng)當(dāng)是首選了;
2、如果應(yīng)用程序是遵循 Spring 哲學(xué)路線的話,Apache CXF 是一種更好的選擇,特別對(duì)嵌入式的 Web Services 來說;
3、如果應(yīng)用程序沒有新的特性需要的話,就仍是用原來項(xiàng)目所用的框架,比如 Axis1,XFire,Celtrix或 BEA 等等廠家自己的 Web Services 實(shí)現(xiàn),就別勞民傷財(cái)了。
最后,我的建議是:如果你需要多語(yǔ)言的支持,你應(yīng)該選擇AXIS2。如果你需要把你的實(shí)現(xiàn)側(cè)重JAVA并希望和Spring集成,CXF就是更好的選擇,特別是把你的Web Service嵌入其他的程序中。如果你覺得這兩個(gè)框架的新特性對(duì)于你并沒有太大的用處,你會(huì)覺得Axis1也是不錯(cuò)的選擇,你應(yīng)該繼續(xù)使用它直到你有充分的理由去更換它。
來源:http://blog.csdn.net/apicescn/article/details/42965785
=================================================================================================================