序言
说起工作流,大多数没有接触过的同学或者刚接触的同学,是一头雾水,不知道如何学习、实战,看了一圈文档,引起了一堆疑问,感觉工作流太复杂了。
我之前也在微头条中聊过,什么是工作流,无非就是做一件事情不同角色参与,一起把这个事情完成,这个流程称为工作流
如何实现
[what]思考:不借用现有框架,你是如何实现
?[酷]思路:
- 需要创建一个工作流的流程模型,每一步都要关联一个人或是多人去参与,最后要把这个流程模型图以二进制的方式保存下来
- 再创建一个工作表单,说明我要干什么,然后关联这个工作流模型图,这就组成一个完成流程模型
- 根据流程模型,发起流程,操作流程,完结流程
想到这,大家可能有点晕头转向,这需要多少开发量,还要考虑很多的边界条件。如果你想到了以上几个方面,说明你已经打开了工作流的大门,了解工作流的业务逻辑,之后,学习工作流框架,会更加容易上手。
项目方案参考
https://github.com/CollectBugs/RuoYi-Flowable-Plus
- 介绍
这个项目很好的借用flowable工作流框架实现工作流功能
- 在线流程设计器
- 在线流程表单设计器
- 单节点配置表单
- 多实例会签任务
- 任务节点配置任务/执行监听器
- 动态配置任务候选人
- 其它流程相关功能点
其他实现方案
- https://github.com/zc-libre/snakerflow-spring-boot-stater
Snaker是一个基于Java的轻量级工作流引擎,适用于企业应用中常见的业务流程。本着轻量、简单、灵巧理念设计,定位于简单集成,多环境支持。
- https://github.com/Activiti/Activiti
Activiti 是一个轻量级工作流程和业务流程管理 (BPM) 平台,面向业务人员、开发人员和系统管理员。其核心是一个超快且坚如磐石的 Java BPMN 2 流程引擎。它是开源的,并根据 Apache 许可证分发。Activiti 可以在任何 Java 应用程序、服务器、集群或云中运行。它与 Spring 完美集成,非常轻量级并且基于简单的概念。
- https://github.com/camunda/camunda-bpm-platform
Camunda Platform 7 是一个灵活的工作流程和流程自动化框架。其核心是在 Java 虚拟机内运行的原生 BPMN 2.0 流程引擎。它可以嵌入到任何 Java 应用程序和任何运行时容器中。它与 Java EE 6 集成,并且与 Spring 框架完美匹配。在流程引擎之上,您可以从一系列工具中进行选择,用于人工工作流程管理、操作和监控
总结
对于项目案例,大家可以本地部署一下,操作一下整个工作流过程,再根据代码与库表,更加深入去了解,学习。有什么问题,都可以联系我,提供友情技术支持
每天不断更,精彩不停止,明天见,我是行者
创作不易,记得留个关注、点赞、评论哟,让我们一起去看星辰大海,品味代码人生