Activiti7工作流引擎 Day 1
1.相关概念
-
工作流:工作流程,事物发展的一个业务过程。就是通过计算机对业务流程自动化执行管理。
-
工作流引擎:一个用于管理和调度流程的应用程序,可以集成并作为程序框架使用,包括流程定义的存储,流程的节点与流程条件判断和调度、流向管理、流程实例管理等功能。
-
工作流系统:如果一个系统具备流程的自动化管理功能,可称为工作流系统。
-
BPM:Business Process Management,是一种以规范化的构造端到端的卓越业务流程为中心,以持续的提高组织业务绩效为目的的系统化方法。包括供应链领域的InStock(WMS),物流管理/提货送货预约(TMS),订单管理OMS、SRM、CRM等。都可以称之为BPM系统。
-
BPMN:业务流程建模与标注,包括这些图元如何组合成一个业务流程图(Business Process Diagram)
-
工作流系统实现手段:
- 通过手动硬编码实现。当流程发生变动的时候,便需要更改代码。
- Activiti可实现业务流程变化后,不需要改动代码。
2.实现步骤与原理
- 先画好流程图。
- 业务流程要规范化,要遵守一套标准。
- 业务流程图本质是一个XML文件,这样可以存入所需数据。
- 将流程图中每个节点的数据读取并放入表中。
- 读取业务流程图的过程就是解析XML文件的过程。
- 读取业务流程图的节点就是解析一个XML结构,进一步将数据插入表中,形成一条记录。
- 读取表中第一个数据,处理并删除。
- 读取一条记录相当于读取一个节点。
- 业务流程都的推进,后面就转化为读表中数据,并处理数据,结束时这一行数据就可以删除。
3.开发步骤:
-
整合Activiti:将Activiti环境和业务环境集成到一起。
-
依赖包:
- activiti-engine-7.0.0.beta1.jar
- activiti 依赖的 jar 包:mybatis、alf4j、log4j 等
- activiti 依赖的 spring 包: activiti-spring
- 数据库驱动
- 第三方数据连接池
- 单元测试 Junit-4.12.jar
-
activiti.cfg.xml:
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schem
-