seasun |
|
|||
在不斷模仿、思考、總結中一步一步進步! |
公告
日歷
導航常用鏈接隨筆分類
good blog author積分與排名
最新評論
閱讀排行榜
|
CXF ·支持Webservice標準:包括SOAP, the Basic Profile, WSDL, WS-Addressing, WS-Policy, WS-ReliableMessaging, 和 WS-Security。
目標 · 整體 高性能 ·支持的標準 JAX-WS, JAX-WSA, JSR-181, and SAAJ · 多種傳輸,綁定,數據綁定和格式 綁定: SOAP, REST/HTTP · 靈活的部署 輕量級容器: 在 Tomcat 或 基于Spring的容器中部署服務 · 支持多種編程語言 完全支持 JAX-WS 2.0 client/server 編程模型 · 代碼生成 Java to WSDL Axis Axis是Apache組織推出的SOAP引擎,Axis項目是Apache組織著名的SOAP項目的后繼項目, 但是Axis不僅僅是一個SOAP引擎,它還包括: 1)個獨立運行的SOAP服務器 2)一個servlet引擎的插件,這個servlet引擎可以是Tomcat 3)對WSDL的擴展支持 4)一個將WSDL的描述生成JAVA類的工具 5)一些示例代碼 6)還有一個監控TCP/IP包的工具 主要特性 · 速度: Axis 使用 SAX (event-based) 語法分析,與早期版本的 Apache SOAP 相比,速度有顯著提高。 · 靈活性:Axis體系結構使開發者可以自由的向引擎中插入擴展。 · 穩定性:Axis 定義了一組公共的接口。 · 面向組件的部署:可以簡單地定義可復用的處理機網絡,來實現應用程序的通用處理方式或分發給合作者。 · 傳輸框架:有一個簡潔的設計傳輸的抽象,引擎的核心完全獨立于傳輸。We have a clean and simple abstraction for designing transports (i.e., senders and listeners for SOAP over various protocols such as SMTP, FTP, message-oriented middleware, etc), and the core of the engine is completely transport-independent. · 支持WSDL:Axis 支持WSDL1.1,可以簡單的構建訪問遠程服務的樁(stub),還可以自動將部署的服務從Axis導出為機器可識別的描述。 Axis2 體系結構 邏輯和狀態分離,以提供無狀態處理機制,因為 Web 服務是無狀態的。
主要特性 · 內存占用低- Axis2 was designed ground-up keeping low memory foot print in mind. · AXIOM - Axis2 comes with its own light-weight object model, AXIOM, for message processing which is extensible, highly performant and is developer convenient. · 熱部署 - Axis2 is equipped with the capability of deploying Web services and handlers while the system is up and running. In other words, new services can be added to the system without having to shut down the server. Simply drop the required Web service archive into the services directory in the repository, and the deployment model will automatically deploy the service and make it available for use. · 異步web服務 - Axis2 now supports asynchronous Web services and asynchronous Web services invocation using non-blocking clients and transports. · 支持MEP - Axis2 now comes handy with the flexibility to support Message Exchange Patterns (MEPs) with in-built support for basic MEPs defined in WSDL 2.0. · 靈活性 - Axis體系結構使開發者可以自由的向引擎中插入擴展。 · 穩定性 - Axis 定義了一組公共的接口。 · 面向組件的部署 -可以簡單地定義可復用的處理機網絡,來實現應用程序的通用處理方式或分發給合作者。 · 傳輸框架 -有一個簡潔的設計傳輸的抽象,引擎的核心完全獨立于傳輸。We have a clean and simple abstraction for designing transports (i.e., senders and listeners for SOAP over various protocols such as SMTP, FTP, message-oriented middleware, etc), and the core of the engine is completely transport-independent. · 支持WSDL - Axis 支持WSDL1.1,可以簡單的構建訪問遠程服務的樁(stub),還可以自動將部署的服務從Axis導出為機器可識別的描述。 · 插件 - Several Web services specifications have been incorporated including WSS4J for security (Apache Rampart), Sandesha for reliable messaging, Kandula which is an encapsulation of WS-Coordination, WS-AtomicTransaction and WS-BusinessActivity. · 組成和可擴展性 - Modules and phases improve support for composability and extensibility. Modules support composability and can also support new WS-* specifications in a simple and clean manner. They are however not hot deployable as they change the overall behavior of the system. Xfire 主要特性 支持將 Web 服務綁定到 POJO、XMLBeans、JAXB1.1、JAXB2.0 和 Castor; 比較 新 XML 對象模型 (AXIOM) 基于消息傳遞的核心 Axis 1.x 并沒有異步 Web 服務調用的概念,它完全綁定到請求-響應調用,但在 Axis2 中卻是另一番景象。Axis2 體系結構能夠支持在客戶端和服務器端同時支持異步調用。同時,Axis2 也支持請求-響應樣式的調用,但這會以兩個異步調用的方式進行。在 Axis2 中,進入系統的消息可能有也可能沒有響應,應該注意,Aixs2 支持 WSDL 2.0 中定義的所有八種消息交換模式(Message Exchange Patterns,MEP)。 Axis2 具有流的概念,流是階段的集合,而階段是處理程序的集合。根據給定方法調用的 MEP,與其關聯的流的數量可能會有所變化。 部署模型 模塊體系結構 XFire VS Axis 1. 支持一系列Web Service的新標準--JSR181、WSDL2.0 、JAXB2、WS-Security等; 2. 使用Stax解釋XML,性能有了質的提高。XFire采用Woodstox 作Stax實現; 3. 容易上手,可以方便快速地從pojo發布服務; 4. Spring的結合; 5. 靈活的Binding機制,包括默認的Aegis,xmlbeans,jaxb2,castor。 XFire與Axis1性能的比較 XFire的響應時間是Axis1.3的1/2到1/5 XFire與Axis2的比較 AXIS VS CXF 這兩個框架 都是從已有的開源項目發展起來的。Axis2是從Axis1.x系列發展而來。CXF則是XFire和Celtix項目的結合產品。Axis2是從底層全部重新實現,使用了新的擴展性更好模塊架構。 CXF也重新的深化了XFire和Celtix這兩個開發工具。 新產品的退出導致了幾個問題。是不是現有的使用Axis 1.x,XFire和Celix的應用需要遷移的新的版本上。如果一個開發人員確定要遷移它的應用到新的框架上,那么他應該選擇哪一個呢?相反的,如果一個開發者決定從頭開發一個新的Web Service,他應該使用哪個呢? 這兩個框架哪一個更好一些呢? 對于系統遷移來說,也許遷移到新的框架并不難。Axis和CXF都提供了遷移的指導。能夠給開發者一些遷移的技巧和經驗。但是對于這樣遷移,這兩個開源項目都沒有提供遷移的工具。對于這樣的遷移工作,盡管很值得去尋找所有的可行方案。Axis2和CXF都有各自不同的WebService開發方法,每個方法都有相當數量擁護者。 通過一個比較矩陣來比較Axis2和CXF變得有現實的意義。這兩個項目都開發不夠成熟,但是最主要的區別在以下幾個方面: 1.CXF支持 WS-Addressing,WS-Policy, WS-RM, WS-Security和WS-I Basic Profile。Axis2不支持WS-Policy,但是承諾在下面的版本支持。 Axis2允許自己作為獨立的應用來發布Web Service,并提供了大量的功能和一個很好的模型,這個模型可以通過它本身的架構(modular architecture)不斷添加新的功能。有些開發人員認為這種方式對于他們的需求太過于繁瑣。這些開發人員會更喜歡CXF。 CXF更注重開發人員的工效(ergonomics)和嵌入能力(embeddability)。大多數配置都可以API來完成,替代了比較繁瑣的XML配置文件, Spring的集成性經常的被提及,CXF支持Spring2.0和CXF's API和Spring的配置文件可以非常好的對應。CXF強調代碼優先的設計方式(code-first design),使用了簡單的API使得從現有的應用開發服務變得方便。 |
![]() |
|
Copyright © shiwf | Powered by: 博客園 模板提供:滬江博客 |