WebServiceCXF與Restful架構風格簡介
什麼是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)
相關文章
- RESTful 架構風格概述REST架構
- RESTful api風格介紹RESTAPI
- API介面設計之RESTful軟體架構風格APIREST架構
- 軟體架構風格——閉環架構風格(過程風格)架構
- Restlet - REST架構風格的介紹REST架構
- RESTful API 為何成為頂流 API 架構風格?RESTAPI架構
- 使用Swashbuckle構建RESTful風格文件REST
- RESTful 架構風格下的 4 大常見安全問題REST架構
- RESTful風格APIRESTAPI
- 軟體架構風格——倉庫風格架構
- REST架構風格的架構元素REST架構
- 軟體架構風格——規則架構架構
- 軟體架構風格——虛擬機器風格架構虛擬機
- 軟體架構風格概括架構
- Yii2.0 實現RESTful風格的簡單APIRESTAPI
- springmvc+swagger構建Restful風格文件SpringMVCSwaggerREST
- 理解本真的REST架構風格REST架構
- REST架構風格的由來REST架構
- Gin與Mysql實現簡單Restful風格API實戰示例詳解PRHCMySqlRESTAPI
- 【flask框架】——flask-restful風格Flask框架REST
- TiDB簡介與整體架構TiDB架構
- 隱式呼叫架構風格的概念與應用(轉)架構
- Laravel HTTP—— RESTFul 風格路由的使用與原始碼分析LaravelHTTPREST路由原始碼
- ELK架構簡介架構
- 論軟體系統架構風格架構
- 理解RESTFul架構REST架構
- 一. SpringCloud簡介與微服務架構SpringGCCloud微服務架構
- 軟體架構簡介架構
- 微服務架構簡介微服務架構
- Flume(一):簡介架構架構
- Yii2.0 RESTful風格的Controller與ActiveControllerRESTController
- Spring Boot 中 10 行程式碼構建 RESTful 風格應用Spring Boot行程REST
- SpringMVC+Json構建基於Restful風格的應用SpringMVCJSONREST
- GoldenGate 12.3 MA架構介紹系列(4)–Restful API介紹Go架構RESTAPI
- SpringMvc筆記-對RESTFUL風格的配置SpringMVC筆記REST
- 四種JavaEE架構簡介Java架構
- 微服務架構模式簡介微服務架構模式
- Microservice架構模式簡介ROS架構模式