WebServiceCXF與Restful架構風格簡介

weixin_33724059發表於2018-07-01

什麼是WebService

  • 簡單的說,WebService是一種多系統之間通訊的技術.
  • WebService是一個平臺獨立的,低耦合的,自包含的、基於可程式設計的web的應用程式,可使用開放的XML標準來描述、釋出、發現、協調和配置這些應用程式,用於開發分散式的互操作的應用程式。
  • 很多個系統,進行分佈的部署,分佈的系統之間的資料通訊,解決技術就是WebService

什麼是CXF

  • Apache CXF = Celtix + XFire,開始叫 Apache CeltiXfire,後來更名為 Apache CXF 了,以下簡稱為 CXF。CXF 繼承了 Celtix 和 XFire 兩大開源專案的精華,提供了對 JAX-WS 全面的支援,並且提供了多種 Binding 、DataBinding、Transport 以及各種 Format 的支援,並且可以根據實際專案的需要,採用程式碼優先(Code First)或者 WSDL 優先(WSDL First)來輕鬆地實現 Web Services 的釋出和使用。Apache CXF已經是一個正式的Apache頂級專案。官網:http://cxf.apache.org/

為什麼用WebServiceCXF

  • CXF是目前最主流WebService開發框架,由Apache提供
  • CXF WebService開發,主要分為兩種服務提供方式WS、RS

兩種傳輸資料的方式

  • JAX-WS 傳輸資料:就是XML格式,基於SOAP協議(Simple Object Access protocol,簡單物件訪問協議)
  • JAX-RS傳輸資料: 基於restFul風格,可以傳輸XML格式或者JSON格式,基於HTTP協議

什麼是Restful風格

  • Restful風格是一種軟體設計架構風格,而不是一套標準,只是提供了一組設計原則和約束條件.它主要用於客戶端和伺服器互動類的軟體。基於這個風格設計的軟體可以更簡潔,更有層次,更易於實現快取等機制。
  • 在伺服器端,應用程式狀態和功能可以分為各種資源。資源是一個有趣的概念實體,它向客戶端公開。資源的例子有:應用程式物件、資料庫記錄、演算法等等。每個資源都使用 URI (Universal Resource Identifier) 得到一個唯一的地址。所有資源都共享統一的介面,以便在客戶端和伺服器之間傳輸狀態。使用的是標準的 HTTP 方法,比如 GET、PUT、POST 和 DELETE。

Restful風格好處

  • 基於這種風格架構,軟體編寫可以更簡潔
  • 基於HTTP協議,支援多種訊息格式,比如XML、JSON
  • 可提供OpenAPI,便於第三方系統整合,提高互操作性
  • 資源描述與檢視的鬆耦合
  • 強調HTTP應當以資源為中心,並且規範了資源URI的風格
  • 規範了HTTP請求動作(PUT,POST等)的使用,具有對應的語義

Restful根據請求方式的不同執行不同的操作

POST請求方式訪問 儲存操作(增,英文:Create)
DELETE請求方式訪問 刪除操作(刪,英文:Delete)
PUT 請求方式訪問 修改操作(改,英文:Update)
GET請求方式訪問 查詢操作(查,英文:Retrieve)

相關文章