业务流程管理即服务中的多租户问题研究

发布 2019-08-01 03:00:57 阅读 7879

第38卷第1期。

计算机工程。

012年1月。

软件技术与数据库文章编号文献标识码:a中田分类号:tp

业务流程管理即服务中的多租户问题研究。

欧铁军 ,张。

英。1.北京大学软件与微电子学院,北京中国科学院计算技术研究所,北京100

摘要:分析软件即服务技术,针对业务流程管理即服务(bp中的多租户问题,提出一种基于中问件的资源独占和共享方法。设计。

pma多租户应用程序接口,实现单个应用对多租户使用的支持,从而提高计算资源的利用率。通过jun对应用实例进行测试,结果。

验证了该方法的可行性。

关健词:业务流程管理即服务;软件即服务;多租户;中间件;fi架构。

概述。软件即服务是在21世纪初发展起来的一种创新的软件应用模式…。随着saa的不断发。

为:独立数据库,共享的数据库不同的sch共享的数据库相同的sch

独立数据库的模式开发成本很低,编程模型不需要很大。

展,其应用场景不同,业务流程也越来越多样化。业务流程管理系统是一个可以设计和优化流程的软件。传统的bpm套件是在企业内部独立部署的,对于大型企业来说,过长的应用开发周期。

的改变,但随着共享模式的引进,此时还要兼顾到共享模式下的数据隔离,因此,开发成本升高。但这几种模式的选择需要各个因素的平衡。针对单个应用,多租户的引入会增加应用程序开发部署和管理的复杂性,但也有其优势。

隔离级别的降低也增加了扩展能力,可满足不同租户对服务质量的。

要求【31目前有2种多租户的模式:(i用多个应用程序支持多。

和复杂的升级流程难以适应市场需求的快速变更;对于中小型企业来说,通常难以负担bpm套件昂贵的费用和相关it支持。

aas模型可以解决bpm在以上应用的窘境。两者的结合产生了一种新的概念:业务流程管理即服务是saa

租户;(2利用一个应用程序支持多租户。一个应用程序实例的多租户问题较为广泛。笔者认为,如果利用每个应用实例分派给一个租户的做法,只能支持很少的租户数量,但在通常情况下,租户的规模都不大,笔者期望的是单个应用能够支持较大数量的租户使用,从而提高计算资源的利用率 。

的一种应用,它将软件限定在业务流程的范围内。sa中的关键技术是多租户技术 j。为此,本文针对bpm中多租。

户问题进行研究,在分析国内外发展的基础上,提出一种资。

源独占和共享解决多租户问题的方法,并通过实例对该方法进行验证。

基于中间件的资源独占和共享方法。

业务流程中间件种类繁多,它不同于数据库具有固定的引擎标准,因此,需要选取一个流程中间件作为流程引擎进行研究。对不同的流程引擎的研究方法不同。本文选取架构,它是一个企业级业务流程管理套件,拥有全面、整合的产品,可以加速企业内部以内容为中心的流程应用的。

作者简介:欧铁军(19男,硕士,主研方向:软件即服务技术云计算;张。

英,研究员。

关键问题。一。

个多租户的saa应用首先需要解决的是数据隔离问。

题 ,软件即服务的关键问题之一也是数据隔离问题hj。这需要即保证租户之间最大化资源的共享,又能够区分属于各自的数据0。

相关的数据库即服务提供了一些数据隔离的方法,目前有3种数据的共享和隔离模式可保证数据的安全隔离,分别。

收稿日期:20一06一。

第38卷。部署。

第1期欧铁军,张英:业务流程管理即服务中的多租户问题研究。

数据库可以被独占或者共享。

图l是一个fil架构完整的应用实例,包含数据库实例、ld实例实例实例和实例。

多个租户可以共享reg对于独占reg而言,fi本身的体系结构设计即可支持数据的隔离,无需增加编程复杂度和额外的配置,如果reg过多,严重影响性能,因此,为了支持更多的租户使用reg必须引入同一个reg共享数据的方式;对于共享的reg必须引入。

ile本身的安全模型,对reg中内容的权限加以控制,另外对编程的要求也相应增加,re中的内容必须通过bpm封装的多租户应用程序接口获取,否则会访问到自己企业外部的数据,ap将在下文讨论。

包含的对象很多,其复杂度远超reg因此,不能采用共享的方式,但可以。

图1fi应用实倒。

共享数据库,而仅是数据库上层的一个逻辑划分,因此,不共享的设计可以省略。

dap是fil架构中不可或缺的用户认证和授权中间件,基于fil的应用程序必须使用lda因此,共享lda的解决方案也集成在bpm核心中。

和。本文要解决的问题是:在fil架构的基础上,从资源利用的角度出发,剖析该架构中资源共享和独占模式,使。

ile的实例资源能够最大限度地被利用,并满足不同租户。

的服务质量要求。在一个规模很小,用户数不多的企业应用中,让其独占一个fil的实例是一种对资源的浪费,如果多个小型企业能够共享一个fil实例,无论从成本还是模型架构上来看,都是最优的。

在这个粒度上,独立和共享都是可行的,依照目标客户的规模来决定。

.1共享和独占模式设计。

本节将分析fil体系架构下可以共享的关键环节,其。

中每一个环节都直接和数据相关。

1)数据库。

与数据库紧密关联的是中的obj

各种情况下的资源共享和独占模式如表1所示。不同规模的租户对服务质量的要求和资源的利用是不同的。系统设计了4种模式来满足不同租户的需求。

b、是重点实现的3个模式,而a是传统的应用程序离线部署的做法,本文不予讨论。

tor多个可以同时指向相同的数据库,因此,表1fi的资源共享和独占模式。

.2多租户应用程序接口。

本文在fil的基础架构上设计了数据共享模式,这是fil本身特性之外的内容,如果在没有经过二次封装的api基础上进行开发,可能会访问到错误的数据。为满足共享和独占模式的需求,笔者在一些系统关键点设计了使用。

pi结构包含了3个主要的接口类和2个实体对象类主要封装了fil

中的关键数据访问接主要封装了中的关键数据访问接i:1主要封装了lda的主要数据访问接和主要是2个对象复杂结构的实体类。

多租户api开发应用程序,以保证多租户应用程序的正确性。

多租户api为开发支持多租户的bpm应用程序提供了基本透明的、标准的数据访问和编程接口。多租户api类图如图2所示。

实例与验证。

样例应用程序是从一个利用bpm技术实现的企业资。

源计划项目中,抽取出的。

人力资源系统的一个业务流程的实现实例。应用程序的核心。

c0n圯ngi

思想未使用传统的基于数据库应用程序开发方式,而是基于。

业务流程和内容管理进行开发,对于“简历”,这正是非结构。

化的数据。一。

样例业务流程的uml活**如图3所示,该图描述了。

圈2多租户api类图。

百。样例应用程序的业务流程。流程中首先由应聘者在门户界面上搜索查询招聘信息,并提交自己的简历,由人事部门和面。

试人员分别面试审批之后,最终进行录用和作废处理。

计算机工程201年1月5日。

图3样仞业务漉程的uml括动圈。

该应用程序由5家企业同时使用,这5家企业的规模都。

能会访问到多个同名的wor或者是错误的名字。

输入数据:租户的企业登录的用户名her和密码123

较小,数据量不大,因此,本文采用表1中模式d的资源分配方式,即共享数据库、共享reg的方式。

数据暴**主要为以下环节:

每一个企业都独立分配了虽然。

预期结果:获取到以为结尾名称的wor的数量是1,名字是。

实际结果:取到以为结尾名称的wor的数量是1,名字是。

共享了数据库,但基于fil的安全模型只能访问到数据自己的数据库表,不存在安全问题。

结论:分几组数据测试后,测试结果都是正确的。因此,证明了共享reg的安全隔离性。

3)测试3测试用例:可强行访问不属于企业自己的按acl的设定,应该返回空,如果不是空,则说明隔离数据。

egi中的内容已经被访问控制列表的严格控制。基于fil的acl安全模型,不属于自己权限的内容是无法访问的,不仅是在界面这个级别,在api级别也是被严格控制,re的内容虽然被共享,但acl的设定已经在应用程序被订阅时完成,因此,也不会存在安全问题。

失败,用户仍然可以通过非法的数据访问访问到不属于自己的。

输入数据:租户的企业登录的用户名her和密码123强行访问的不属于自己的名字。

与以往企业内部的应用程序不同,在该程序中,用户登录时不但需要录入登录的用户名和密码,还要输入有效的企。

业id,即租户id来隔离不同企业的数据,只有三者同时匹配,才能成功登录。

预期结果:获取到的为nul

实际结果:获取到的为nul

结论:分几组数据测试后,测试结果都是正确的。因此,证明了用户无法从非法途径访问数据。

uni是一个编写和运行自动化测试的框架。本文将使用。

uni对测试用例进行测试,并给出测试结果,说明整个应用程序的部署和使用达到了安全隔离的要求。

1)测试l结束语。

本文研究fil的核心架构,提出一种基于中间件的资源独占和共享方法,以解决多租户技术中资源隔离问题,测试用例:测试的隔离性,获取列表用户的列表,按应用程序的逻辑设定,每个租户只可能。

有一个并且原始名称为hrs经过平台应用程序部署加上前缀后,应该变成类似的形式。如果测试失败,用户应该访问到不止一个或的名称不正确。

并通过设计提供多租户api接口来简化多租户bpm应用程。

序的开发。本文研究了多租户技术中的安全隔离问题,下一步工作将研究性能隔离问题,例如当一个租户的应用程序发。

生故障时,不能影响到其他租户的可用性,或者当服务器故障时,如何应对服务器当中所有租户的故障转移等。

参考文献。1】叶利娜,林兰芬.基于saa的cap服务研究[j】计算机工程,输入数据:租户的企业登录的用户名her和密码123

预期结果:获取到的数量是1,名字是t2e

实际结果:获取到的数量是1,名字是t2e

21i中国研究院.多租户技术。

结论:经过多组数据测试,测试结果都是正确的。因此,证明了的安全隔离性。

2)测试2测试用例:测试共享reg中对wor的访问。

ork可以理解为fil工作流的任务节点上的执行角色,应用程序中有名为的。

用于定义简历分发这一步骤的执行角色。由于是多家企业共享reg因此wor的名字在部署时变为类似。

的形式。如果测试失败,用户可。

编辑金胡考。

业务流程管理办法

神东 2010 434号。关于下发 神东煤炭集团公司。业务流程管理办法 暂行 的通知。各单位 各部门 现将 神东煤炭集团公司业务流程管理办法 暂行 下发给你们,请遵照执行。二 一 年十一月二十六日。主题词 业务流程管理办法通知。神东煤炭集团公司综合办公室 2010年11月26日印发。神东煤炭集团公司...

财务管理手册 业务流程 目录

第一篇财务管理手册 业务流程指引 目录。第一章资金业务 11 现金管理业务流程001 12 银行存款管理业务流程004 第二章采购及应付业务 21 商审核与管理业务流程013 22 采购管理业务流程 材料采购与机械设备及周转物资租赁 01623 采购管理业务流程 办公用品采购02124 应付账款与付...

XX公司印鉴管理内部控制业务流程

1.4 公司综合管理部应指派专人进行印鉴的统一监印。2 印鉴的启用 2.1 公司综合管理部建立印章发放 启用 使用 交接记录制度,公司应按该制度规定执行。2.2 印鉴启用应由综合管理部事先颁发启用通知,注明启用日期 发放单位和使用范围。新印鉴要做好戳记,并留样保存,以便备查。3.2 印鉴启用须有记录...