json-rpc和restful


json-rpc是一種動作

restful 是一種資源

 

  1. RPC 所謂的遠程過程調用 (面向方法)
  2. SOA 所謂的面向服務的架構(面向消息)
  3. REST 所謂的 Representational state transfer (面向資源)

如果你想只記住一點,那么就請記住 RPC是以動詞為中心的, REST是以名詞為中心的, 此處的 動詞指的是一些方法, 名詞是指資源.

你會發現,以動詞為中心,意味着,當你要需要加入新功能時,你必須要添加更多的動詞, 這時候服務器端需要實現 相應的動詞(方法), 客戶端需要知道這個新的動詞並進行調用.

而以名詞為中心, 假使我請求的是 hostname/friends/, 無論這個URI對應的服務怎么變化,客戶端是無需 關注和更新的,而這種變化對客戶端也是透明的.

至於其它的區別,如對實現語言的依賴, 耦合性等,這些都是上面提到的這個根本區別所衍生的.

讓我們回到引入部分的2個問題. 當你每天使用HTTP沖浪時,你都在使用 REST 與遠程的服務器進行親密接觸. 當你使用Gtalk和同事朋友溝通時,你則是在享受着 RPC 的便利.

推薦閱讀 Restful User Experience (這個slide是個人認為解釋的最好的) 還有 ReST vs SOA(P).

 

 

推薦一篇文章: http://www.cnblogs.com/Tim-Yi/archive/2011/11/03/2234230.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM