本发明专利技术涉及一种可个性化定制业务流程的工作流引擎,包括开始单元、执行单元模板和结束单元,该工作流引擎基于令牌流方式实现,执行单元模板包括人工任务、分支、汇聚、自动执行、子流程和条件判断等单元,分支单元用于处理分支任务,汇聚单元用于汇聚分支任务,子流程单元用于生成一个或多个子流程,条件判断单元用于配置流转规则以及根据流转规则从多条后续路径中选择一条进行任务流转,自动执行单元用于执行后台数据操作或调用外系统的接口,人工任务单元用于生成并执行需要执行人员完成某些动作才能往下流转的人工任务。该工作流引擎有利于分离软件系统的控制逻辑和业务逻辑,实现在无需修改控制逻辑或源代码的前提下定制个性化的业务流程。
【技术实现步骤摘要】
本专利技术涉及一种可个性化定制业务流程的工作流引擎。
技术介绍
在当今政府机关企事业单位的运作过程中,由于各种规范化管理概念的引入,各 机关企事业单位的运作过程越来越明显的体现为信息流、资金流、物流、价值流等合理的流 动;这些流动越合理则往往人员分工越具体,人员间合作越紧密,这种合作的体现形式必然 是一个或多个完整而高效的工作流程,因此,可以说工作流无处不在。但是传统的管理类软件要么是软件开发商针对大部分政府机关企事业单位的管 理流程提取共性设计而成,要么是软件开发商针对某个客户的具体需求个性化定制而成。 这两种形式的管理类软件都有其不可回避的缺点,共性系统往往客户花钱购买来之后发现 与本身的个性化需求有着或多或少的冲突,还是需要软件开发商针对其个性化需求进行二 次开发,这样的开发又需要投入大量的财力物力;而个性系统虽然满足了单个客户的个性 化需求,但这种个性化的定制随之带来的是高额的开发费用和维护成本。而且这两种方式 都无法应对一种情况一旦客户的业务流程发生变化,可能会导致后续的多次开发和维护。导致上述现象的原因就是传统的管理类软件中几乎所有的业务流程系统都是将 管理业务逻辑和软件控制逻辑捆绑在一起,使得一旦客户的业务逻辑发生变更,将全面的 影响到软件系统的控制逻辑,因而必须修改大量源代码甚至重新开发。
技术实现思路
本专利技术的目的在于克服现有技术的不足,提供一种可个性化定制业务流程的工作 流引擎,该工作流引擎有利于分离软件系统的控制逻辑和业务逻辑,实现在无需修改控制 逻辑或源代码的前提下定制个性化的业务流程。为实现上述目的,本专利技术的技术方案是一种可个性化定制业务流程的工作流引 擎,包括开始单元、执行单元模板和结束单元,所述工作流引擎基于令牌流方式实现,所述 执行单元模板包括人工任务单元、分支单元、汇聚单元、自动执行单元、子流程单元和条件 判断单元;所述分支单元用于处理并行分支任务,其实现逻辑为当流程父令牌执行到分支单 元时,所述分支单元判定后续路径的生成情况,然后根据后续路径的条数产生相应的子令 牌;所述汇聚单元与所述分支单元配对使用,用于汇聚分支任务,其实现逻辑为当分支单 元中的子令牌到达汇聚单元时,所述汇聚单元判断所述子令牌对应的流程父令牌的其它子 令牌是否都已到达了汇聚单元,是则取出对应的流程父令牌,然后销毁所述子令牌,并驱动 所述流程父令牌流转到汇聚单元并从所述汇聚单元往下流转,否则销毁所述子令牌;所述子流程单元用于生成一个或多个子流程,其实现逻辑为当流程父令牌执行到子 流程单元时,所述子流程单元根据设定的子流程数相应的创建一个或多个子令牌,并驱动子令牌在对应的子流程中流转;当有子流程结束时,判断其它子流程是否都已结束,即判断其它子流程上的子令牌是否都已经销毁,是则驱动流程父令牌往下流转,否则仅销毁已结束子流程上的子令牌,不做其它操作; 所述条件判断单元用于配置流转规则以及根据流转规则从多条后续路径中选择满足流转条件的一条进行任务流转,需与规则引擎配合使用,所述条件判断单元的实现逻辑为当流程令牌执行到条件判断单元时,所述条件判断单元取出预先配置的判断规则并传给规则引擎,以对各条后续路径是否满足流转条件进行逻辑计算,然后根据规则引擎的计算返回结果选择满足流转条件的后续路径进行流转; 所述自动执行单元用于执行后台数据操作或调用外系统的接口,需要预先配置任务执行需调用的程序,其实现逻辑为当流程令牌执行到自动执行单元时,所述自动执行单元调用并执行相应的程序;所述自动执行单元设有一个是否自动执行的属性,当该属性为true时,执行完相应的程序后流程令牌直接流转到下一单元,否则流程令牌将在所述自动执行单元等待外界驱动才能往下流转; 所述人工任务单元用于生成并执行需要执行人员完成一定的动作才能往下流转的人工任务,其实现逻辑为当流程令牌执行到人工任务单元时,所述人工任务单元调用任务管理器产生相应的人工任务,此时流程令牌停在当前单元直至人工任务完成后再继续往下流转。与现有技术相比,本专利技术的有益效果是1、分离了软件系统的控制逻辑和业务逻辑,使得业务逻辑的变更对于控制逻辑透明。2、利用本专利技术的工作流引擎开发的软件系统可以根据具体业务需求量身定制个性化的业务流程,而不用修改控制逻辑,甚至无需修改源代码。3、提供灵活、丰富的标准开发接口,使得开发人员能采用自己习惯的开发工具在该平台上进行定制和扩充模块。4、提供对所有主流数据库的支持以及对数据的强大容错能力。附图说明图1是本专利技术实施例的工作流引擎的框架图。具体实施例方式本专利技术可个性化定制业务流程的工作流引擎,如图1所示,包括开始单元、执行单元模板和结束单元,所述工作流引擎基于令牌流方式实现,所述执行单元模板包括人工任务单元、分支单元、汇聚单元、自动执行单元、子流程单元和条件判断单元; 所述分支单元用于处理并行分支任务,该单元不需要人工干预,其实现逻辑为当流程父令牌执行到分支单元时,所述分支单元判定后续路径的生成情况,然后根据后续路径的条数产生相应的子令牌。而流程父令牌此时还在所述分支单元,只是其状态是不可流转的,分支单元是需要和汇聚单元配套使用的,即要一一对应。所述汇聚单元与所述分支单元配对使用,用于汇聚分支任务,该单元也不需要人工干预,其实现逻辑为当分支单元中的子令牌到达汇聚单元时,所述汇聚单元判断所述子令牌对应的流程父令牌的其它子令牌(即所述子令牌的兄弟令牌)是否都已到达了汇聚单元,是则通过所述子令牌取出对应的流程父令牌,然后销毁所述子令牌,并驱动所述流程父 令牌流转到汇聚单元并从所述汇聚单元往下流转,否则销毁所述子令牌。所述子流程单元用于生成一个或多个子流程,也是通过子令牌的方式实现,该单 元也是一个不需要人工干预的环节,其实现逻辑为当流程父令牌执行到子流程单元时,所 述子流程单元根据设定的子流程数相应的创建一个或多个子令牌,并驱动子令牌在对应的 子流程中流转;当有子流程结束时,判断对应的兄弟子流程是否都已结束,即判断其它子流 程上的子令牌是否都已经销毁,是则驱动流程父令牌往下流转,否则仅销毁已结束子流程 上的子令牌,不做其它操作。所述条件判断单元,即路由判断,此单元也不需要人工干预,但需要配置好路由规 贝U。所述条件判断单元用于配置流转规则以及根据流转规则从多条后续路径中选择满足流 转条件的一条进行任务流转,需与规则引擎配合使用,所述条件判断单元的实现逻辑为当 流程令牌执行到条件判断单元时,所述条件判断单元取出预先配置的判断规则并将所述判 断规则传给规则引擎,以对各条后续路径是否满足流转条件进行逻辑计算,然后根据规则 引擎的计算返回结果选择满足流转条件的后续路径进行流转。如对于有A、B、C三条后续路 径的情况,条件判断单元将流转规则传给规则引擎计算,首先判断后续路径A是否满足流 转条件,是则沿后续路径A流转,路径B、C不作判断,否则继续计算后续路径B、C是否满足 流转条件。所述自动执行单元用于执行后台数据操作或调用外系统的接口,也不需要人工干 预,但需要预先配置任务执行需调用的程序,其实现逻辑为当流程令牌执行到自动执行单 元时,所述自动执行单元调用并执行相应的程序;所述自动执行单元设有一个是否自动执 行的属性,当该属性为true时,执行完相应的程本文档来自技高网...
【技术保护点】
一种可个性化定制业务流程的工作流引擎,包括开始单元、执行单元模板和结束单元,其特征在于:所述工作流引擎基于令牌流方式实现,所述执行单元模板包括人工任务单元、分支单元、汇聚单元、自动执行单元、子流程单元和条件判断单元;所述分支单元用于处理并行分支任务,其实现逻辑为:当流程父令牌执行到分支单元时,所述分支单元判定后续路径的生成情况,然后根据后续路径的条数产生相应的子令牌;?所述汇聚单元与所述分支单元配对使用,用于汇聚分支任务,其实现逻辑为:当分支单元中的子令牌到达汇聚单元时,所述汇聚单元判断所述子令牌对应的流程父令牌的其它子令牌是否都已到达了汇聚单元,是则取出对应的流程父令牌,然后销毁所述子令牌,并驱动所述流程父令牌流转到汇聚单元并从所述汇聚单元往下流转,否则销毁所述子令牌;用于生成一个或多个子流程,其实现逻辑为:当流程父令牌执行到子流程单元时,所述子流程单元根据设定的子流程数相应的创建一个或多个子令牌,并驱动子令牌在对应的子流程中流转;当有子流程结束时,判断其它子流程是否都已结束,即判断其它子流程上的子令牌是否都已经销毁,是则驱动流程父令牌往下流转,否则仅销毁已结束子流程上的子令牌,不做其它操作;所述条件判断单元用于配置流转规则以及根据流转规则从多条后续路径中选择满足流转条件的一条进行任务流转,需与规则引擎配合使用,所述条件判断单元的实现逻辑为:当流程令牌执行到条件判断单元时,所述条件判断单元取出预先配置的判断规则并传给规则引擎,以对各条后续路径是否满足流转条件进行逻辑计算,然后根据规则引擎的计算返回结果选择满足流转条件的后续路径进行流转;?用于执行后台数据操作或调用外系统的接口,需要预先配置任务执行需调用的程序,其实现逻辑为:当流程令牌执行到自动执行单元时,所述自动执行单元调用并执行相应的程序;所述自动执行单元设有一个是否自动执行的属性,当该属性为true时,执行完相应的程序后流程令牌直接流转到下一单元,否则流程令牌将在所述自动执行单元等待外界驱动才能往下流转;所述人工任务单元用于生成并执行需要执行人员完成一定的动作才能往下流转的人工任务,其实现逻辑为:当流程令牌执行到人工任务单元时,所述人工任务单元调用任务管理器产生相应的人工任务,此时流程令牌停在当前单元直至人工任务完成后再继续往下流转。...
【技术特征摘要】
【专利技术属性】
技术研发人员:林富钦,郑生华,张航,陈春,
申请(专利权)人:福建邮科通信技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。