SaaS系統的關鍵技術
發布時間:
2022-05-11 10:08:09
SaaS系統的關鍵技術主要包括Web技術和多租戶技術。
(1)Web呈現技術
SaaS,是因為SaaS隨時隨地都可以使用,但是人們仍然希望保持原有的用戶體驗,即“像使用本地應用程序那樣使用SaaS應用”。因此,呈現技術就決定了應用是否能夠實現像本地應用那樣的用戶體驗。
滿足SaaS交付需求的Web技術至少應該包括以下幾個要素:動態的交互性、可以接收非文字輸入的豐富的交互手段、較高的呈現性能、Web界面的定制化、離線使用、使用教程的直觀展示等。
基于瀏覽器的Web呈現有重要改變的技術包括HTML5、CSS3及Ajax。HTML5是對傳統HTML的改進,其新增加的新特性能較好地滿足SaaS應用的需要。CSS3是對CSS2.1的升級,使頁面顯示呈現出更炫的效果,Ajax的應用改變了用戶提交請求后全頁面刷新的長時間等待問題,可以使用戶感受到更好的交互性。
(2)多租戶技術
采用多租戶方式開發的應用軟件,一個實例可以同時處理多個用戶的請求,即所有的應用共享一個高性能的Server,成千上萬的客戶通過這個Server訪問應用,共享一套代碼,同時可以通過配置的方式改變特性。
多租戶架構具有以下特點:軟件部署在軟件托管方,軟件的安裝、維護、升級對于用戶是透明的,這些工作由軟件供應商來完成;該架構采用先進的數據存儲技術,保證了各租戶之間的數據相互隔離,使得各租戶之間在保證自身數據安全的情況下能共享同一程序軟件,因此,租戶之間是相互透明的。
數據存儲問題是多租戶架構的關鍵問題,在SaaS設計中多租戶架構在數據存儲上主要有獨立數據庫、共享數據庫單獨模式和共享數據庫共享模式3種解決方案。
①獨立數據庫:每個客戶的數據單獨存放在一個獨立數據庫,從而實現數據隔離。在應用這種數據模型的SaaS系統中,客戶共享大部分系統資源和應用代碼,但物理上有單獨存放的一整套數據。
系統根據元數據來記錄數據庫與客戶的對應關系,并部署一定的數據庫訪問策略來確保數據安全。
這種方法簡單便捷,數據隔離級別高,安全性好,又能很好地滿足用戶的個性化需求,但是成本和維護費高。因此適合安全性要求高的用戶。
②共享數據庫單獨模式:客戶使用同一數據庫,但是各自擁有一套不同的存在于其單獨的模式之內的數據表組合。當客戶第一次使用SaaS系統時,系統在創建用戶環境時會創建一整套默認的表結構,并將其關聯到客戶的獨立模式。
這種方式在數據共享和隔離之間獲得了一定的平衡,它既借由數據庫共享使得一臺服務器即可支持更多的用戶,又在物理上實現了一定程度的數據隔離以確保數據安全,不足之處是當出現故障時,數據恢復比較困難。
③共享數據庫共享模式:用一個數據庫和一套數據表來存放所有客戶的數據。在這種模式下一個數據表內可以包含多個客戶的記錄,由一個客戶ID字段來確認哪條記錄是屬于哪個客戶的。這種方案共享程度最高,支持的客戶數量最多,維護和購置成本也最低,但隔離級別低。
以上3種方案可以通過物理隔離、虛擬化和應用支持的多租戶架構來實現。物理分割法為每個用戶配置其獨占的物理資源,安全性和擴展性都很好,但是硬件成本高。虛擬化方法通過虛擬技術實現物以非特定語理資源的共享和用戶的隔離。
(3)元數據
元數據就是命令指示,描述了應用程序如何運行的各個方面。元數據言的方式描述在代碼中定義的每一類型和成員。它可能存儲以下信息:程序集的說明、標識、導出的類型、依賴的其他的程序集、運行所需的安全權限、類型的說明、名稱、基類和實現的接口、成員、屬性、修飾的類型和成員的其他說明性元素等。
元數據被廣泛應用在SaaS模式中,應用程序的基本功能以元數據的形式存儲在數據庫中,當用戶在SaaS平臺上選擇自己的配置時,SaaS系統就會根據用戶的設置,把相應的元數據組合并呈現在用戶的界面上。
元數據是一種對信息資源進行有效組織、管理、利用的基礎和工具。使用元數據開發模式,可以提高應用開發人員的生產效率、提高程序的可靠性,具有良好的功能可擴展性。
上一篇:
SaaS代表產品
下一篇:
PaaS平臺優勢