Activiti 是一个工作流引擎,activiti 可以将业务系统中复杂的业务流程抽取出来,使用专门的建模语言(BPMN2.0)进行定义,业务系统按照预先定义的流程进行执行,实现了业务系统的业务流程由 activiti 进行管理,减少业务系统由于流程变更进行系统升级改造的工作量,从而提高系统的健壮性,同时也减少了系统开发维护成本。
为什么Activiti可以实现业务需求变更时,不需要更新代码,只需要更新业务流程图,就可以实现流程的变化?
大致原理:
Activiti启动流程时,会将第一个节点读取到表中查询到表中要处理的节点进行处理,处理完成之后会删除这个节点,并且读取下一个节点的数据存入到表中循环上一个步骤,直到结束。
业务流程图要规范化,需要遵守一套标准。
业务流程图本质上就是一个XML文件,而XML可以存放所要的数据。
读取业务流程图的过程就是解析XML文件的过程。
读取一个业务流程图的结点就相当于解析一个XML的结点,进一步将数据插入到MySQL表中,形成一条记录。
将一个业务流程图的所有节点都读取并存入到MySQL表中。
后面只要读取MySQL表中的记录就相当于读取业务流程图的一个节点。
业务流程的推进,后面就转换为读取表中的数据,并且处理数据,结束的时候这一行数据就可以删除了。
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习