一种业务流程开发系统及方法技术方案

技术编号:36104527 阅读:11 留言:0更新日期:2022-12-28 14:04
本申请公开了一种业务流程开发系统及方法,包括:包含零个以上的子流程的主流程,设置有目标业务流程的总入口,用于实现目标业务流程的全部或部分业务流程;独立工作流,用于实现与所述主流程并行的业务流程,享有独立的执行空间。主流程、子流程以及独立工作流由一个层级的节点或嵌套包含的多个层级的节点串联而成。本申请对于结合具体应用场景的功能实体部分,由领域特定语言DSL以及预设的功能插件addins来实现,而目标业务流程的流程表示和调度,则由主流程、子流程以及独立工作流来独立实现,不需要依赖其他的服务,因而具有轻量级的特点,便于在实际应用中进行量化部署。便于在实际应用中进行量化部署。便于在实际应用中进行量化部署。

【技术实现步骤摘要】
一种业务流程开发系统及方法


[0001]本申请涉及业务流程开发
,更具体地说,是涉及一种业务流程开发系统及方法。

技术介绍

[0002]早在2000年世纪之初,IBM、微软、OMG、Intalio等都提出了业务流程自动化理念,并基于此提出业务流程建模语言BPEL与BPML。随着现实中业务流程需求的发展,之后又衍生了BPEL4WS的网络服务业务流程执行语言。不管是哪种衍生业务流程建模语言,其本质都是基于业务流程自动化理念而衍生的超文本解析语言,并且都依附于庞大的生态系统,在RPA(Robotic Process Automation,机器人流程自动化)的实际落地场景中,很难进行量化部署。

技术实现思路

