【轉載】webservice框架xfire和axis的比較

kekele647發表於2009-12-12

使用XFire+Spring構建Web Service

XFire是與Axis 2並列的新一代Web Service框架,通過提供簡單的API支援Web Service各項標準協議,幫助你方便快速地開發Web Service應用。

相 對於Axis來說,目前XFire相對受歡迎,加上其提供了和Spring整合的支援,在目前的Web Service開源社群擁有眾多的追隨者。並且因為XFire為Spring提供的支援,使得我們可以很容易在Spring中使用XFire構建Web Service應用。

XFire與Axis2相比具有如下特徵:

l 支援一系列Web Service的新標準--JSR181、WSDL2.0 、JAXB2、WS-Security等;

l 使用Stax解釋XML,效能有了質的提高。XFire採用Woodstox 作Stax實現;

l 容易上手,可以方便快速地從pojo釋出服務;

l 支援Spring、Pico、Plexus、Loom等容器;

l 靈活的Binding機制,包括預設的Aegis,xmlbeans,jaxb2,castor;

l 高效能的SOAP 棧設計;

l 支援Spring、Pico、Plexus、Loom等容器。

XFire與Axis1效能的比較如下:

l XFire比Axis1.3快2-6倍;

l XFire的響應時間是Axis1.3的1/2到1/5。

XFire在WebService框架中開始較晚,它從現有的框架中借鑑了許多優秀的理念,力爭將Web Service的應用開發難度降到最低。此外,還提供了各種繫結技術、支援多種傳輸協議,對WebService體系中許多新的規範提供了支援。

下面讓我們來看一個XFire於Spring整合的helloWorld的簡單例子。

一.實現的功能和特點

本例具有如下功能和特點:

1) 基於J2EE平臺的Web Service服務;

2) 開發方便,配置簡單;

3) 與spring無縫整合。

XFire是完全基於流資料處理進行工作的系統,這意味著XFire不是將整個SOAP文件快取在記憶體中,而是以管道的方式接收SOAP流資料。這種工作方式的轉變帶來了可觀的效能回報,同時節省了記憶體的佔用。

  XFire從 管道中接收一個SOAP請求到返回一個SOAP響應,會經歷一系列的階段。在管道呼叫的任何一個階段,XFire都可以新增一些額外的Handler,在 對訊息進行加工處理後再傳入到下一個階段中。在SOAP請求訊息對Web Service發起真正呼叫之前,分別會經過傳輸、預轉發、轉發、策略實施、使用者資訊處理、預呼叫、服務呼叫等階段。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7389553/viewspace-622271/,如需轉載,請註明出處,否則將追究法律責任。

相關文章