SaaS是(软件即服務(wù))的简称。不同于传统的软件销售方式,SaaS通过互联网提供软件租用(yòng)的模式,服務(wù)供应商(shāng)将自己的服務(wù)统一部署到SaaS系统平台,企业用(yòng)户可(kě)以根据自己实际需求,通过SaaS系统平台定購(gòu)所需的应用(yòng)软件服務(wù),按定購(gòu)服務(wù)的约定方式支付费用(yòng)。企业用(yòng)户不用(yòng)再像在传统模式下那样花(huā)费大量投资用(yòng)于硬件、软件的購(gòu)买和维护,而改用(yòng)向服務(wù)供应商(shāng)间接租用(yòng)软件的方式,来满足集团管理(lǐ)活动中(zhōng)的需求,并且无需对软件进行维护,因為(wèi)这部分(fēn)工(gōng)作(zuò)将由服務(wù)供应商(shāng)来完成。而目前大多(duō)数中(zhōng)小(xiǎo)型企业存在信息化过程中(zhōng)预算的瓶颈,SaaS模式的优势正是在于满足了这部分(fēn)的“長(cháng)尾市场”的需求。
1 SaaS模式下服務(wù)的使用(yòng)
1.1 传统模式下服務(wù)的使用(yòng)形式
传统的模式下,每个服務(wù)用(yòng)户运行一个不同的实例,如图1所示。但在这种模式下,不同的实例的部署不仅需要软件硬件上的巨大花(huā)销,而且实例的更新(xīn)和维护业需要专门的人力和物(wù)力。
1.2 SaaS模式下服務(wù)的使用(yòng)形式
SaaS模式下,所有(yǒu)租户都运行同一个实例,如图2所示。这种模式下,不同的租户使用(yòng)一个共同的实例,当然这是一种可(kě)配置即自定制川的方式,在使用(yòng)服務(wù)启用(yòng)之前,应用(yòng)服務(wù)会根据租户设置的数据配置成租户需要的形式,以供租户使用(yòng)。另外,SaaS模式下,应用(yòng)服務(wù)部署在Intemet服務(wù)器上,它的更新(xīn)、维护都由服務(wù)供应商(shāng)负责,可(kě)见,随着租户数量的增加,SaaS模式不仅降低了企业信息化的成本,也為(wèi)整个社会生产(chǎn)活动节约了成本。
这种服務(wù)的使用(yòng)方式已经符合SaaS的第三级模型成熟度。且在这种模式下,软件即服務(wù)的最终产(chǎn)权依然属于服務(wù)供应商(shāng)。
2 基于运营和服務(wù)管理(lǐ)的SaaS架构设计
2.1 SaaS模式服務(wù)使用(yòng)流程
在提出对SaaS系统实现的框架前,有(yǒu)必要对SaaS模式的服務(wù)流程进行介绍。以服務(wù)在整个SaaS系统中(zhōng)的生命周期為(wèi)例,如图3所示。
服務(wù)供应商(shāng)向平台提交服務(wù)注册的申请,经过平台管理(lǐ)员审核成為(wèi)平台的服務(wù);平台管理(lǐ)员根据用(yòng)户需求和实际的使用(yòng)情况将服務(wù)通过服務(wù)集成子模块组成组合服務(wù),并根据服務(wù)供应商(shāng)的要求设定服務(wù)的价格或者设置為(wèi)免费,在平台的公(gōng)共信息部分(fēn)发布服務(wù)相关信息;然后企业用(yòng)户申请租赁服務(wù),经平台管理(lǐ)员批准后即可(kě)使用(yòng)服務(wù);之后租户可(kě)以根据自己的实际需要使用(yòng)或关闭服務(wù)。
2.2 SaaS架构设计
通过对服務(wù)管理(lǐ)流程的分(fēn)析,筆(bǐ)者对SaaS系统的主體(tǐ)功能(néng)就有(yǒu)了清晰的认识。再以完善的整體(tǐ)服務(wù)需求的前提下,提出自己的SaaS系统架构图,如图4所示。本架构分(fēn)為(wèi)两个主要的大模块:平台运营管理(lǐ)模块和应用(yòng)服務(wù)管理(lǐ)模块。
平台运营管理(lǐ)模块提供企业注册的管理(lǐ)、用(yòng)户管理(lǐ)和权限管理(lǐ)、应用(yòng)服務(wù)管理(lǐ)、统一化的用(yòng)户、角色和资源管理(lǐ),这些内容归為(wèi)用(yòng)户管理(lǐ)部分(fēn);同时平台运营管理(lǐ)模块还应监控记录用(yòng)户使用(yòng)服務(wù)过程中(zhōng)的各种信息,这是日志(zhì)管理(lǐ)部分(fēn)的内容;安(ān)全中(zhōng)心负责向平台其它模块提供数据访问的接口,同时也负责监控系统的运行状况;费用(yòng)管理(lǐ)根据日志(zhì)管理(lǐ)中(zhōng)的使用(yòng)服務(wù)的信息,产(chǎn)生费用(yòng)清单,然后发送给企业用(yòng)户,并实现企业用(yòng)户的网上支付;平台运营端的服務(wù)管理(lǐ)通过调用(yòng)应用(yòng)服務(wù)管理(lǐ)模块中(zhōng)的公(gōng)开接口,实现运营端服務(wù)的注册与集成、信息显示、企业用(yòng)户申请、使用(yòng)和关闭服務(wù),它是平台运营管理(lǐ)模块和应用(yòng)服務(wù)管理(lǐ)模块交互的所在。
应用(yòng)服務(wù)管理(lǐ)模块负责实现平台运营管理(lǐ)模块的调用(yòng)请求,包括服務(wù)的注册与删除、服務(wù)的调用(yòng)、将几个服務(wù)组合成一个完整的应用(yòng)功能(néng)交由平台运营管理(lǐ)调用(yòng)。每个注册到平台上的服務(wù)都应当符合平台开放的一套规范,以统一服務(wù)与平台、服務(wù)之间的交互方式。
3 模块设计分(fēn)析
3.1 平台运营管理(lǐ)模块
平台运营管理(lǐ)模块是SaaS系统与用(yòng)户直接交互的部分(fēn),如图5所示,平台用(yòng)户通过用(yòng)户管理(lǐ)模块完成企业注册、用(yòng)户权限分(fēn)配等功能(néng),而用(yòng)户管理(lǐ)对于这些功能(néng)的支持与实现,是在安(ān)全中(zhōng)心提供数据接口及安(ān)全策略的配合下完成的;同时用(yòng)户管理(lǐ)还通过运营端服務(wù)管理(lǐ)来完成服務(wù)的注册、使用(yòng)申请、关闭,而这些操作(zuò)都会由日志(zhì)管理(lǐ)部分(fēn)记录;费用(yòng)管理(lǐ)模块正是依靠这些记录来产(chǎn)生用(yòng)户费用(yòng)数据,平台会员和平台管理(lǐ)员都会使用(yòng)费用(yòng)管理(lǐ)模块来查阅用(yòng)户费用(yòng);运营端服務(wù)管理(lǐ)凋用(yòng)应用(yòng)服務(wù)管理(lǐ)模块提供的接口,实现平台运营模块和应用(yòng)服務(wù)管理(lǐ)模块的交互。
另外,从平台管理(lǐ)员的角度看,平台管理(lǐ)员在用(yòng)户管理(lǐ)模块实现对注册用(yòng)户申请的审批、权限分(fēn)配等操作(zuò),通过运营端服務(wù)管理(lǐ)完成平台服務(wù)的开放、关闭等;日志(zhì)管理(lǐ)和安(ān)全中(zhōng)心為(wèi)平台管理(lǐ)员提供了实时监控平台运营情况的手段。
3.2 应用(yòng)服務(wù)管理(lǐ)模块
应用(yòng)服務(wù)管理(lǐ)模块的功能(néng)主要是向运营端提供调用(yòng)的接口,完成服務(wù)的注册与删除、服務(wù)的调用(yòng)、服務(wù)的组合等内容,详细的设计如图6所示。
首先,服務(wù)供应商(shāng)提供的应用(yòng)服務(wù)应当符合平台的规范,在申请将服務(wù)注册到平台时,应有(yǒu)如下信息:服務(wù)的访问地址、服務(wù)的访问方式(如HTTP、TCP、MSMQ等)、服務(wù)的功能(néng)描述、服務(wù)的调用(yòng)规范以及遠(yuǎn)程服務(wù)本體(tǐ),如图7所示。其中(zhōng)访问地址和访问方式是平台调用(yòng)应用(yòng)服務(wù)的前提;服務(wù)的调用(yòng)规范是平台调用(yòng)服務(wù)的准则;服務(wù)的功能(néng)描述是服務(wù)供应上向服務(wù)用(yòng)户提供的功能(néng)描述,是企业用(yòng)户选用(yòng)服務(wù)的参考;服務(wù)本體(tǐ)则是存放在服務(wù)供应商(shāng)服務(wù)器上的应用(yòng)服務(wù)本身。
服務(wù)供应商(shāng)在提供如上基本信息至平台后,等待平台管理(lǐ)员进行审核。对于合格的服務(wù),平台管理(lǐ)员将调用(yòng)服務(wù)注册模块的服務(wù)注册接口,并将服務(wù)地址、访问方式、服務(wù)功能(néng)描述和调用(yòng)规范作(zuò)為(wèi)参数,实现对服務(wù)的接入。服務(wù)注册接口将在平台上生成注册服務(wù)对应的结构和服務(wù)调用(yòng)接口,结构中(zhōng)包含服務(wù)地址、访问方式、功能(néng)描述等内容,服務(wù)调用(yòng)接口应能(néng)读取功能(néng)描述供平台运营端调用(yòng)发布,并提供使用(yòng)服務(wù)的接口功能(néng),还需有(yǒu)关闭服務(wù)的方法,这包括从平台删除服務(wù)和企业用(yòng)户对已经租赁服務(wù)的关闭。作(zuò)為(wèi)注册成功的单个应用(yòng)服務(wù),它可(kě)以完成一个单独功能(néng),但多(duō)数时候需要多(duō)个应用(yòng)服務(wù)进行流程编排组合,以实现一个完整的应用(yòng)。目前实现工(gōng)作(zuò)的工(gōng)具(jù)已经较為(wèi)成熟,如Microsoft Windows WorkflowFoundation(WF),作(zuò)為(wèi)。Net Framework 3.0的组件,它能(néng)快速开发基于工(gōng)作(zuò)流的应用(yòng)服務(wù)。服務(wù)流程编排模块的功能(néng)是要利用(yòng)服務(wù)注册模块提供的服務(wù)调用(yòng)接口,按照规则引擎将服務(wù)进行组合,最终产(chǎn)生组合服務(wù)结构體(tǐ)和组合服務(wù)的调用(yòng)接口。组合服務(wù)结构體(tǐ)中(zhōng)包含组合服務(wù)的功能(néng)描述、服務(wù)流程规则和子服務(wù)类型的描述。
组合服務(wù)的调用(yòng)接口的组成类似于服務(wù)注册模块中(zhōng)的服務(wù)涮用(yòng)接口,它包含组合服務(wù)的功能(néng)描述调用(yòng)、组合服務(wù)的使用(yòng)接口以及组合服務(wù)基本的关闭功能(néng)。其中(zhōng)组合服務(wù)的使用(yòng)接口参数有(yǒu)服務(wù)流程即调用(yòng)单个应用(yòng)服務(wù)的规则、以及子服務(wù)的调用(yòng)接口。
4 结束语
本文(wén)首先比较了SaaS模式和传统模式下用(yòng)户使用(yòng)方式的區(qū)别,再对SaaS模式下服務(wù)使用(yòng)流程进行了介绍,并以此為(wèi)基础提出了一种基于运营和服務(wù)管理(lǐ)的SaaS解决方案,并对运营和服務(wù)管理(lǐ)模块的设计进行了详细的分(fēn)析。目前很(hěn)多(duō)大的软件公(gōng)司都在大力推广SaaS模式,本文(wén)提出了一种可(kě)行的解决方案,在实现方案的过程中(zhōng),对于数据共享存储及系统扩展性方面要给予更多(duō)考虑。