REST的特性
它基於HTTP協議,是一種明確構建在客戶端/服務端體系結構上的一種風格。特徵以下:
一、網絡上的資源都被抽象爲資源,這些資源都具備惟一的統一資源標識符(URI:Uniform Resource Identiter),這些資源都是自咱們描述的。這些資源使用HTTP內容標頭類型指定。如:XML、JSON、HTML、PNG等。
二、服務的使用者經過HTTP協議的標準動做(Get、Put、Post、Delete)經過統一的接口對資源進行操做。
三、對資源進行的操做不會改變它的URI。
四、客戶端、服務端之間的交互是沒有狀態的。因爲這種無狀態行,服務端不須要爲每一個客戶端維護Context
SOA的特徵
一、經過網絡終結點對外提供服務。
二、粗粒度的服務接口。
REST與SOA的共同點
REST與SOA二者,雖有不一樣點,可是他們都做爲服務的不一樣架構風格,具備服務的通常屬性。具體以下:
一、統一的服務契約接口與服務接口
二、鬆散的耦合。
三、只要有權限均可以進行訪問
REST與SOA的不一樣點
一、REST風格下的,只有一種協議,那就是HTTP。而SOA下的WCF就和多種協議了。如:TCP、HTTP、MSMQ等多種協議
二、使用方式上的不一樣。REST只要客戶端可以模擬HTTP請求,經過標準的HTTP動做,均可以進行訪問。它使用的是HTTPChannel管道,而SOA使用的管道有HTTPChannel、TcpChannel、RPC等多種。
三、REST寄宿時,雖然能夠選擇多種寄宿方式,但必須有應用服務器的支持。