学习篇-Activiti-01-工作流
一、工作流相关概念
- 工作流定义:
- 工作流是对工作流程及其各操作步骤之间业务规则的抽象、概括、描述。
- 工作流建模:
- 即将工作流程中的工作如何前后组织在一起的逻辑和规则,在计算中以恰当的模型进行表示并对其实施计算。
- 要解决的问题:
- 是为了实现某个业务目标,利用计算机在多个参与者之间按某种预定规则自动传递文档、信息或者任务。
- 工作流管理系统:WfMS【Workflow Management Systems】
- 是处理工作流的电脑软件系统
- 主要功能是通过计算机技术的支持去定义、执行和管理工作流,协调工作流执行过程中工作之间以及群体成员之间的信息交互。
- 工作流需要依靠工作流管理系统来实现的
- 计算机支持的协同工作:CSCW【Computer Supported Cooperative Work】
- 是普遍地研究一个群体如何在计算机的帮助下实现协同工作的
- 工作流属于计算机支持的协同工作(CSCW)的一部分
- 工作流管理联盟:WFMC【WorkFlow Management Coalition】
- 工作流技术标准化的工业组织,成立于1993年8月
- 工作流管理联盟发布了用于工作管理系统之间相互操作的工作流参考模型,并相继制定了一系列工业标准。
二、为什么需要工作流
- 产品需求遗漏,开发上线后需求经常改
- 业务代码如此复杂,DDL【deadline截止日期】的时间紧急
- 时间流逝,文档缺失,PM【Project Management项目管理】让RD【Research and Development engineer研发工程师】刨代码梳理流程
三、使用工作流的好处
- 流程对项目的好处:
- 可以快速响应、灵活调整线上流程。
- 业务和开发基于流程模型沟通,基于业务构建模块快速部署
- 流程可视化,方便查看流程的运行进展
- 工作流对团队的好处:
- 提供效率,减少等待
- 规范行为,落实制度
- 协同内外,快速响应
- 监控全面,提升执行
四、BPMN2.0规范【全称:Business Process Model And Notation】
-
发展历史
- 2004年BPMI 组织发布1.0版本,全称Business Process Modeling Notation
- 2008年1月发布 BPMN 1.1规范
- 2011年1月发布BPMN2.0,全称改为 Business Process Model And Notation(业务流程模型和符号)
-
BPMN是什么
- 定义了业务流程的符号以及模型,并且为流程定义设定了转换模式,同是定义流程描述文件语法。
-
BPMN规范的作用
- 为了让业务流程的全部参与人员对流程可以进行可视化管理,提供一套让所有参与人员都易于理解的语言和标记, 为业务流程的设计人员(非技 术人员)和流程的实现人员(技术人员) 建立起一座桥梁。
-
BPMN2.0元素
-
BPMN 中定义了 5 个基础的元素类别。
- 流对象( Flow Objects ):在一个业务流程中,流对象是用于定义行为的图形元素, 主要有事件 (Events )、活动( Activities )和 网关( Gateways ) 三种流对象 。
- 数据( Data ):主要有数据对象( Data Objects )、数据输入 ( Data Inputs )、数据输 出( Data Inputs )和数据存储( Data Stores) 4 种元素。
- 连接对象( Connecting Objects ):用于连接流对象, 主要有 4 种连接流对象的方式 , 包括顺序流( Sequence Flows )、消息流( Message Flows )、 关联( Associations )和 数据关联( Data Associations )。
- 泳道( Swimlanes ):泳道提供了两种途径用于组织基础的模型元素,分别是池( Pools) 和道( Lanes )。
- 制品(Artifacts ):制品主要用于为流程提供附加信息, 当前制品包括组( Group )和 注释( Text Annotation )。
-
BPMN对应的图形
-
五、工作流的技术选型
- 主流工作流引擎
- Activiti
- Flowable
- jBPM
- Snaker
- ccflow
- 对比Activiti和jBPM
- Activiti6.0的优势
- 老牌、成熟、稳定、满足BPMN2.0规范。
- 用户众多、社区活跃、趋势良好。
- 易于上手基于spring、mybatis常用互联网技术堆栈。