一、项目需求
在现有的Crm项目中,集成Activiti工作流框架,实现一个“客户报备”流程管理。
为了确保录入的客户信息都是有效的,防止市场人员作假。对于录入的客户信息需要进行报备审批,也就是需要通过部门经理审批。
具体流程如下:
二、项目分析
1、准备一个现有的(可以正常运行的)CRM项目。
导入项目Activiti-CRM.rar
创建数据库activiti-crm
导入sql脚本itsource_crm.sql
部署crm到tomcat
确保CRM中,需要加入流程管理的业务模块(客户管理)能够正常运行
2、把Activiti集成到Crm项目中
3、流程定义(规则)管理
虽然当前分析出来只有一个客户报备流程,但是后面可能会集成其他流程(报销流程等),所以需要一个管理各种流程规则的模块.具体需要的流程如下:
1) 部署新流程
2) 查看(列表)流程
3) 删除流程
4) 查看规则流程图
4、流程实例和流程任务管理(运行时管理)
1)启动流程
2)查看任务
3)办理任务
4)使用流程监听器,修改业务对象状态。
扩展:
1、多出口任务
2、流程批注管理
三、集成Activiti框架
Activiti集成CRM
框架集成的核心??
Spring框架叫做项目(资源)的管家。
如果待集成项目中,有Spring框架,那么主要就是和“Spring框架”做集成。
把Activiti框架的“核心类”交给Spring管理;-- Activiti的核心类,引擎配置对象,引擎对象,三大服务对象
如果框架有事务,也要把“事务”交给Spring管理。
集成步骤:
1、导入activiti jar包
activiti-5.16.4\wars\activiti-rest\WEB-INF\lib\activiti*.jar
mybatis-3.2.5.jar (尽量使用高版本)
joda-time-2.1.jar
有可能会缺失其他包,ClassNotFound 差什么引入什么?
Maven怎么引入? 到中央仓库,搜索Activiti,拷贝pom的的代码端即可
2、添加Activiti配置文件-applicationContext-activiti.xml-配置核心对象
用户手册中,第5章,前两节。
3、把Activiti配置文件-applicationContext-activiti.xml集成到Spring
4、测试
通过Spring容器,注入Activiti核心服务,检测集成是否成功!!
也可以从数据库也能看到是否集成成功,看表是否创建了
<bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">
<property name="dataSource" ref="dataSource" />
<property name="transactionManager" ref