基于依赖关系的SaaS工作流定制及运行机制研究
作者单位:山东大学
学位级别:硕士
导师姓名:张世栋
授予年度:2011年
学科分类:08[工学] 0835[工学-软件工程] 081202[工学-计算机软件与理论] 0812[工学-计算机科学与技术(可授工学、理学学位)]
摘 要:SaaS (Software as a Service,软件即服务),是随着互联网技术的飞速发展与应用软件的日趋成熟而形成的一种新型软件服务供销模式。它通过互联网提供应用软件服务,消除了客户购买软件及购买、搭建、维护基础硬件设施的需求。客户可以根据自己的实际需要,通过互联网厂商购买应用软件服务,并根据服务的使用规模和时间支付相应的费用。面向SaaS应用的显著特点是“单实例多租赁,即多个租户共同使用服务提供商的一个应用实例,并且从租户的角度来看,这个实例只像是为自己提供服务。事实上这种统一的软件服务模式难以满足不同租户各个角度的差异性需求。因此作为一个成功的SaaS应用,必须向租户租户提供个性化定制功能,以便其在共享实例的基础上定制专属于自己的业务应用。 目前,面向SaaS的工作流定制应用仍存在一些问题:首先,租户作为应用软件的使用者,对工作流存在着一定程度上的技术盲区,为了成功的完成工作流定制,租户需要进行大量技术性学习。其次,工作流的定义情况直接决定了业务系统的运行逻辑,租户对工作流定制的准确性很难保障,这将会对系统的正常运行产生很大的隐患。再次,多个租户对同一工作流的定制存在很多相似性,目前缺乏一个将这种相似性利用起来,以提高租户定制效率及准确率的方法。最后,多租户化工作流在运行过程中对租户的数据安全缺乏保障,并且对工作流可能出现的异常缺乏专业的多租户化处理。如果以上问题能够解决,将对SaaS应用的发展提供更为广阔的空间,因此有着重要的研究价值。 针对SaaS业务工作流定制运行中出现的主要问题,本文进行的主要工作包括: 一、设计了基于依赖关系的SaaS工作流定制运行架构。该架构以应用软件中任务功能间的依赖性作为基础,提供统一的工作流定制运行平台,从定制和运行两个阶段管理工作流的多租户化。 二、以依赖关系为基础,通过挖掘与定制算法引导工作流定制并提供正确性检验。首先提供了数据挖掘算法,通过对其他租户的定制情况进行挖掘,为租户提供定制参考;其次提出了自主定制算法,以依赖关系作为约束依据,指引租户进行自主工作流定制;最后通过工作流合法性验证算法保障了定制的准确性。 三、通过映射实现多租户工作流的正常运行以及异常处理。为了降低SaaS应用的运营成本的同时提供高性能的服务,采用了高成熟度的工作流模型。通过操作映射与数据映射保障了租户工作流数据的安全,并且通过对工作流引擎的封装提供了多租户化的工作流异常处理机制,提高了系统的可用性及鲁棒性。 本文最后通过搭建原型系统,从定制以及运行的角度对工作流定制及运行架构进行了检验。系统实验结果表明本文提出的架构具有一定得可行性与可靠性。