REST架構風格的架構元素

求知者發表於2016-12-10

本文是筆者研究REST總結的第二篇。建議閱讀本文之前,先看一下筆者對REST總結的第一篇文章《REST架構風格的由來》,弄清楚REST的由來,再看本篇。

表述性狀態轉移(REST)風格是對分散式超媒體系統中的架構元素的一種抽象。REST忽略了元件實現和協議語法的細節,以便聚焦於以下幾個方面:元件的角色、元件之間的互動之上的約束、元件對重要資料元素的解釋。REST包括了一組對於定義 Web 架構基礎的組 件、聯結器和資料的基本約束,因此它代表了基於網路的應用的行為的本質。

REST提供了一組架構約束,當作為一個整體來應用時,強調元件互動的可伸縮性、介面的通用性、 元件的獨立部署、以及用來減少互動延遲、增強安全性、封裝遺留系統的中間元件。

如下為REST的架構元素。

1.資料元素(Data Elements)

REST架構風格的架構元素

1.1資源和資源識別符號(Resources and Resource Identifiers

REST對於資訊的核心抽象是資源。任何能夠被命名的資訊都能夠作為一個資源:一份文件或一張圖片、一個與時間相關的服務(例如,“北京今日的天氣”)、一個其他資源的集合、一個非虛擬的物件(例如,人)等等。REST使用一個資源識別符號來標識元件之間互動所涉及到的特定資源。

1.2表述(Representations

REST元件通過以下方式在一個資源上執行動作:使用一個表述來捕獲資源的當前的或預期的狀態、在元件之間傳遞該表述。一個表述是一個位元組序列,以及描述這些位元組的表述後設資料。表述的其他常用但不夠精確的名稱包括:文件、檔案、HTTP 訊息實體、例項或變數。表述的資料格式被稱為一種媒體型別。

2.聯結器(Connectors)

%e8%bf%9e%e6%8e%a5%e5%99%a8

REST使用多種不同的聯結器型別來對訪問資源和轉移資源表述的活動進行封裝。聯結器代表了一個元件通訊的抽象介面,通過提供清晰的關注點分離、 並且隱藏資源的底層實現和通訊機制,從而改善了架構的簡單性。介面的通用性也使得元件 的可替換性成為了可能:如果使用者對系統的訪問僅僅是通過一個抽象的介面,那麼介面的實現就能夠被替換,而不會對使用者產生影響。由於元件的網路通訊是由一個聯結器來管理的,所以在多個互動之間能夠共享資訊,以便提高效率和響應能力。

3.元件(Components)

REST架構風格的架構元素

REST 元件根據它們在整個的應用動作中的角色來進行分類。

說明:本文參考了由李錕、廖志剛、劉丹、楊光等翻譯的<<架構風格與基於網路的軟體架構設計>>

打賞支援我寫出更多好文章,謝謝!

打賞作者

打賞支援我寫出更多好文章,謝謝!

任選一種支付方式

REST架構風格的架構元素 REST架構風格的架構元素

相關文章