簡介
當今的應用程序不僅需要和基于瀏覽器的客戶端互操作,還需要和其他應用程序互操作。為實現互操作性,web 應用程序通常提供一個 web 服務 API。web 服務 API 通過一個網絡(比如 Internet)提供對應用程序 的遠程訪問。直到最近,web 服務 API 還使用重型、復雜的基于 SOAP 的 web 服務集成,這種 web 服務,不僅沒有什么優點,而且還需要很長時間才能實現。帶有基于 Representational State Transfer (REST) 服務的 Rails 框架有一種更簡單、更快捷的方法通過 Active Resource 來實現和使用 web 服務。
在 Rails 實現了 RESTful 以后,現在只需通過一個 Rails 動作就能提供一個特定資源的不同內容類型(或者表示)。這種方法有以下好處:
一個資源的各種表示狀態。 對不基于瀏覽器的 HTML 客戶端的附加支持在 Controller 視圖中得到了簡化。 應用程序之間以及與新客戶端之間的互操作性。在本文中,您將了解 REST、SOAP、Rails Active Resource,以及如何提高多個應用程序之間的互操作性。
Ruby on Rails
Ruby on Rails(也稱為 Rails 或 RoR)是一個用 Ruby 語言編寫的開源 web 應用程序框架。Ruby on Rails 旨在幫助開發人員更輕松快捷地開發和部署 web 應用程序,與其他語言和框架相比,Rails 框架進行了幾個假設。其目的是使用敏捷開發的方法,實現快速開發。
Rails 框架合并了以下幾個包:
Active Record:一個對象關系映射層,用于數據庫相關訪問和功能; Action Pack:一個控制器和視圖功能管理器; Action Mailer:一個電子郵件處理器; Active Support Active Resource:提供 web 服務(即 Action Web 服務)。Web 服務
Web 服務是使用開放協議通信的應用程序組件,它們可以被其他應用程序使用。web 服務是簡單 APIs ,可以使用 HTML 進行訪問,并在承載請求服務的遠程系統上執行。web 服務是不同平臺上、以不同語言編寫、不同系統上的各種應用程序的關鍵集成點。
REST 不是一個協議;它是利用 World Wide Web 的技術和協議的大型聯網軟件的一種架構風格。REST 描述如何定義和處理分布式數據對象(或資源),強調簡單的信息交換和可伸縮性。REST 架構描述該該架構上應用的 6 個約束。
另一方面,SOAP 是一個協議規范,用于在計算機網絡中交換 web 服務的實現中的結構化信息。它依賴 XML 作為其消息格式,通常依賴其他應用程序層協議(RPC 和 HTTP)進行消息協商和傳輸。SOAP 可以形成 web 服務協議堆棧的基礎層,提供用于在其上構建 web 服務的基礎消息傳遞框架。
REST 與 SOAP
下表展示了 REST 和 SOAP 之間的一些區別。
新聞熱點
疑難解答