有什么可以帮助您?

立即与美云专家联系,在线咨询产品和数字化解决方案,或致电

400-900-8298

点击咨询

不需要,谢谢

如何适应多场景业务需求?流程引擎系统接入并行设计方案

  • 分类:智能制造

  • 来源:

  • 发布时间:2020-06-25

工作流程是现代企业透明化管理的一种有效手段,其主要目的是最大程度简化业务流程、提高工作效率,降低时间成本,创造更大的业务价值。美的是一个以业务驱动技术的创新型数字化企业,流程引擎已经渗入到每个业务里,对于各业务系统来说,只需要接入流程引擎系统即可。 

· 一种是采用目前最流行的RESTFUL接口方式对接;

· 一种是业务系统提供入口、流程系统提供表单、流程流转的方式对接。

· 后一种接入方式,流程数据和业务数据交叉一起,耦合性高,无法适应多场景业务需求,因此只考虑前一种接入。

 

流程引擎系统与业务系统接入方案

采用RESTFUL接口方式接入流程引擎系统,流程与业务完全解耦,通过在流程引擎系统配置不同业务的流程模板以适应不同的业务需求,而不同场景下的业务又可以共用一个流程模板,从而具有更强的适应性和灵活性。

流程引擎系统的主要任务是发起流程,流程状态流转。业务系统关心的是业务本身,无需关注流程状态怎么流转,但流程状态关系业务处理进度,如何确保审批流程与业务进度保持一致性,是本次设计方案需要解决的问题之一。

image.png

生命周期

流程总是伴随着业务单据的创建而发起的,一个生命周期分为三个阶段:

初始化阶段包括业务单据创建,初始化审批流程,通过中间表把两个不同系统的数据捆绑起来;

审批阶段将业务单据信息流转到各个部分的领导或负责人审批,数据的流转主要由流程引擎系统负责,此时业务将被挂起,无法进行任何业务处理。流程引擎系统会对每一个审批事件进行监听,回调处理敏感事件,业务单据状态将会发生变化;

释放阶段是指流程通过后,业务单据将被激活,从而允许进入后续的业务处理过程。

从整个生命周期来看,流程引擎系统和业务系统是并行运行的,需要一个中间表建立起关联关系,依赖事件回调保持流程和业务状态的一致性。

 

image.png

 

应对多场景业务

 

流程本身与业务无关,即具有类似的不同业务可以共用一个流程模板,此类场景会增加不同业务之间的耦合性,因此较为少见。比较常见的是同一个业务的不同场景,需要走的审批流程不一样,基于此流程引擎系统本身支持配置流程分支以满足不同的需求。流程引擎系统提供了一套标准的流程规则体系,通过合理地运用规则,保证业务单据在每一种场景下,都能找到正确的流程分支。

总结GSRMC重构项目的经验,有必要建立一个统一的规则库,以减少大量的系统配置。对于GSRMC重构项目产生的所有业务来说,使用到流程分支的业务占了大部分,常用规则一般有三类: 

· 供应商类型规则

· 组织类型规则

· 其他分类规则 

应对多样化的获取默认审批人

对于业务人员来说,可能并不是每次都记得该业务流程需要哪些人员进行审批,因此获取默认审批人在流程引擎系统接入方案中起着举足轻重的作用。对于流程引擎系统,配置默认审批人有两种方式:

·  一是配置模板时该节点直接固化;  

· 二是通过规则获取。 

· 而通过规则获取默认审批人又有两种方式:

· 一种是直接在规则里固化默认审批人;

· 一种是通过业务系统传入。

· 直接在模板中固化审批人无法适多场景业务的需求,譬如在引入供应商时,如果引入的是材料供应商,节点N需要A审批;如果是非材料供应商,节点N需要B审批,该方式就无力应对了。采用规则方式,如果审批人由业务系统传入,那么配置审批人的功能就潜移默化到业务系统本身了,这对于业务系统运维人员来说无疑是最佳的选择。

默认审批人可配置化方案

在GSRMC重构项目中,设计了一个默认审批人配置表,页面可配置化。   

首先,在流程引擎系统定义一个默认审批人规则包,该规则包下预定义一些具有共同特征的简单规则,每个规则定义一个快码作为参数的载体;

其次,配置表里根据不同模板编码、不同组织以及规则包里定义的快码组合设定对应的审批人;

最后,初始化流程之后,自动扫描配置表获取默认审批人信息。而对于一些个性化节点需要获取配置表之外的审批人信息,可通过业务接口返回,返回结果更新到默认审批人信息中去。

image.png

 

总结

 一般多场景化的业务,对流程的要求是分支化、可配置化。基于流程引擎系统接入并行设计的思路,业务的状态转移非常依赖于流程的事件回调,需要设计一个完善的日志系统来记录异常事件回调,这样在后期排错时可以快速定位问题、解决问题。

 


联系我们,实现卓越运营

留下您的联系方式,专属顾问会尽快联系您

立即咨询