[0003]有鉴于此,本申请提供了一种业务流程开发系统及方法,所述系统可以用于开发业务流程,并使得所开发的业务流程文件易于部署。
[0004]为实现上述目的,本申请第一方面提供了一种业务流程开发系统,包括:
[0005]包含零个以上的子流程的主流程,设置有目标业务流程的总入口,用于实现目标业务流程的全部或部分业务流程;其中,所述子流程用于实现所述主流程的内部的独立功能,与所述主流程共享执行空间;
[0006]独立工作流,用于实现与所述主流程并行的业务流程,享有独立的执行空间;
[0007]其中,所述主流程和所述独立工作流通过输入参数、输出参数进行变量传递,所述主流程和所述子流程通过全局变量进行变量传递;
[0008]所述主流程、子流程以及独立工作流均包含一个层级的节点或嵌套包含多个层级的节点;每一层级设有一个起始ID,每一层级的每个节点分别设有一个运行ID和一个下一步ID;其中,层级的所述起始ID用于标识所述层级的起始运行节点,节点的所述运行ID用于标识所述节点,节点的下一步ID用于标识所述节点执行完内部业务之后需要路由到的节点;
[0009]所述节点包括用于实现节点间的逻辑关系的流程控制节点以及用于实现通用功能的流程功能节点,所述流程控制节点和所述流程功能节点通过预设的领域特定语言DSL以及预设的功能插件addins实现实体功能。
[0010]优选地,所述主流程的属性通过第一属性文件进行配置,所述主流程的属性包括项目ID及子流程的流ID;
[0011]所述子流程为所述主流程内的通过标签进行标记的代码段,所述子流程的属性通过第二属性文件进行配置,所述子流程的属性包括所述子流程的名称及ID。
[0012]优选地,所述流程控制节点包括:
[0013]条件判断节点、多条件判断节点、先条件循环节点、后条件循环节点、循环遍历节
点、异常捕获节点、事件触发节点、并行执行节点、子流程唤醒节点、独立工作流唤醒节点以及外部工作流唤醒节点;
[0014]所述流程功能节点包括:中止循环节点、暂停执行节点、继续执行节点、异常抛出节点、入参设置节点、出参设置节点、全局赋值节点、局部赋值节点以及指令执行节点。
[0015]优选地,所述条件判断节点包括真分支和假分支,所述条件判断节点通过DSL的执行结果进行导向执行。
[0016]优选地,所述多条件判断节点包括多个条件分支,所述多条件判断节点通过DSL的执行结果进行匹配,并根据匹配结果进行导向执行。
[0017]优选地,所述先条件循环节点包括循环分支,所述先条件循环节点通过DSL的执行结果确定是否循环执行所述循环分支。
[0018]优选地,所述后条件循环节点包括循环分支,所述后条件循环节点在执行了一次所述循环分支后,再通过DSL的执行结果确定是否循环执行所述循环分支。
[0019]优选地,所述循环遍历节点包括循环分支,用于通过DSL迭代器变量循环遍历DSL容器列表,并根据所遍历到的所述DSL容器列表的项来执行循环分支。
[0020]优选地,所述异常捕获节点用于有保护地执行业务,并且在执行中对异常进行捕获;
[0021]若所述异常捕获节点设置了尝试次数,则在尝试次数范围内,忽略错误并再次尝试执行业务。
[0022]本申请第二方面提供了一种业务流程开发方法,包括:
[0023]采用上述的系统来实现目标业务流程的编排,得到业务流程源文件;
[0024]将依赖资源添加到所述业务流程源文件中,得到业务流程文件包;
[0025]通过预设的语法编译器对所述业务流程文件包进行编译,得到业务流程目标文件。
[0026]经由上述的技术方案可知,本申请包括用于为目标业务流程提供总入口的主流程,用于实现所述主流程的内部的独立功能,并且与所述主流程共享执行空间的子流程,以及用于执行与所述主流程并行的业务,并且享有独立的执行空间的独立工作流。其中,所述主流程和所述独立工作流通过输入参数、输出参数进行变量传递,所述主流程和所述子流程通过全局变量进行变量传递。所述主流程、子流程以及独立工作流均可以包含一个层级的节点或嵌套包含多个层级的节点,并且每一层级设有一个起始ID,每一层级的每个节点分别设有一个运行ID和一个下一步ID;其中,层级的所述起始ID用于标识所述层级的起始运行节点,节点的所述运行ID用于唯一标识所述节点,节点的下一步ID用于标识所述节点执行完内部业务之后需要路由到的节点。通过所述起始ID、运行ID以及下一步ID,有利于采用各种动态逻辑关系串联起所有节点。进一步地,所述节点包括用于实现节点间的逻辑关系的流程控制节点以及用于实现通用功能的流程功能节点,所述流程控制节点和所述流程功能节点通过预设的领域特定语言DSL以及预设的功能插件addins实现具体的功能。本申请对于结合具体应用场景的功能实体部分,由领域特定语言DSL以及预设的功能插件addins来实现,而目标业务流程的流程表示和调度,则由主流程、子流程以及独立工作流来独立实现,不需要依赖其他的服务,因而具有轻量级的特点,便于在实际应用中进行量化部署。
附图说明
[0027]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0028]图1为本申请实施例公开的业务流程开发系统的示意图;
[0029]图2为本申请实施例公开的业务流程开发系统的各组件示意图;
[0030]图3为本申请实施例公开的主流程的示意图;
[0031]图4为本申请实施例公开的子流程的示意图;
[0032]图5为本申请实施例公开的独立工作流的示意图;
[0033]图6为本申请实施例公开的条件判断节点的示意图;
[0034]图7为本申请实施例公开的多条件判断节点的示意图;
[0035]图8为本申请实施例公开的先条件循环节点的示意图;
[0036]图9为本申请实施例公开的后条件循环节点的示意图;
[0037]图10为本申请实施例公开的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种业务流程开发系统,其特征在于,包括:包含零个以上的子流程的主流程,所述主流程设置有目标业务流程的总入口,用于实现目标业务流程的全部或部分业务流程;其中,所述子流程用于实现所述主流程的内部的独立功能,与所述主流程共享执行空间;独立工作流,用于实现与所述主流程并行的业务流程,享有独立的执行空间;其中,所述主流程和所述独立工作流通过输入参数、输出参数进行变量传递,所述主流程和所述子流程通过全局变量进行变量传递;所述主流程、子流程以及独立工作流均包含一个层级的节点或嵌套包含多个层级的节点;每一层级设有一个起始ID,每一层级的每个节点分别设有一个运行ID和一个下一步ID;其中,层级的所述起始ID用于标识所述层级的起始运行节点,节点的所述运行ID用于标识所述节点,节点的下一步ID用于标识所述节点执行完内部业务之后需要路由到的节点;所述节点包括用于实现节点间的逻辑关系的流程控制节点以及用于实现通用功能的流程功能节点,所述流程控制节点和所述流程功能节点通过预设的领域特定语言DSL以及预设的功能插件addins实现实体功能。2.根据权利要求1所述的系统,其特征在于,所述主流程的属性通过第一属性文件进行配置,所述主流程的属性包括项目ID及子流程的流ID;所述子流程为所述主流程内的通过标签进行标记的代码段,所述子流程的属性通过第二属性文件进行配置,所述子流程的属性包括所述子流程的名称及ID。3.根据权利要求1所述的系统,其特征在于,所述流程控制节点包括:条件判断节点、多条件判断节点、先条件循环节点、后条件循环节点、循环遍历节点、异常捕获节点、事件触发节点、并行执行节点、子流程唤醒节点、独立工作流唤醒节点以及外...

【专利技术属性】
技术研发人员:卞晓瑜肖鸣林孙鑫鑫
申请(专利权)人:壹沓科技上海有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1