一、简介
2018-11-10 本文已影响5人
Class鸣
一、前世
- OA(Office Automation):
是将现代化办公和计算机网络功能结合起来的一种新型办公方式。企业通过办公自动化达到便捷、增强协同办公、强化决策高效管理等目的。 - OA软件核心应用包括:
- 流程管理
- 协同工作
- 信息中心
- 等
涉及的方面随着需求的发展而增加。
- 工作流(Work Flow):
对公最当中涉及的流程、业务需求的抽象;在OA、CRM、ERP等各种系统中随处可见工作流,如请求、报销、购物等。 - BPM(Business Process Management,业务流程管理)提供业务流程建模、自动化、管理与优化的准则和方法。
BPM由工作流和企业应用集成逐步发展而来,其目的是实现无纸化办公、企业集成技术。
二、Activtit基本概念
- Activiti是开源、轻量级、功能强大的BPM技术,由Tom Baeyens带队开发,遵从BPMN2.0规范。
JBPM3 >>>> JBPM4 >>>> JBPM5
但是JBPM5不是基于JBPM4开发的,因为带队人的离职导致的。
Activiti 才是基于JBPM4开发的
三、特点
- 源于JBPM,为开发者首选
- 强大的API,便捷操作
- 支持Spring集成
- 底层使用MyBatis
- 技术引擎+BPM平台
四、工作流
- activiti工作流中,如果一个任务完成后,存在多个连线,应该如何处理?
- 连线中使用流程变量
- 当一个任务完成之后,根据这几条连线的条件和设置流程变量,例如
${流程变量的名称}
,{}
符号是Boolean类型,在完成任务的时候设置流程变量,从而判断走那条连线
- activiti工作流中,排他网关和并行网关都能执行什么功能
- 排他网关:分支,通过连线设置流程变量,判断执行那条连接线,如果不符合,会执行默认的连接线离开。注意:智能执行其中一条流程。
- 并行网关:可以同时执行多个流程,知道总流程的结束。可以对流程进行分支和聚合。注意:流程实力和执行对象是不一样的。
- 分配个人任务的三种方式
- 直接给值。在
Xxx。bpmn
文件中指定 - 流程变量
${变量名称}
或者#{}
*使用类 监听这个类(实现一个接口),指定任务的办理人(setAssgnee)
- 个人任务和组任务查询
- 都是用
TaskService
完成(TaskService.createTasQuery) - 个人任务(taskAssgnee),组任务(taskCandidateUser)
- 数据库存放,个人任务(类型:参与),组任务(类型,参与,候选)
- 拾取任务(claim),将组任务指定给个人任务。