一种基于Flowable流程引擎开发的工作流管理系统技术方案

技术编号:37279632 阅读:6 留言:0更新日期:2023-04-20 23:46
本发明专利技术公开了一种基于Flowable流程引擎开发的工作流管理系统,属于工程管理技术领域,该工作流管理系统主要为了完成工作流平台的工作流程的定义和运行,所述工作流平台还包括后台管理系统ZAdmin,用于用户SSO授权登录转换控制系统ZTran的后台,包括采集ZAdmin数据,所述工作流管理系统定义一系列的活动,并经由读取ZAdmin数据后,为活动指定执行角色、表单数据等,所述工作流管理系统基于Flowable插件扩展开发,插件与ZTran通讯进行扩展,关联至CDI作用域,通过插件实现基于规则的网关、人工任务和自动任务的流程活动类型,以达到用规则控制流程走向以及用规则引擎进行中间值计算、外部数据读取等扩展功能。外部数据读取等扩展功能。外部数据读取等扩展功能。

【技术实现步骤摘要】
一种基于Flowable流程引擎开发的工作流管理系统


[0001]本专利技术涉及工程管理软件
,尤其是涉及一种基于Flowable流程引擎开发的工作流管理系统。

技术介绍

[0002]目前在金融企业中,如银行企业、保险企业等,它们大部分的业务过程已经结合工作流引擎完成了在计算机应用环境下的自动化。但是,在某些特定场景中,如信贷审批业务通常会要求支持复杂的逻辑计算和灵活规则的变更。然而工作流实质上是一种在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程,工作流引擎不适应复杂、多变的业务规则应用场景。所以,有必要为工作流引擎引入一种可以降低业务逻辑实现的难度、降低维护和可扩展性成本的组件。这个组件就是规则引擎,它适用于复杂的业务规则并且规则会频繁、动态变换的场景。
[0003]当前在基于规则引擎的工作流技术研究中,主流传统的技术是引入ECA规则的方法,ECA(Event Condition Action)起源于主动数据库技术,它采用事件、条件、行为部分描述业务逻辑,定义了当某事件发生时规则条件判断及符合条件的行为处理内容。而市场上基于ECA规则的工作流技术的成熟产品,主要是以开源工作流引擎Activiti结合Drools规则引擎开发的。
[0004]Activiti是目前企业用的最多的开源工作流引擎,它支持BPMN2.0、XPDL、jPDL等多种流程定义规范,标准化业务流程的设计和开发,提高工作效率。Activiti工作流引擎需要专业开发人员设计、部署流程,而且要二次开发才能对接规则引擎。Drools也是一款开源规则引擎项目,它用Rate算法匹配规则库中的规则和事实库中的数据,并推出相应的结论,执行相应的动作。Drools规则引擎将业务逻辑用规则文件进行定义封装,将程序数据用对象进行保存,实现业务逻辑与数据的分离。但是,它也需要专业的开发人员去编写、维护规则文件,只能通过硬编码的形式与Activiti工作流引擎对接。
[0005]其中,工作流引擎一般用于完成工作流平台的工作流程的定义和运行,在工作流平台中起到重要作用,但该Activiti工作流引擎却存在版本多,不稳定且学习成本高,最主要的是,其不符合一般人的使用规律和学习习惯,不符合一般业务流程的工作流系统。

技术实现思路

[0006]本专利技术的目的在于提供一种基于Flowable流程引擎开发的工作流管理系统,以解决现有技术中工作流引擎与规则引擎紧耦合、开发工作量大的技术问题。
[0007]本专利技术提供一种基于Flowable流程引擎开发的工作流管理系统,该工作流管理系统用于工作流平台中,所述工作流平台包括工作流引擎ZWE,规则引擎ZRE以及转换控制系统ZTran,该工作流管理系统对应工作流引擎ZWE,该工作流管理系统主要为了完成工作流平台的工作流程的定义和运行,所述工作流平台还包括后台管理系统ZAdmin,用于用户SSO授权登录转换控制系统ZTran的后台,包括采集ZAdmin数据,所述工作流管理系统定义一系
列的活动,并经由读取ZAdmin数据后,为活动指定执行角色、表单数据等,所述工作流管理系统基于Flowable插件扩展开发,插件与ZTran通讯进行扩展,关联至CDI作用域,通过插件实现基于规则的网关、人工任务和自动任务的流程活动类型,以达到用规则控制流程走向以及用规则引擎进行中间值计算、外部数据读取等扩展功能。
[0008]进一步,通过Flowable流程引擎与Spring框架的系统集成,可将引擎核心类ProcessEngine配置为普通的Java Bean,即通过org.flowable.spring.ProcessEngineFactoryBean作为入口类处理流程引擎的配置,利用Spring依赖注入的特性创建ProcessEngine引擎实例。
[0009]进一步,ProcessEngi ne引擎实例根据前台设计的XML格式的流程定义文件创建流程模型,并持久化到数据库,供后续创建流程实例和提交到ZTran的工作流仓库使用。
[0010]进一步,通过开发符合CDI规范的Java Servlet应用服务作为工作流引擎与ZTran通讯的插件,工作流引擎需要集成转换控制系统ZTran时,可将此插件的接口描述文件加入到工作流引擎工程的META

