System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,具体涉及一种基于bpmn的复杂网关实现方法、设备及介质。
技术介绍
1、目前,很多工作流系统,网关类型只支持独占网关、包容网关、并行网关,并不支持复杂网关,或者支持复杂网关时,只能在流程建模时通过表达式定义网关聚合、拆分的逻辑。由于复杂网关扩展点不够灵活,很难满足项目上业务复杂度高的场景,从而降低了业务处理效率。
技术实现思路
1、为了解决上述问题,本申请提出了一种基于bpmn的复杂网关实现方法,包括:
2、定义依赖复杂网关执行时机的接口,并将所述接口注册为能够挂载在所述复杂网关上的工作流构件;
3、确定所需执行的业务场景对应的业务逻辑,根据所述业务逻辑,对所述工作流构件进行配置,以将所述工作流构件挂载到所述复杂网关上;其中,所述业务逻辑由多个业务节点组成;
4、在所述业务逻辑流转到所述复杂网关所在业务节点时,通过预设的流程引擎调用所述复杂网关上挂载的工作流构件,并按照所述工作流构件对应的构件逻辑进行业务流转。
5、在本申请的一种实现方式中,定义依赖所述复杂网关执行时机的接口之前,所述方法还包括:
6、对复杂网关进行属性扩展,得到对应的网关扩展属性,以通过所述网关扩展属性,在所述复杂网关上新增不同时机对应的工作流构件。
7、在本申请的一种实现方式中,所述时机包括聚合时机和拆分时机。
8、在本申请的一种实现方式中,通过预设的流程引擎调用所述复杂网关上挂载的工作流构件,并按照所述工作流
9、通过预设的流程引擎,读取所述网关扩展属性中配置的工作流构件,并触发所述工作流构件对应的构件逻辑;
10、根据所述构件逻辑对应的返回值进行不同业务节点之间的业务流转。
11、在本申请的一种实现方式中,通过预设的流程引擎,读取所述网关扩展属性中配置的工作流构件,并触发所述工作流构件对应的构件逻辑,具体包括:
12、通过预设的流程引擎,确定所述业务节点对应执行的时机事件;其中,所述时机事件包括聚合时机事件和拆分时机事件;
13、根据所述时机事件,读取所述网关扩展属性中配置的所述时机事件对应的工作流构件,并触发所述工作流构件对应的构件逻辑,以通过所述构件逻辑进行相应的业务流转。
14、在本申请的一种实现方式中,根据所述构件逻辑对应的返回值进行不同业务节点之间的业务流转,具体包括:
15、在所述流程引擎触发所述聚合时机事件所在工作流构件对应的构件逻辑的情况下,确定所述聚合时机事件对应构件逻辑的返回值;
16、若所述返回值为true,则在所述流程引擎流转到所需执行所述拆分时机事件对应的业务节点时,触发所述拆分时机事件所在工作流构件对应的构件逻辑时。
17、在本申请的一种实现方式中,根据所述构件逻辑对应的返回值进行不同业务节点之间的业务流转,具体包括:
18、若所述聚合时机事件对应构件逻辑的返回值为空且所述复杂网关所在业务节点后连接有其他业务节点,则默认执行所述其他业务节点。
19、在本申请的一种实现方式中,根据所述业务逻辑,对所述工作流构件进行配置,以将所述工作流构件挂载到所述复杂网关上,具体包括:
20、根据所述业务逻辑中的业务节点,配置所述工作流构件对应执行的时机事件,得到对应的配置信息;
21、将所述配置信息添加到所述网关扩展属性中,以将所述工作流构建挂载到所述复杂网关上。
22、本申请实施例提供了一种基于bpmn的复杂网关实现设备,设备包括:
23、至少一个处理器;以及,
24、与所述至少一个处理器通信连接的存储器;其中,
25、所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
26、定义依赖复杂网关执行时机的接口,并将所述接口注册为能够挂载在所述复杂网关上的工作流构件;
27、确定所需执行的业务场景对应的业务逻辑,根据所述业务逻辑,对所述工作流构件进行配置,以将所述工作流构件挂载到所述复杂网关上;其中,所述业务逻辑由多个业务节点组成;
28、在所述业务逻辑流转到所述复杂网关所在业务节点时,通过预设的流程引擎调用所述复杂网关上挂载的工作流构件,并按照所述工作流构件对应的构件逻辑进行业务流转。
29、本申请实施例提供了一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
30、定义依赖复杂网关执行时机的接口,并将所述接口注册为能够挂载在所述复杂网关上的工作流构件;
31、确定所需执行的业务场景对应的业务逻辑,根据所述业务逻辑,对所述工作流构件进行配置,以将所述工作流构件挂载到所述复杂网关上;其中,所述业务逻辑由多个业务节点组成;
32、在所述业务逻辑流转到所述复杂网关所在业务节点时,通过预设的流程引擎调用所述复杂网关上挂载的工作流构件,并按照所述工作流构件对应的构件逻辑进行业务流转。
33、通过本申请提出的一种基于bpmn的复杂网关实现方法能够带来如下有益效果:
34、通过定义接口规范化业务逻辑扩展,将接口注册为能够挂载到复杂网关上的工作流构件,进而将业务逻辑写到网关构件中,如此,在进行业务流转的过程中,流程引擎无需关心工作流构件中的扩展逻辑,只根据构件逻辑的返回值来控制复杂网关的聚合与拆分即可,实现了与业务之间的解耦。并且,将业务扩展以工作流构件的形式进行扩展,高灵活可用,支持不同流程复杂网关配置不同的工作流构件或者复用相同逻辑的工作流构件。
本文档来自技高网...【技术保护点】
1.一种基于BPMN的复杂网关实现方法,其特征在于,所述方法包括:
2.根据权利要求1所述的一种基于BPMN的复杂网关实现方法,其特征在于,定义依赖所述复杂网关执行时机的接口之前,所述方法还包括:
3.根据权利要求1所述的一种基于BPMN的复杂网关实现方法,其特征在于,所述时机包括聚合时机和拆分时机。
4.根据权利要求2所述的一种基于BPMN的复杂网关实现方法,其特征在于,通过预设的流程引擎调用所述复杂网关上挂载的工作流构件,并按照所述工作流构件对应的构件逻辑进行业务流转,具体包括:
5.根据权利要求4所述的一种基于BPMN的复杂网关实现方法,其特征在于,通过预设的流程引擎,读取所述网关扩展属性中配置的工作流构件,并触发所述工作流构件对应的构件逻辑,具体包括:
6.根据权利要求5所述的一种基于BPMN的复杂网关实现方法,其特征在于,根据所述构件逻辑对应的返回值进行不同业务节点之间的业务流转,具体包括:
7.根据权利要求6所述的一种基于BPMN的复杂网关实现方法,其特征在于,根据所述构件逻辑对应的返回值进行不同
8.根据权利要求1所述的一种基于BPMN的复杂网关实现方法,其特征在于,根据所述业务逻辑,对所述工作流构件进行配置,以将所述工作流构件挂载到所述复杂网关上,具体包括:
9.一种基于BPMN的复杂网关实现设备,其特征在于,设备包括:
10.一种非易失性计算机存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令设置为:
...【技术特征摘要】
1.一种基于bpmn的复杂网关实现方法,其特征在于,所述方法包括:
2.根据权利要求1所述的一种基于bpmn的复杂网关实现方法,其特征在于,定义依赖所述复杂网关执行时机的接口之前,所述方法还包括:
3.根据权利要求1所述的一种基于bpmn的复杂网关实现方法,其特征在于,所述时机包括聚合时机和拆分时机。
4.根据权利要求2所述的一种基于bpmn的复杂网关实现方法,其特征在于,通过预设的流程引擎调用所述复杂网关上挂载的工作流构件,并按照所述工作流构件对应的构件逻辑进行业务流转,具体包括:
5.根据权利要求4所述的一种基于bpmn的复杂网关实现方法,其特征在于,通过预设的流程引擎,读取所述网关扩展属性中配置的工作流构件,并触发所述工作流构件对应的构...
【专利技术属性】
技术研发人员:郑善林,李志超,房鹏飞,闫汝成,
申请(专利权)人:浪潮通用软件有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。