最近公司需要开发工作流 使用的是activiti 个人拿着官方的User Guide 摸索了好几天 现做个小结:
对公司的小型OA开发一般用到如下几点:
1.依据客户业务得到业务流程图 可以是xml文件或者zip文件 ,一般情况下都是通过上传文件的形式来更新业务流程图 得到流程定义ProcessDefinition
2.获取流程引擎,在服务器启动时获得流程引擎
3.进行具体的业务操作
3.1 :获得流程实例(一个流程定义对应多个流程实例) ,实际开发中不会单独的启动一个流程实例 都应该和业务数据相关联 在保存业务数据时同时启动一个流程实例
activiti中存在一个business_key_的字段来保存关联(一般也可以在业务表中增加一个字段来保存对应的流程实例)
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(processDefinition.getKey(),priKey,variables) ;
3.2 : 开始流程的流转 主要包括待办任务 对任务的审核通过 审核驳回 记录审核信息 监控流程流转信息(可以是用流程图或者使用数据列表信息)
4.统计若干信息 这部分主要看业务需求 activit中自动保存了若干历史记录 这一点个人感觉蛮好