INF/services/路径以及将插件的Jar包加入到工程中。
[0011]进一步,引入插件后,当启动工作流引擎ZWE时,Spring容器根据配置先启动工作流引擎Servlet应用服务,再启动插件Servlet应用服务,插件Servlet应用服务启动后会初始化CDI容器,容器根据接口描述文件开始进行类注册,文件中的类路径条目将被扫描和所有的类将被解析并注册为“Java Bean”由CDI容器管理这些Bean的生命周期。
[0012]进一步,插件通过CDI容器的上下文注入特性实例化引擎查找器、工作流部署服务、规则调用服务以及基于CDI事件机制的消费者。首先配置基于JTA管理事务的引擎查找策略,CDI容器可找到工作流引擎Servlet应用服务中的引擎实例,生成与之对应的实例镜像,通过镜像的启动流程的方法,启动流程实例并把流程实例关联到CDI容器的上下文环境中。
[0013]进一步,通过在工作流引擎ZWE配置CDI事件监听者,监听已经在CDI作用域中的流程实例中的所有活动事件,插件中的CDI事件总线消费者可以接收流程实例的活动事件,则消费者通过规则服务发送表单数据给到ZTran对应的数据源服务,ZTran再封装数据转发到规则引擎中,以此达到基于规则处理流程走向判断、中间值计算等。
[0014]进一步,所述转换控制系统ZTran还可负责工作流的部署和更新:首先通过接收工作流引擎的XML格式的流程定义文件,转化为专属对象ZNode,ZNode包括活动的基础信息,如名称、KEY以及类型等,表单以及流向,并保存在转换控制系统ZTran的工作流仓库;然后转换控制系统ZTran的工作流部署模块根据ZNode信息部署流程,调用插件的工作流部署服务,插件根据ZNode的信息使用工作流引擎实例镜像启动流程实例并初始化/更新CDI事件消费者中的事件映射缓存。
[0015]进一步,本插件可以与任何基于支持CDI容器的Web服务器开发的工作流引擎通过简单的系统配置完成集成。
[0016]与现有技术相比较,本专利技术的有益效果在于:
[0017]现有技术中,工作流引擎一般用于完成工作流平台的工作流程的定义和运行,在工作流平台中起到重要作用,但Activiti工作流引擎却存在版本多,不稳定且学习成本高,最主要的是,其不符合一般人的使用规律和学习习惯,不符合一般业务流程的工作流系统,针对此类问题,我们开发了一种新型的工作流管理系统,可有效完成工作流程的定义和运
行,即定义一系列的活动并为活动指定执行角色,读取ZAdmin数据、表单数据等,然后提交工作流到转换控制系统ZTran,由该系统转换为扩展模型,提供表单数据、活动任务本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Flowable流程引擎开发的工作流管理系统,该工作流管理系统用于工作流平台中,所述工作流平台包括工作流引擎ZWE,规则引擎ZRE以及转换控制系统ZTran,该工作流管理系统对应工作流引擎ZWE,该工作流管理系统主要为了完成工作流平台的工作流程的定义和运行,其特征在于:所述工作流平台还包括后台管理系统ZAdmin,用于用户SSO授权登录转换控制系统ZTran的后台,包括采集ZAdmin数据,所述工作流管理系统定义一系列的活动,并经由读取ZAdmin数据后,为活动指定执行角色、表单数据等,所述工作流管理系统基于Flowable插件扩展开发,插件与ZTran通讯进行扩展,关联至CDI作用域,通过插件实现基于规则的网关、人工任务和自动任务的流程活动类型,以达到用规则控制流程走向以及用规则引擎进行中间值计算、外部数据读取等扩展功能。2.根据权利要求1所述的一种基于Flowable流程引擎开发的工作流管理系统,其特征在于:通过Flowable流程引擎与Spring框架的系统集成,可将引擎核心类ProcessEngine配置为普通的Java Bean,即通过org.flowable.spring.ProcessEngineFactoryBean作为入口类处理流程引擎的配置,利用Spring依赖注入的特性创建ProcessEngine引擎实例。3.根据权利要求2所述的一种基于Flowable流程引擎开发的工作流管理系统,其特征在于:ProcessEngine引擎实例根据前台设计的XML格式的流程定义文件创建流程模型,并持久化到数据库,供后续创建流程实例和提交到ZTran的工作流仓库使用。4.根据权利要求2所述的一种基于Flowable流程引擎开发的工作流管理系统,其特征在于:通过开发符合CDI规范的Java Servlet应用服务作为工作流引擎与ZTran通讯的插件,工作流引擎需要集成转换控制系统ZTran时,可将此插件的接口描述文件加入到工作流引擎工程的META

INF/services/路径以及将插件的Jar包加入到工程中。5.根据权利要求4所述的一种基于Flowable流程引擎开发的工作流管理系统,其特征在于:引入插...

【专利技术属性】
技术研发人员:罗明星宣钢炜
申请(专利权)人:中锦技术广东有限公司
类型:发明
国别省市:

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

1