如何正確地在Axis,Axis2和Apache CXF之間抉擇

2022-07-08 22:55:33 字數 1561 閱讀 6998

1樓:匿名使用者

新一代的 web services 框架如 axis2、cxf

都是由現有的專案中逐漸演化而來的,axis2 是由大家熟悉的 axis 1.x 系列演化過來,而 apache cxf 則是由 celtix 和 xfire

專案整合而生,並且剛剛釋出了 2.0.2 的最新版本,不過仍是 apache 的一個孵化專案。

axis2 是對 axis

進行了徹底的重寫的一個新專案了,它使用了新的模組化架構,更方便於功能性的擴充套件等等。

apache cxf 則是由 xfire 和 celtix

兩個現有的專案進行了重組。

問題:如果現有的應用程式是基於 axis 1.x、xfire 或者 celtix

的話,那應該怎麼辦?都遷移到這些新的框架上去嗎?但是即使是要遷移,那應該遷移到哪個框架上去呢?

如果是編寫一個新的 web services

應用程式的話,就不存在遷移的問題了,但是哪個框架是你應當選擇進行使用的呢?哪個比哪個更好呢?

對於現在的應用程式的遷移,如果你的應用程式是穩定而成熟的,並且在可預知的未來的情況下,只要很少的一些需求變更要做的話,那麼儲存你的體力,不要去做「勞民傷財「的遷移工作了。

如果你的現有應用程式bug纏身,效能,功能等等都一片糟糕的話,那就要考慮遷移了,那選哪個框架呢?先比較一下它們的不同之處:

1、apache cxf 支援 ws-addressing、ws-policy、ws-rm、ws-security和ws-i

basicprofile

2、axis2 支援 ws-addressing、ws-rm、ws-security和ws-i

basicprofile,ws-policy將在新版本里得到支援

3、apache cxf

是根據spring哲學來進行編寫的,即可以無縫地與spring進行整合

4、axis2 不是

5、axis2 支援更多的 data

bindings,包括 xmlbeans、jibx、jaxme 和 jaxbri,以及它原生的 data binding(adb)。

6、apache cxf 目前僅支援 jaxb 和 aegis,並且預設是 jaxb 2.0,與 xfire 預設是支援 aegis

不同,xmlbeans、jibx 和 castor 將在 cxf 2.1 版本中得到支援,目前版本是 2.0.2

7、axis2 支援多種語言,它有

c/c++ 版本。

8、apache cxf 提供方便的spring整合方法,可以通過註解、spring標籤式配置來暴露web

services和消費web services

如何抉擇:

1、如果應用程式需要多語言的支援,axis2 應當是首選了;

2、如果應用程式是遵循 spring 哲學路線的話,apache cxf 是一種更好的選擇,特別對嵌入式的 web services 來說;

3、如果應用程式沒有新的特性需要的話,就仍是用原來專案所用的框架,比如 axis1,xfire,celtrix 或 bea 等等廠家自己的 web

services 實現,就別勞民傷財了。

如何正確地宣告常量字串陣列,如何正確地宣告一個常量字串陣列

定義 用雙引號 括起來的0個或者多個字元組成的序列儲存 每個字串尾自動加一個 0 作為字串結束標誌 1 在c語言中沒有專門的字串變數,如果想將一個字串存放在變數中以便儲存,必須使用字元陣列,即用一個字元型陣列來存放一個字串,陣列中每一個元素存放一個字元。例如 char a 10 love 2 在程式...

如何正確地預防高血壓

如何正確地預防高血壓 在我們的身邊有很多的高血壓患者你們如何正確地預防高血壓呢我們一起拉聊聊吧。患高血壓的人越來越多,很多朋友都願意給自己或家人花點錢,買點兒好用的東西,來防治高血壓,高血壓就是其中一種。說起高血壓患者,人們通常想起的都是老年人患者,其實不然,患有高血壓患者不只有老年人,那麼問題來了...

如何正確地軟化角質層

角質就是死皮死皮大家都知道是什麼。軟化死皮最直接簡單的方法就是用熱水浸泡。我們的腳底每天都要走路,受到的摩擦多,所以非常容易長死皮。這個時候我們就可以打一盆熱水來泡腳,讓死皮軟化。先打一盆四十二攝氏度的熱水,水不要太多,能蓋過腳背就可以。只需要泡十五分鐘就能達到軟化死皮的效果。死皮長在我們 上,新的...