没有合适的资源?快使用搜索试试~ 我知道了~
Activiti是目前使用最为广泛的开源工作流引擎,2010年5月就正是启动了。在了 解Activiti之前,我们首先要了解下什么是工作流。 关于什么是工作流,有一个官方的定义: 工作流是指一类能够完全自动执行的经 营过程,根据一系列规程规则,将文档、信息或任务在不同的执行者之间进行传递 和执行。其实说直白一点,就是业务上一个完整的审批流程。例如员工的入职、请 假、出差、采购等等、还有一些关键业务如订单申请、合同审核等等,这些过程, 都是一个工作流。 对于工作流,传统的处理方式往往需要有人拿着各类的文件,在多个执行部门之 间不断的审批。而当我们开始用软件来协助处理这一类审批流程时,就开始出现了 工作流系统。工作流系统可以减少大量的线下沟通成本,提高工作效率。 本文将带你快速入门!
资源推荐
资源详情
资源评论
Activi7工作流经典实战
一、Activiti7介绍
1.1 工作流WorkFlow
1.2 Activiti工作流引擎
1.3 建模语言BPMN
1.4 Activiti使用步骤
二、Activiti环境搭建
2.1 安装插件
2.2 初始化数据库表
2.3 表结构解读
2.4 Activiti核心类
RuntimeService
TaskService
HistoryService
ManagementService
三、Activiti入门
3.1 流程符号详解
3.2 定制一个简单的请假流程
3.3 部署请假流程
3.4 启动流程实例
3.5 任务查询
3.6 流程任务处理
3.7 流程信息查询
3.8 删除流程
3.9 流程资源下载
3.10 流程历史信息查看
3.11 篇章总结
四、Activiti进阶
4.1 流程定义与流程实例
4.1.1 启动流程实例时,添加Businesskey
4.1.2 挂起、激活流程实例
4.2 流程变量
4.2.1 流程变量的作用域
4.2.2 使用流程变量
4.2.3 设置Global流程变量
1) 启动流程时设置变量
=== 图灵: 楼兰 ===
2) 任务办理时设置变量
3) 通过当前流程实例设置
4) 通过当前任务设置
注意事项
4.2.4 设置Local流程变量
1) 任务办理时设置
2) 通过当前任务设置
4.3 网关
4.3.1 排他网关ExclusiveGateway
4.3.2 并行网关ParallelGateway
4.3.3 包含网关InclusiveGateway
4.3.4 事件网关EventGateway
4.4 个人任务管理
4.4.1 分配任务负责人
4.5 组任务分配
4.5.1 设置多个候选责任人
4.5.2 组任务办理流程
1、查询组任务
2、拾取(claim)任务
3、查询个人任务
4、办理个人任务
5、归还组任务
数据库表操作
五、Activiti与Spring整合
六、Activiti7与SpringBoot整合开发
1、引入maven依赖
2、创建配置文件application.yml
3、编写启动类
4、创建BPMN文件
5、使用junit方式测试
6、快速集成SpringSecurity安全框架
6、测试与Security的集成
Activi7工作流经典实战
一、Activiti7介绍
Activiti是目前使用最为广泛的开源工作流引擎,2010年5月就正是启动了。在了
解Activiti之前,我们首先要了解下什么是工作流。
1.1 工作流WorkFlow
关于什么是工作流,有一个官方的定义: 工作流是指一类能够完全自动执行的经
营过程,根据一系列规程规则,将文档、信息或任务在不同的执行者之间进行传递
和执行。其实说直白一点,就是业务上一个完整的审批流程。例如员工的入职、请
假、出差、采购等等、还有一些关键业务如订单申请、合同审核等等,这些过程,
都是一个工作流。
对于工作流,传统的处理方式往往需要有人拿着各类的文件,在多个执行部门之
间不断的审批。而当我们开始用软件来协助处理这一类审批流程时,就开始出现了
工作流系统。工作流系统可以减少大量的线下沟通成本,提高工作效率。
有了工作流系统之后,才开始出现工作流引擎。在没有专门的工作流引擎之前,
我们为了实现这样的流程控制,通常的做法都是采用状态字段的方式来跟踪流程的
变化情况。例如对一个员工请假请求,我们会定义已申请、组长已审核、部门经理
已审核等等这样一些状态,然后通过这些状态来控制不同的业务行为,比如部门经
理角色只能看到组长已审核通过的,并且请假天数超过3天的订单等等。
这种实现方式实现起来比较简单,也是软件系统中非常常用的一种方式。但是这
种通过状态字段来进行流程控制的方式还是有他的弊端。
一方面:整个流程定义不够清晰。业务流程是分散在各个业务阶段中的,从代码
的角度非常难以看到整个流程是如何定义的。
另一方面:当流程发生变更时,这种方式编写的代码就需要做非常大的变更。例
如从三级审批要增加为四级审批甚至是协同审批,那各个业务阶段的审批流程都需
要随之做大量的变更。
正是出于这些痛点,后面才有了工作流引擎。使用工作流引擎后,整个审批流程
可以在同一个地方进行整体设计,并且当审批流程发生变更时,业务程序也可以不
用改变。这样业务系统的适应能力就得到了极大提升。
其实引擎的思想无处不在。我们有Drools规则引擎,可以在程序不发生
变动的情况下,集中定义业务规则并进行修改。Aviator表达式引擎,可
以快速计算某一个表达式的结果。搜索引擎,可以快速进行统一搜索等
等。其核心思想都是将业务之间的共性抽取出来,减少业务变动对程序
的影响。
1.2 Activiti工作流引擎
Activiti正是目前使用最为广泛的开源工作流引擎。Activiti的官网地址是 https://
www.activiti.org 历经6.x和5.x两个大的版本,目前最新的版本是 Activiti Cloud
7.1.0-M11。
他可以将业务系统中复杂的业务流程抽取出来,使用专门的建模语言BPMN2.0进
行定义。业务流程按照预先定义的流程执行,整个实现流程完全由activiti进行管
理,从而减少业务系统由于流程变更进行系统改造的工作量,从而减少系统开发维
护成本,提高系统的健壮性。所以使用Activiti,重点就是两个步骤,首先使用
BPMN定义流程,然后使用Activiti框架实现流程。
1.3 建模语言BPMN
谈到BPMN,首先就要谈BPM。 BPM即Business Process Managemenet,业
务流程管理。是一种规范化的构造端到端的业务流程,以持续的提高组织业务效
率。在常见的商业管理教育如EMBA、MBA中都包含了BPM的课程。
有了BPM的需求,就出现了BPM软件。他是根据企业中业务环境的变化,推进人
与人之间,人与系统之间以及系统与系统之间的整合及调整的经营方法域解决方案
的IT工具。通过对企业业务流程的整个生命周期进行建模、自动化、管理监控和优
化,使企业成本降低,利润得到提升。BPM软件在企业中应用非常广泛,凡是有业
务流程的地方都可以使用BPM进行管理。比如企业人事办公管理、采购流程管理、
公文审批流程管理、财务管理等。
而BPMN是Business Process Model And Notation 业务流程模型和符号,就是
用来描述业务流程的一种建模标准。BPMN最早由BPMI(BusinessProcess
Management Initiative)方案提出。由一整套标准的业务流程建模符号组成。使用
BPMN可以快速定义业务流程。
BPMN最早在2004年5月发布。2005年9月开始并入OMG(The Object
Managemenet Group)组织。OMG于2011年1月发布BPMN2.0的最终版本。
BPMN是目前被各大BPM厂商广泛接受的BPM标准。Activiti就是使用BPMN2.0进
行流程建模、流程执行管理。
整个BPMN是用一组符号来描述业务流程中发生的各种事件的。BPMN通过在这
些符号事件之间连线来描述一个完整的业务流程。
而对于一个完整的BPMN图形流程,其实最终是通过XML进行描述的。通常,会
将BPMN流程最终保存为一个.bpmn的文件,然后可以使用文本编辑器打开进行查
看。而图形与xml文件之间,会有专门的软件来进行转换。
剩余65页未读,继续阅读
资源评论
三横同学
- 粉丝: 8457
- 资源: 19
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 农村信用社联合社计算机信息系统投产与变更管理办.docx
- 农村信用社联合社计算机信息系统数据管理办法.docx
- 利用SPSS作临床效度分析线上计算网站介绍-医学研究部统计谘.(医学PPT课件).ppt
- 利用Zabbix监控mysqldump定时备份数据库状态.docx
- 利用计算机解决问题的基本过程.doc
- 化工铁路通信工程总结.doc
- 北京大学网络教育软件工程作业.docx
- 医药公司(连锁店)计算机操作规程未新系统的自行按照旧制修改-新系统过制的编号加修模版.doc
- 医药公司(连锁店)计算机系统操作规程模版.doc
- 医药连锁门店计算机系统的操作和管理程序未新系统的自行按照旧制修改-新系统过制的编号加修模版.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功