流程数据处理框架
- github
- 框架开源由我1人开发维护,欢迎感兴趣的同道交流或提交 PR
- 框架已支撑京东司南平台线上10个重业务流程的日常运行,目前流程运行稳定,日均单量千单以上
企业级项目里,流程的建设是必不可少的
一般做法是对接一个已有的开源工作流引擎
(工作流引擎的建设不在本篇的讨论范围,我会放到另一篇文章讲)
流程建设的痛点包括:
- 流程业务复杂,经常变更,表单建设耗时,开发周期长
- 各流程的表单数据都需要单独查询处理
- 各流程节点可能需要定制不同的表单数据展示
- 一般需要为各个流程单独定制待办及查询列表
- …
框架概述
- 可对接几乎所有基于 BPMN2.0 标准的工作流引擎,比如 activiti, flowable, camuda 等
- 后端流程业务数据处理 && 接前端通用视图组件渲染做到字段级几乎完全配置化
- 增加字段、查询条件、列表展示列等日常需求,前后端无需任何改动上线,配置后即可自动动态渲染
- 开发者只需关注流程及节点的业务代码编写
快速开始
- 引入依赖
以spring boot starter的形式引入应用
- gradle
1 |
|
- maven
1 |
|
至少实例化一个默认的 javax.sql.Datasource
框架内部用到数据库,实现无所谓,HikariDataSource,DruidDataSource等
推荐 Hikari,如其名的光速,性能上较 Druid 更强,目前最为优秀的数据库连接池至少实例化一个主的 org.springframework.cache.CacheManager
因为框架内部用到缓存,缓存框架无所谓,Redis, Ehcache等均可必须实现 com.mycx26.base.process.service.ProcEngineService 接口为单例供框架注入
框架通过该服务和工作流引擎交互
不同的工作流引擎可以有自己的实现,比如京东的流程中心OA(基于activiti),flowable等
例子
todo
myking 框架
https://mywill26.github.io/2022/07/10/myking/