Bladex Workflow工作流引擎开发进阶

1 Bladex Workflow简介

  • 基于Avue的表单设计器,拥有丰富的表单组件,并支持自定义业务组件
  • 基于Bpmn.js的流程设计器,支持 设计、预览两种设计模式、3种常见流程引擎、流程总表单设计与节点表单设计、节点按钮显示配置、模型校验、MiniMap、流程模拟 等功能
  • 基于Flowable的流程引擎,支持 模型设计、多实例会签、流程监控等功能

官网:https://bladex.vip/#/market/flow

Bladex Workflow工作流引擎开发进阶

Bladex Workflow工作流引擎开发进阶

2 Flowable简介

1) Flowable是使用Java语言编写的轻量级业务流程引擎开源软件。Flowable流程引擎可已设计/部署BPMN 2.0流程定义(定义流程的行业XML标准), 创建这些流程定义的流程实例,访问/操作运行中或历史的流程实例与相关数据,等等。

2) Flowable可以十分灵活地加入你的应用/服务/构架。可以将JAR形式发布的Flowable库加入到应用或服务,来嵌入Flowable流程引擎。 以JAR形式发布使Flowable可以轻易加入任何Java环境:Java SE;Tomcat、Jetty或Spring之类的servlet容器;JBoss或WebSphere之类的Java EE服务器等等。

  • 中文文档:https://tkjohn.github.io/flowable-userguide/
  • 英文文档:https://www.flowable.org/docs/userguide/index.html
Bladex Workflow工作流引擎开发进阶

3 workflow部署和配置-参考文档《BladeX插件 – Blade-flow使用帮助文档 》

bladex将工作流模块workflow设计为一个插件微服务,并且单独使用一个数据库bladex_workflow,与业务库隔离。基本使用参考文档《BladeX插件 – Blade-flow使用帮助文档 》

4 配置任务监听

1)workflow采用的是TaskListener监听SequenceFlow的监听器,监听任务有4种

  • create 任务创建之前
  • assignment ?
  • complete 任务完成之后
  • delete ?
Bladex Workflow工作流引擎开发进阶

2) 首先我们先创建需要监听的类

我们以请入职流程为列子,创建一个listener的包然后创建对应complete任务的类,实现TaskListener。

Bladex Workflow工作流引擎开发进阶

3) 配置流程任务监听参数

进入模型设计界面

Bladex Workflow工作流引擎开发进阶

每个节点都可以设置监听,设置好之后点击保存,这个时候我们可以导出流程的XML进行查看,可以看到配置了对应的任务监听。

4)部署流程。

5)发起流程测试

4.1 问题:监听类注入不了service

在我们的回调事件里面可能会注入不了service,我们使用一个获取bean的工具类SpringUtil来注入获取需要的bean。

Bladex Workflow工作流引擎开发进阶

5 配置事件监听

bladex采用的是ExecutionListener 监听SequenceFlow的监听器,监听事件有3种

  • start 流程执行前
  • take 流程执行
  • end 流程执行前
Bladex Workflow工作流引擎开发进阶

同上,与任务监听类似

6 复杂表单-配置外部表单(不建议配置超大表单,如入职申请)

外置表单后端只需配置流程key和键值对即可。

Bladex Workflow工作流引擎开发进阶

6.1 外置表单申请页和详情页查看

外置表单申请页和详情页,需要前端开发相应页面。参考前端已开发外置表单vue页面。

7 如何配置驳回至申请人流程

参考已有转正流程

Bladex Workflow工作流引擎开发进阶

Bladex Workflow工作流引擎开发进阶

8 异常如何抛出和抛出原理?

Bladex Workflow工作流引擎开发进阶

Bladex Workflow工作流引擎开发进阶

抛出原理

9 如何进行日志增强和消息配置

Bladex Workflow工作流引擎开发进阶

10 如何自定义审批人

通过流程表达式,自定义处理人。

Bladex Workflow工作流引擎开发进阶

11 流程如何上线

拷贝ACT_DE_MODEL和blade_wf_form两个表的对应的需要上线的模型和表单记录,插入到生产数据库。

12 修改打印日志

Bladex Workflow工作流引擎开发进阶

13 定时发起流程功能

Bladex Workflow工作流引擎开发进阶

Bladex Workflow工作流引擎开发进阶

14 多实例部署

取流水号用了bladex的RedisLock,需要配置下Redis分布式锁

Bladex Workflow工作流引擎开发进阶

15 流程权限不生效如何排查 查询

1)流程权限查询原理

Bladex Workflow工作流引擎开发进阶

2)流程权限保存原理

Bladex Workflow工作流引擎开发进阶

内容出处:,

声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。文章链接:http://www.yixao.com/tech/27660.html

发表评论

登录后才能评论