DevilKing's blog

冷灯看剑,剑上几分功名?炉香无需计苍生,纵一穿烟逝,万丈云埋,孤阳还照古陵

0%

流程引擎解析(2)

前面已经分析了流程引擎的基本构成,而这里的重点主要是为了如何改造这个流程引擎,使之能够完成其既定的两个目标。

  • 能够简单方便地加入流程节点
  • 能够在流程节点的运行过程中触发某些事件

其实流程引擎的目的在于编写一个小bpm,但又不仅仅是一个bpm。针对将现有的流程引擎改造的考虑,可以基于下面几点:

  • 流程渲染部分的改造,将相关的从baseinfo读取的action的信息,可直接通过actioninfo和taskinfo来读取相关的信息
  • icafe需要接管baseinfo的模板内容,即相关的sqaTaskTemplate的内容。这块可参考的思路是,首先,在配置中心部分,新建一个模板类的基础数据结构,即baseinfo的流程活动序列,只不过全部均为默认值;其次,以前的生成相应的taskinfo和actioninfo的逻辑暂时不变,而在流程活动池部分,相关的action基础的内容可由配置中心的内容来读取
  • 这样针对流程节点的加入方面相对简单,在配置中心的基础数据结构中加入相关的action信息,这样在流程活动池部分就可以看到该action,然后选择加入后,即可渲染在模块详情页部分
  • 流程节点的加入是一方面,但是其展示呢?展示部分是否会放在流程导航图上?