PRC、RMI、SOAP、REST等的區別與聯繫

不同系統之間,總是避免不了要互相通信,通信方式無外乎兩種:方法調用、請求和等待。前者是直接調用對方的API,而後者是通過http請求,告訴對方要執行的方法和參數,並返回結果。

通信方式
   --RPC         :它是一種規範,採用請求和響應的方式,優勢是語言無關性,劣勢是沒有類型校驗這種編譯期的檢查能力,必須做大量的運行時檢查
        --XML-RPC          :通過xml格式來實現RPC的規範,API是XmlRpcClient

        --JSON-RPC       :通過JSON格式來實現RPC的規範

        --SOAP                 :可以認爲是XML-PRC的加強版本,基本格式仍然是xml,但封裝的更加完美,支持的數據類型更多,可以支持對象和容器。具備初級的類型校驗。實現方案有AXIS,XFIRE等


   --RMI    :遠程方法調用,這是代碼上提供的支持,依賴java語言,優勢是具備類型校驗的能力
        --jdk


REST   :REST風格的請求是另一種請求和響應的方式實現的通信,可以認爲跟RPC類似,但它堅持以資源爲中心(比如issue就是資源),而動詞是固定的(GET/POST等,有利有弊),比較成熟的實現方案是restlet。

關於webservice,通常講的webservice其實是指基於SOAP的,比如AXIS,XFIRE等,而廣義的,其實基於RPC提供的web服務,都可以認爲是webservice。

 

參考文章:

http://blog.csdn.net/kingquake21/article/details/5260787
  http://www.myexception.cn/xml-soap/700586.html
  http://www.myexception.cn/xml-soap/429881.html
  http://blog.csdn.net/bloghome/article/details/4576942
  http://www.cnblogs.com/Tim-Yi/archive/2011/11/03/2234230.html

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章