本发明涉及一种基于Activiti的流程与表单交互方法及系统,属于计算机领域。
背景技术:
Activiti为一种当前流行的、基于Apache许可、免费、开源的业务流程引擎,Activiti项目是一项新的基于Apache许可的开源BPM平台,从基础开始构建,旨在提供支持新的BPMN2.0标准,包括支持对象管理组(OMG),面对新技术的机遇,诸如互操作性和云架构,提供技术实现。
现有技术的对比文件公开了“一种基于activiti的业务事件与流程分离方法及系统”(专利申请号:CN201710178569.0)中提到了一种基于activiti的业务事件与流程分离方法,该方法包括:将activiti操作节点数据结构化,并配置到数据库中以生成不同的表单;解析业务流程的XML数据,并将所解析的配置数据写入上述步骤生成的表单中。其发明将操作节点数据在数据库中结构化,通过读取结构化的数据组成具体的表单,并将业务流程的XML数据解析后写入到上述生成的表单中,可实现业务处理与流程分离,使业务在处理过程中脱离解析activiti自定义XML的流程路线,避免每次处理业务都解析XML数据,以解决因解析XML而引起的数据混乱问题,也可避免因流程异常导致业务事务处理失败的问题,且通过更改配置数据即可实现流程的更新。
现有技术存在以下缺点:
1)采用Activiti软件可独立部署的方案,决定了Activiti本身自带的基于JAVA编程、将业务逻辑嵌入工作流执行的Listener监听器和Event事件不能用,即使想办法用起来,也不便于流程与具体业务应用程序的分离,耦合度太高,也违背我们业务模块独立开发和部署、集中式管理、模块间松耦合的设计理念;
2)Activiti软件升级困难,每次升级Activiti软件版本都必须重新部署业务逻辑相关类;
3)Activiti软件每个节点属性数量有限,难以达到与表单业务系统丰富的数据交互和业务逻辑操作控制;
4)流程变量数值的设置完全依靠表单业务系统编程实现,即使有些功能可以采用脚本,但对于不懂编程的流程设计人员也比较困难;
5)流程任务事件或各种业务逻辑只支持同步调用,不支持异步执行。若业务逻辑复杂,在高并发情况下,性能和用户体验会比较差;
6)采用activiti-explorer在线编辑流程时,对于流程变量的描述、默认值等都不能设置;而Eclipse下插件形式的流程编辑器虽然可以设置流程变量的默认值,但目前最高只支持到Activiti V5.18,不能支持Activiti V5.22等新版本新增的属性和方法。
技术实现要素:
本发明提供本发明提供了一种基于Activiti的流程与表单交互方法及系统,提出利用Ac