01-认识Activiti

简介: ascasca

1 什么是工作流
类似如请假、离职、出差、报销这种有审批流程的业务,我们都可以称之为工作流(也叫流程引擎),它可以帮助用户实现一个审批流程的可视化,借助于工作流引擎可以搭建客户关系管理系统(CRM)、运输管理系统(TMS)、仓储管理系统(WMS)、财务费用系统等多种复杂业务系统。其实现基本形如下图:
请假流程示例:

从下周一起我要请三天年假,回家探

为您创建请假流程,请确认:

接收人:李软,王别,冯立峰,李梦珂

批准于2018-05-2609:26:58

维森请假流程-陈杰-2018-05-30

准于2018-052609:26:58

2018-060218:0

6871%

请假类型:年值

维森销售部一部

2018-05-3009:00

2018-06-0118:00

2018-05-3009:00

泛微请假流程

请假结东时间

L中国联通

假开始时间

共3.0天

剩余假期

交于2018-05-260926:58

E871%0

)请签批

请假时间:

节点:经理审批

2)个请签批

中国联通

节点:申请人申请

下午2:50

接收人:鲁灵

接收人:杨文元

流程表单

小E助手

请假事由:

假类型

轻点以编辑

流程表单

回家探亲

流转意见

回家探亲

请假事庄

操作:审批

转意见

1中国联通

部门

返回

假天数

提交

标题

杨文元

操作:抄送

<返回

点:经理审批

确定

下午2:50

转发

同意

杨文元

取消

<返回

陈杰

作:提交

年假

下午2:50

3天

口M

姓名

2

071%

2

M贴


出差流程示例:

泛微出差流程-杨文元-2017-12-2

出差日期是否一致

泛微出差流程

结束日期2017-12-25

是否选择规定的仓位(经济仓)

陆丰中国国航CA1858经济舱

部门负责人审批同意

上海---北京

提交于2017-12-22160000

出差开始日期2017-12-

出差结束时间

陆丰中国国航CA1858经济舱

是否无费用项超标

是否在规定航程范围内容

价格是否在6折范围内

管领导审批同意

差开始时间09:00

2017-12-250900-11:1

流程表单

201712250300511:10

是否无超费用预算

12420171220

部门负责人审批

看订单信息

EEEOOVIRGIN

)2请签排

选彩12定仓位2(经济

营销管理部

BUSINESSPROCESS

2017-12-20

申请编号

2请签拍

机票信息

申请日期

:价格在6新范围钠

机票信息

观:费用项8标

C2OK

是咨天云用

660.00

程表单

出芒日期一致

流程表单

申请部门

4:21PM

18:00

流转意见

返回

$22%二

S

全部退票

返回

全部退票

总经理审批

4:21PM

提交

申请人

EEEOOVRG

杨文元

标题

转发

O

杨文远

4:21PM

合规校验...

提交

<返回

O

同意

订票

8

出差结束日期20

8

22%1


为了满足这种复杂的单节点审批、多节点审批[一个人审批通过即可、多人必须同时审批通过]业务场景,我们不能借助于传统关系型数据库实现,更无法简单的借助于状态机就实现,此时工作流引擎应运而生。
工作流引擎从笔者最早的BPMN发展到Activity,再到国内自主研发的FlowAble、NatureFlow等,随着技术的更新换代,也衍生出:泛微金蝶用友等一大批优秀企业。
2 主流技术选型
bpmn:(Business Process Model And Notation),最为传统的工作流典范
activiti:以java为中心的开源BPMN引擎,支持现实世界的流程自动化需求
flowable: 使用 Java 编写的轻量级业务流程引擎,是activiti核心开发人员离职后二次开发出的框架。
3 Activiti流程概述

工作流引擎行为

保存流程资源

析业务流程

生成流程实例

关联数据

启动工作流

创建模板

读取流程定义

用户行为

业务模板

编辑模型图

找到流程定义

是爱有

关联数据

部署流程

用户任务

用户审批

部署单元

判断是否

启动流程

流程定义

创建工作流

找到模型

模型

结束

(表单)

任务

执行


若有收获,就点个赞吧


相关文章
|
7月前
|
机器学习/深度学习 人工智能 自然语言处理
如何准确检测AI生成内容?这三大技术是关键
如何准确检测AI生成内容?这三大技术是关键
1130 116
|
5月前
|
负载均衡 算法 Java
|
5月前
|
缓存 Java 关系型数据库
|
5月前
|
canal 缓存 关系型数据库
|
4月前
|
监控 数据可视化 安全
版本管理与产品迭代:规划、执行、工具与复盘全流程
本文系统阐述如何将产品版本管理从“发布流程”升级为“战略执行工具”,提出战略型、平台型、功能型、维护型四大版本分层体系,结合目标对齐、迭代拆解、风险管控与复盘优化四步法,助力团队实现从被动响应到主动规划的跃迁,提升产品竞争力与研发效能。
|
10月前
|
Java
String.format 详解
在 Java 中,String.format 是一个用于格式化字符串的静态方法。它允许你按照特定的格式将数据插入到字符串中。String.format 通过使用占位符和格式化标记,可以生成具有指定格式的字符串。
1263 4
|
11月前
|
测试技术 开发工具 开发者
HarmonyOS Next快速入门:了解项目工程目录结构
本教程旨在帮助开发者快速上手HarmonyOS应用开发,涵盖从环境搭建到工程创建的全流程。通过DevEco Studio创建首个项目时,选择“Application”与“Empty Ability”,配置项目名称、包名、保存路径等关键信息后完成创建。代码示例展示了基本UI组件的使用,如`Hello World`文本显示与交互逻辑。此外,详细解析了工程目录结构,包括AppScope自动生成规则、主模块(entry)的功能划分、依赖配置文件(oh-package.json5)的作用,以及app.json5中包名、版本号等全局配置项的含义。
536 5
|
人工智能 计算机视觉 开发者
SmartEraser:中科大推出图像对象移除技术,轻松移除照片中的不想要元素,保留完美瞬间
SmartEraser 是由中科大与微软亚洲研究院联合开发的图像编辑技术,能够精准移除图像中的指定对象,同时保留周围环境的细节和结构,适用于复杂场景的图像处理。
474 8
SmartEraser:中科大推出图像对象移除技术,轻松移除照片中的不想要元素,保留完美瞬间
|
SQL 存储 BI
如何在 SQL Server 中使用 `CONCAT`
【8月更文挑战第10天】
1840 3
如何在 SQL Server 中使用 `CONCAT`