SaaS是(軟件即服務)的簡稱。不同于傳統的軟件銷售方式,SaaS通過互聯網提供軟件租用的模式,服務供應商將自己的服務統一部署到SaaS系統平臺,企業用戶可以根據自己實際需求,通過SaaS系統平臺定購所需的應用軟件服務,按定購服務的約定方式支付費用。企業用戶不用再像在傳統模式下那樣花費大量投資用于硬件、軟件的購買和維護,而改用向服務供應商間接租用軟件的方式,來滿足集團管理活動中的需求,并且無需對軟件進行維護,因為這部分工作將由服務供應商來完成。而目前大多數中小型企業存在信息化過程中預算的瓶頸,SaaS模式的優勢正是在于滿足了這部分的“長尾市場”的需求。
1 SaaS模式下服務的使用
1.1 傳統模式下服務的使用形式
傳統的模式下,每個服務用戶運行一個不同的實例,如圖1所示。但在這種模式下,不同的實例的部署不僅需要軟件硬件上的巨大花銷,而且實例的更新和維護業需要專門的人力和物力。
1.2 SaaS模式下服務的使用形式
SaaS模式下,所有租戶都運行同一個實例,如圖2所示。這種模式下,不同的租戶使用一個共同的實例,當然這是一種可配置即自定制川的方式,在使用服務啟用之前,應用服務會根據租戶設置的數據配置成租戶需要的形式,以供租戶使用。另外,SaaS模式下,應用服務部署在Intemet服務器上,它的更新、維護都由服務供應商負責,可見,隨著租戶數量的增加,SaaS模式不僅降低了企業信息化的成本,也為整個社會生產活動節約了成本。
這種服務的使用方式已經符合SaaS的第三級模型成熟度。且在這種模式下,軟件即服務的最終產權依然屬于服務供應商。
2 基于運營和服務管理的SaaS架構設計
2.1 SaaS模式服務使用流程
在提出對SaaS系統實現的框架前,有必要對SaaS模式的服務流程進行介紹。以服務在整個SaaS系統中的生命周期為例,如圖3所示。
服務供應商向平臺提交服務注冊的申請,經過平臺管理員審核成為平臺的服務;平臺管理員根據用戶需求和實際的使用情況將服務通過服務集成子模塊組成組合服務,并根據服務供應商的要求設定服務的價格或者設置為免費,在平臺的公共信息部分發布服務相關信息;然后企業用戶申請租賃服務,經平臺管理員批準后即可使用服務;之后租戶可以根據自己的實際需要使用或關閉服務。
2.2 SaaS架構設計
通過對服務管理流程的分析,筆者對SaaS系統的主體功能就有了清晰的認識。再以完善的整體服務需求的前提下,提出自己的SaaS系統架構圖,如圖4所示。本架構分為兩個主要的大模塊:平臺運營管理模塊和應用服務管理模塊。
平臺運營管理模塊提供企業注冊的管理、用戶管理和權限管理、應用服務管理、統一化的用戶、角色和資源管理,這些內容歸為用戶管理部分;同時平臺運營管理模塊還應監控記錄用戶使用服務過程中的各種信息,這是日志管理部分的內容;安全中心負責向平臺其它模塊提供數據訪問的接口,同時也負責監控系統的運行狀況;費用管理根據日志管理中的使用服務的信息,產生費用清單,然后發送給企業用戶,并實現企業用戶的網上支付;平臺運營端的服務管理通過調用應用服務管理模塊中的公開接口,實現運營端服務的注冊與集成、信息顯示、企業用戶申請、使用和關閉服務,它是平臺運營管理模塊和應用服務管理模塊交互的所在。
應用服務管理模塊負責實現平臺運營管理模塊的調用請求,包括服務的注冊與刪除、服務的調用、將幾個服務組合成一個完整的應用功能交由平臺運營管理調用。每個注冊到平臺上的服務都應當符合平臺開放的一套規范,以統一服務與平臺、服務之間的交互方式。
3 模塊設計分析
3.1 平臺運營管理模塊
平臺運營管理模塊是SaaS系統與用戶直接交互的部分,如圖5所示,平臺用戶通過用戶管理模塊完成企業注冊、用戶權限分配等功能,而用戶管理對于這些功能的支持與實現,是在安全中心提供數據接口及安全策略的配合下完成的;同時用戶管理還通過運營端服務管理來完成服務的注冊、使用申請、關閉,而這些操作都會由日志管理部分記錄;費用管理模塊正是依靠這些記錄來產生用戶費用數據,平臺會員和平臺管理員都會使用費用管理模塊來查閱用戶費用;運營端服務管理凋用應用服務管理模塊提供的接口,實現平臺運營模塊和應用服務管理模塊的交互。
另外,從平臺管理員的角度看,平臺管理員在用戶管理模塊實現對注冊用戶申請的審批、權限分配等操作,通過運營端服務管理完成平臺服務的開放、關閉等;日志管理和安全中心為平臺管理員提供了實時監控平臺運營情況的手段。
3.2 應用服務管理模塊
應用服務管理模塊的功能主要是向運營端提供調用的接口,完成服務的注冊與刪除、服務的調用、服務的組合等內容,詳細的設計如圖6所示。
首先,服務供應商提供的應用服務應當符合平臺的規范,在申請將服務注冊到平臺時,應有如下信息:服務的訪問地址、服務的訪問方式(如HTTP、TCP、MSMQ等)、服務的功能描述、服務的調用規范以及遠程服務本體,如圖7所示。其中訪問地址和訪問方式是平臺調用應用服務的前提;服務的調用規范是平臺調用服務的準則;服務的功能描述是服務供應上向服務用戶提供的功能描述,是企業用戶選用服務的參考;服務本體則是存放在服務供應商服務器上的應用服務本身。
服務供應商在提供如上基本信息至平臺后,等待平臺管理員進行審核。對于合格的服務,平臺管理員將調用服務注冊模塊的服務注冊接口,并將服務地址、訪問方式、服務功能描述和調用規范作為參數,實現對服務的接入。服務注冊接口將在平臺上生成注冊服務對應的結構和服務調用接口,結構中包含服務地址、訪問方式、功能描述等內容,服務調用接口應能讀取功能描述供平臺運營端調用發布,并提供使用服務的接口功能,還需有關閉服務的方法,這包括從平臺刪除服務和企業用戶對已經租賃服務的關閉。作為注冊成功的單個應用服務,它可以完成一個單獨功能,但多數時候需要多個應用服務進行流程編排組合,以實現一個完整的應用。目前實現工作的工具已經較為成熟,如Microsoft Windows WorkflowFoundation(WF),作為。Net Framework 3.0的組件,它能快速開發基于工作流的應用服務。服務流程編排模塊的功能是要利用服務注冊模塊提供的服務調用接口,按照規則引擎將服務進行組合,最終產生組合服務結構體和組合服務的調用接口。組合服務結構體中包含組合服務的功能描述、服務流程規則和子服務類型的描述。
組合服務的調用接口的組成類似于服務注冊模塊中的服務涮用接口,它包含組合服務的功能描述調用、組合服務的使用接口以及組合服務基本的關閉功能。其中組合服務的使用接口參數有服務流程即調用單個應用服務的規則、以及子服務的調用接口。
4 結束語
本文首先比較了SaaS模式和傳統模式下用戶使用方式的區別,再對SaaS模式下服務使用流程進行了介紹,并以此為基礎提出了一種基于運營和服務管理的SaaS解決方案,并對運營和服務管理模塊的設計進行了詳細的分析。目前很多大的軟件公司都在大力推廣SaaS模式,本文提出了一種可行的解決方案,在實現方案的過程中,對于數據共享存儲及系統擴展性方面要給予更多考慮。