论文部分内容阅读
随着网络和软件技术的成熟,软件的开发、交付、部署、使用模式发生了巨大的变化,软件成为一种服务(Software as a Service, SaaS)。在SaaS模式下,软件开发商改变原有的软件交付部署方式,负责软件的开发、部署和维护的全过程。用户不需要在本地搭建IT基础设施,不需要安装软件,只需通过客户端就可获取软件服务。虽然SaaS的运营和使用模式得到了越来越多的认可和广泛使用,SaaS的规模也越来越庞大,可是由于SaaS应用在开发时要涉及到许多底层细节和技术支撑,比如多租户架构实现,服务资源的动态扩展与伸缩,以及SaaS流程定制等。而这些技术又十分复杂,严重影响了SaaS模式的推广和使用。为此,出现了像Force.com、SaaSGrid这样的支持大规模多租户SaaS应用交付、部署和使用的PaaS平台。这类PaaS平台提供一个集开发、交付、部署、使用于一体的平台及环境。目前关于PaaS平台的研究大多集中于单个应用的交付、部署以及按需定制。实际上,随着网络的发展,出现了许多网络应用,这类应用大多具有网络化、协同化、跨域化的特征,因此业务流程管理技术对于这类应用的开发起着重大的作用。而目前缺乏一个能够支持网络协同应用开发、交付、部署以及个性化定制的PaaS平台。与此同时,这类应用的需求却不断扩大,为此本文针对网络协同应用开发的新需求,围绕以下关键技术展开研究:1、针对云计算环境下开发、交付大规模网络协同应用面临的问题,基于云计算PaaS模式和支撑技术,研究设计了一个面向业务流程管理的PaaS平台(BPM-PaaS)架构。该平台支持面向业务流程的SaaS应用的开发、交付以及部署。平台为软件开发商(Independent Software Vendors, ISV)提供基于web的应用开发、交付、部署环境,为终端用户提供了按需定制SaaS应用的功能,为平台运营商提供了管理平台资源与软件服务的工具。2、针对云计算环境下业务流程应用的交付特点,提出了基于PaaS平台的业务流程应用交付技术,包括业务流程应用交付语言和解析技术。使得业务流程应用集成商(Business Process Vendors, BPV)可以使用业务流程应用交付语言编写业务流程,并将业务流程源代码提交给平台,平台将会解析该源代码,把任务之间的依赖关系提取出来形成业务流程逻辑文件,并把任务编译成可执行单元。3、针对PaaS平台下工作流的多租户特征,研究多租户实例密集型工作流调度方法,提出基于运行时间与成本双目标平衡调度算法。使得调度方法能够保证:1)工作流实例的执行满足租户指定的截止期限。2)高等级租户的工作流实例的平均执行时间尽可能短,以达到较高的用户体验。3)在以上基础上尽可能降低服务提供商的成本。基于PaaS平台的业务流程交付使用模型为网络协同应用的快捷开发提供了可能,在需要协同工作的领域,有一定的实用价值。本文对基PaaS平台的业务流程交付技术进行了简单的原型系统实现;对PaaS平台下多租户实例密集型工作流调度进行了实验模拟,结果表明本文所提调度策略能有效节省服务提供商的执行成本,并提高租户的服务质量体验。