01-activiti工作流概述

1 工作流相关概念

1.1 工作流

工作流(Workflow),是对工作流程及其各操作步骤之间业务规则的抽象、概括、描述。

  • 解决问题:为实现某个业务目标,在多个参与者之间,利用计算机,按某种预定规则自动传递文档、信息或者任务。
  • 主要目标:在计算机的帮助下实现多个参与者之间的协同工作

工作流管理系统(Workflow Management System),通过计算机技术的支持去定义执行管理工作流。

1.2 BPMN规范

BPMN规范全称Business Process Modeling Motation,为了让业务流程的全部参与人员对流程可以进行可视化管理,提供一套让所有参与人员都易于理解的语言和标记。

1.2.1 BPMN2.0概述
  • 规范了流程元素的执行语法。
  • 定义了流程模型和流程图的扩展机制。
  • 细化了事件的组成。
  • 扩展了参与者的交互定义。
  • 定义了编排模型。
1.2.2 BPMN2.0元素

BPMN2.0定义了5个基础的元素类别,如下所示:

  1. 流对象(Flow Objects):用于定义行为的图形元素,主要有事件(Events)、==活动(Activitis)网关(Gateways)==三种流对象。
  2. 数据(Data):主要有数据对象(Data Objects)数据输入(Data Inputs)、==数据输出(Data Outputs)数据存储(Data Stores)==4种元素。
  3. 连接对象(Connecting Objects):用于连接流对象,主要有4种连接流对象的方式,包括顺序流(Sequence Flows)消息流(Message Flows)关联(Associations)数据关联(Data Associations)
  4. 泳道(Swimianes):用于组织基础的模型元素,分别是池(Pools)道(Lanes)
  5. 制品(Artifacts):用于为流程提供附加信息,当前制品包括组(Group)注释(Text Annotation)
元素描述
事件(Events)用于描述流程中发生的事件,事件会对流程产生影响,事件会被触发或者会产生结果
活动(Activities)活动是工作流中一个通用的术语,活动包括任务(Task)和子流程(Sub-Process)
网关(Gateways)网关主要用于控制流程中的顺序流的走向,使用网关可以控制流程进行分支与合并
顺序流(Sequence Flow)顺序流显示流程将会执行哪个活动
消息流(Message Flow)消息流主要用于显示消息在流程参与者之间的传递情况
关联(Association)主要用于连接流程元素及其制品(流程信息)
池(Pool)存放道的容器
道(Lane)用于区分流程参与人的职能范围
数据对象(Data Object)数据对象主要表示活动需要的或者产生的信息
消息(Message)消息主要用于描述流程参与者之间的沟通内容
组(Group)主要用于存放一些流程信息,包括流程文档、流程分析信息等
注释(Text Annotation)主要为阅读流程图的人提供附加的文字信息

2 Activiti概述

Activiti是一款使用Java开发,实现了BPMN2.0规范的开源工作流引擎,它是一种轻量级、可嵌入的、完美与Spring集成的BPM引擎。

2.1 Activiti的特点

  1. Activiti引擎提供了七大Service接口,都可以通过ProcessEngine获取,并且支持链式调用方式。
  2. 多种IDE开发平台的流程设计器支持,并且也有自己的Web流程设计器。
  3. 与Spring整合方便,很方便的管理事务和解析表达式。
  4. 运行时数据与历史数据分离,大幅提高数据的存取效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值