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