活动
什么是活动
在BPMN 2.0中,活动表示业务流程中的一项Task或一组Task。活动是流程模型的构建元素,用于描述推动流程向前运行所需的具体操作。在BPMN流程图中,活动以圆角矩形表示。
活动类型
-
Task:
- 表示一项需要执行的基本工作,是不可再分的单一活动。
- 示例:“发送发票”或“审批申请”。
-
子流程:
- 由一组Task或其他流程组成的复合活动。
- 可展开以显示所有内部Task,也可折叠为单个活动。
- 示例:招聘流程可以作为员工入职流程中的一个子流程。
-
Call Activity:
- 由其他流程调用(启动)的可复用流程或子流程。
- 示例:多个工作流共用的“客户验证”流程。
专用Task类型
Task可根据参与者,以及流程中使用、消耗或生成的对象进行分类。
通用Task
通用Task可作为流程模型的起点。您可以快速添加,之后再根据需要细化为特定子类型。
Manual Task
Manual Task由个人执行,不会直接与流程引擎交互。例如,将文件整理到文件夹中、通过电话处理发票差异,以及在服务柜台与客户面对面沟通。
User Task
User Task由个人执行,并由流程引擎明确分配。引擎会将Task直接放入每位用户的任务队列。完成后,用户需要向引擎确认,通常通过录入数据或点击按钮完成。User Task是人工工作流管理系统的重要组成部分。
常见示例包括审核发票、批准休假申请和处理支持工单。
Receive Task
Receive Task在流程中将接收消息表示为一项独立Task。它是消息捕获事件的一种替代方式,在BPMN 2.0中以空信封符号表示。
Receive Task(启动流程)
如果将Receive Task指定为流程的启动方式,作为消息开始事件的替代方案,其左上角会显示一个小型事件图标。
Send Task
Send Task是由流程引擎执行的技术Task,主要用于通过消息队列异步调用Web服务。
Script Task
Script Task由流程引擎直接执行,必须使用引擎能够解释的语言编写。
Service Task
Service Task表示由软件应用执行的操作,并作为流程工作流的一部分自动运行。BPMN通常假设这些功能通过Web服务提供,但也可以采用其他实现方式。这类Task是面向流程的集成中的关键组成部分,与面向服务的架构(SOA)原则密切相关。
Business Rule Task
BPMN 2.0新增了Business Rule Task,专用于在流程中应用业务规则。
主要特征
- 顺序流:活动通过箭头(顺序流)连接,以确定Task的执行顺序。
- 循环与多实例:部分活动可以重复执行(循环),也可以由多个参与者同时执行(多实例)。
示例
- “审核申请”活动可以表示由管理者审核申请的User Task。该Task可以属于名为“申请处理”的较大子流程。
活动用于定义BPMN模型中的具体流程步骤,以及如何通过开展工作实现预期结果。活动可以是简单Task,也可以是包含多个活动和顺序流条件的复杂子流程。
接下来
其他活动类型包括折叠子流程、多实例Task和临时子Task。