前面已经分析了流程引擎的基本构成,而这里的重点主要是为了如何改造这个流程引擎,使之能够完成其既定的两个目标。
- 能够简单方便地加入流程节点
- 能够在流程节点的运行过程中触发某些事件
其实流程引擎的目的在于编写一个小bpm,但又不仅仅是一个bpm。针对将现有的流程引擎改造的考虑,可以基于下面几点:
- 流程渲染部分的改造,将相关的从baseinfo读取的action的信息,可直接通过actioninfo和taskinfo来读取相关的信息
- icafe需要接管baseinfo的模板内容,即相关的sqaTaskTemplate的内容。这块可参考的思路是,首先,在配置中心部分,新建一个模板类的基础数据结构,即baseinfo的流程活动序列,只不过全部均为默认值;其次,以前的生成相应的taskinfo和actioninfo的逻辑暂时不变,而在流程活动池部分,相关的action基础的内容可由配置中心的内容来读取
- 这样针对流程节点的加入方面相对简单,在配置中心的基础数据结构中加入相关的action信息,这样在流程活动池部分就可以看到该action,然后选择加入后,即可渲染在模块详情页部分
- 流程节点的加入是一方面,但是其展示呢?展示部分是否会放在流程导航图上?