SaaS與SOA
最近,企業軟件應用程序開發的各個方面都從傳統的基於產品的方法轉向了更新的基於服務的方法。SaaS(軟件即服務)和SOA(面向服務的體系結構)的快速增長就是這一點的直接結果。SaaS是雲計算的一個類別,其中可用的主要資源是軟件應用程序。SOA是一種體系結構模型,其中解決方案邏輯以服務的形式呈現。
什麼是SaaS?
雲計算是一種通過互聯網提供資源的計算方式。這些資源通常是可擴展的、高度可視化的資源,它們作為服務提供。SaaS是雲計算的類別/方法之一。如上所述,通過SaaS作為服務提供的資源具體來說是軟件應用程序。在這裡,應用程序使用“一對多”模型在多個客戶機之間共享。為SaaS用戶提供的優勢是,用戶可以避免安裝和維護軟件,並且可以將自己從複雜的軟件/硬件需求中解放出來。SaaS軟件的提供商,也稱為託管軟件或按需軟件,將負責軟件的安全性、可用性和性能,因為它們運行在提供商的服務器上。使用多租戶架構,單個應用程序通過互聯網瀏覽器交付給數百萬用戶。客戶不需要預先授權,而提供商則享受較低的成本,因為他們只維護一個應用程序。流行的SaaS軟件是Salesforce.com網站,Workday,谷歌應用程序和Zogo Office。
什麼是SOA?
SOA是一種體系結構模型,其中解決方案邏輯以服務的形式呈現。通過將服務作為交付解決方案的主要方法,SOA努力做到比其他現有技術解決方案更高效、更敏捷和更高效。SOA為實現面向服務原則和麵向服務計算的優勢提供了支持。許多不同的技術、各種產品、應用程序編程接口和其他各種擴展通常構成SOA實現。將面向服務的原則應用於軟件解決方案會產生服務,這些服務是SOA中邏輯的基本單元。這些服務可以自主存在,但它們肯定不是孤立的。服務維護某些公共的和標準的特性,但是它們可以獨立地發展和擴展。可以組合服務來創建其他服務。服務只通過服務描述知道其他服務,因此可以認為是鬆散耦合的。服務使用自治消息進行通信,這些消息足夠智能,可以自行管理其邏輯部分。最重要的SOA設計原則是鬆散耦合、服務契約、自治、抽象、可重用性、可組合性、無狀態性和可發現性。
SaaS和SOA有什麼區別?