论文部分内容阅读
近年来,随着互联网的普及和信息技术的迅猛发展,新型软件架构不断革新,企业应用软件开发模式逐步趋于网络化、平台化、服务化。在这种背景下,软件即服务SaaS(Software as a Service)作为一种新型的软件交付和用户使用模式,凭借其按需租用、无需用户维护、易于扩展等特点,逐渐受到用户和软件厂商的青睐。目前,虽然多租户软件开发模式取得了一定的成功,但是仍然存在如下问题亟需解决:首先,在多租户应用软件开发模式下,用户所租用的软件和服务大多是由服务提供商预先提供,而服务提供商不可能预先想到用户所有可能的需求,从而无法实现多租户软件的个性化定制。其次,多租户应用软件定制完成后,需要对租户定制的软件进行部署,在服务器总资源一定的情况下,如何保证所部署的多租户软件总收益最大,目前还没有一个很好的解决方案。第三,目前在多租户软件开发过程中,业务流程和功能代码紧密相联,不能将业务流程分离出来进行单独管理,从而导致系统开发周期长、业务流程升级改造难等问题。针对上述三个方面的问题,本文以面向多租户的软件开发技术和方法为理论基础,以软件服务和用户需求的关系为切入点,围绕着支持多租户的应用软件租用模型构建、资源消耗计算、部署方法研究以及业务流程即服务集成进行了较为深入的研究。论文的主要工作和创新点如下:1.构建了一种多租户感知的软件个性化定制模型通过对多租户软件可变性需求的明确阐述,有效的对租户个性化定制进行了表示,本文提出多租户感知的软件个性化定制模型,通过对定制特征进行依赖和约束关系检查,从而实现多租户软件的可定制化。2.提出了一种多租户感知的软件部署策略在服务器资源一定的情况下,充分考虑租户特征定制偏好和软件特征依赖关系,对租户定制特征所消耗的资源建模,构建特征部署优先级函数,并根据该函数提出了一种多租户感知的软件部署策略。该策略通过优先部署软件关键特征和租户重要特征,从而实现软件租户数目和收益的最大化。3.剖析并整合了业务流程管理JBPM与多租户集成主要剖析了JBPM的核心组件、引擎架构、组件管理机制、设计需求、业务流程定义实现技术以及JBPM人工任务生命周期,并通过人工任务的执行实例分析了JBPM核心引擎的调度过程。在此基础上,对JBPM与多租户进行了集成研究。4.构建并实现了一个支持多租户业务流程管理的原型系统对云服务、业务流程管理以及Spring、Axis等相关知识进行了集成研究,建立了流程即服务(BPaaS)模式的封装理论基础,通过与多租户技术进行整合,实现了支持多租户业务流程构建、执行和管理的原型系统。