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