分散式系統系列(三)---Web Service實戰--CXF理論篇

_Emily發表於2015-04-30

 第一篇:CXF理論篇     

      在Java領域,WebService的框架很多,例如:AXISXFireCXF等。AXISXFire相對比較成熟。

          Axis全程Apache Extensible Interaction SystemApache可擴充套件互動系統。是第三代Apache SOAP。本質上就是一個SOAP引擎,但不完全是一個SOAP引擎,它還是一個獨立的SOAP伺服器和一個嵌入Servlet引擎的伺服器。

           XFire是新一代的Java Web服務引擎,可以非常容易地和Spring整合。是codeHaus組織提供的一個開源框架,構建了POJOSOA之間的橋樑,主要特性就是支援將POJO通過非常簡單的方式釋出成Web服務。

 

         Apache CXF專案是由ObjectWeb CeltixCodeHaus合併成立。 CXF框架是一種基於Servlet技術的SOA應用開發框架,要正常執行基於CXF應用框架開發的企業應用,除了CXF框架本身之外,還需要JDKServlet容器的支援。

 

       Apache CXF= Celtix + Xfire支援多種協議:

       1)SOAP1.1,1.2

       2)XML/HTTP

       3)CORBACommon Object Request BrokerArchitecture公共物件請求代理體系結構,早期語言使用的C,c++C#)並可以與Spring進行快速無縫的整合

    4)靈活的部署:可以執行在TomcatJboss,JettyIBMWwbSphera,BeaWebLogic上面。

 

CXF的結構


BUS:是CXF的主幹,為共享資源提供了一個可配置的場所,類似於SpringApplicationContext.預設Bus是基於Spring的。

Interceptor:CXF建立於一個通用的訊息層之上,主要由訊息,攔截器和攔截器鏈組成。


Service Model服務模型,有ServiceInfo和服務本身。ServiceInfo作用類似於WSDL,包含介面資訊,繫結,端點等資訊;服務包含ServiceInfo,資料繫結,攔截器和服務屬性等。可使用Java類和WSDL來建立服務。一般是由前端負責服務的建立,通過ServiceFactory來完成。


Bindings:停工在傳輸之上對映的具體格式和協議方法。BindingFactory負責建立Binding

Transports:向繫結和前端遮蔽傳輸細節。


總結

       CXF並不是Web ServiceCXF只是釋出呼叫Web Service的工具而已。Web Service是一種標準,規範。

相關文章