乐趣区

关于activiti:Activiti工作流引擎学习

一、传统工作流实现形式

在没有专门的工作流引擎之前,咱们之前为了实现流程管制,通常的做法就是采纳状态字段的值来跟踪流程的变动状况。这样不必角色的用户,通过状态字段的取值来决定记录是否显示。比如说员工销假申请流程:员工申请 --- 部门经理 --- 总经理 --- 人事存档

针对有权限能够查看的记录,以后用户依据本人的角色来决定审批是否合格的操作。如果合格将状态字段设置一个值,来代表合格;当然如果不合格也须要设置一个值来代表不合格的状况。

这是一种最为原始的形式。通过状态字段尽管做到了流程管制,然而当咱们的流程产生变更的时候,这种形式所编写的代码也要进行调整。那么有没有业余的形式来实现工作流的治理呢?并且能够做到 业务流程变动之后,咱们的程序能够不必扭转,如果能够实现这样的成果,那么咱们的业务零碎的适应能力就失去了极大晋升。

二、Activiti 流程

为什么 Activiti 就能够解决业务需要变更时,源代码不须要更新,更新的是业务流程图,原理是什么?

原理剖析

如何能够做到咱们在业务流程产生变更后,咱们的业务零碎代码能够不产生扭转?此时咱们就来剖析一下原理。

具体分析过程如下图所示:


Activiti 外部外围机制及实现原理图

原理:节点和表之间的信息转换,关键点就在这里。把节点的信息读取进去而后存入到表里边,未来在解决的时候,从表中读取记录,解决完之后将记录删掉,意味着这个环节就解决完了,而后再解决下一个节点。

退出移动版