个人自己做了个流程平台,供自己学习研究用,自认为做得还不错! 因为整个平台只有一个应用,在微服务大行其道的时代,是不合理的,试着对该平台进行拆分。 首先介绍一下流程平台的功能,该平台一般该有的功能他都有。
- 流程驱动:使用flowable为底层,对外进行流程驱动
- 流程设计器:画流程图的东东,没有用flowable自带的流程图工具,自己做的。
- 流程操作:提供通过,驳回等操作,后面可扩展
- 流程事件:支持多种流程事件,供回调使用
- 流程集成:支持业务系统的流程集成
经思考,拆分后结构如下图:
流程的服务拆分.png
简单说明一下:
- 流程原子服务:这个是整个系统最底层的,性能一定要强,而且这个东东对接的是flowable,但对暴露的接口不含flowable的任何东东。主要是这里我有个野心,后面想建一个非开源的流程引擎,全部自己写,如果这么做,我只需要改造流程原子服务即可。
- 流程模板:这个是用于画流程图的,对流程图进行分类管理,只管画图那一部分
- 流程事件:这个主要是用于流程过程中触发的事件回调,支持的流程多种事件都在这里
- 流程业务集成:就是第三方系统接入流程时,统一在该服务进行业务配置,
- 流程操作:是流程审批时的各种操作 ,如流程通过,反对等操作。
- 流程对外集成:为什么有这个东东,主要是第三方系统接入流程时,总不可能不停的对接各个流程组件,所以就有这个服务的诞生
暂时个人就将服务拆分成这样。每个服务可以独立成一个应用。