隨筆-128  評論-55  文章-5  trackbacks-0
          新一代的 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 實現,就別勞民傷財了。

          Author: orangelizq
          email: orangelizq@163.com

          歡迎大家訪問我的個人網站 萌萌的IT人
          posted on 2008-05-15 15:19 桔子汁 閱讀(668) 評論(0)  編輯  收藏 所屬分類: Web Service
          主站蜘蛛池模板: 旅游| 蒙城县| 泰顺县| 阿尔山市| 从江县| 固阳县| 九江市| 宁都县| 民权县| 新巴尔虎右旗| 洪雅县| 社旗县| 呼和浩特市| 银川市| 博白县| 高淳县| 施秉县| 九江县| 桑日县| 贺州市| 香港| 闵行区| 志丹县| 双峰县| 伊宁市| 响水县| 德化县| 阳春市| 萨嘎县| 岳普湖县| 巴林左旗| 双鸭山市| 浠水县| 沭阳县| 新巴尔虎左旗| 双峰县| 吴江市| 临潭县| 措勤县| 乐平市| 新民市|