任务

在 BPMN 中,任务(task) 是流程中的一个原子活动,代表一个人或一个应用程序执行的工作。 任务是定义业务流程中工作单元的基本元素。

原子 是说在流程模型中已无法进一步分解。 如果一个活动可以解构为更小的单元,则应该使用一个 子流程。

任务之间通过 顺序流 连接,定义流程中的执行顺序。

任务类型

BPMN 定义了不同类型的任务表示不同的行为和执行者。 任务类型通过任务图形左上角的符号区分。 任务类型包括:

抽象任务

一个没有特定类型的任务。 可以在任务的行为较模糊时使用。

带 抽象任务 的流程可以部署,但是流程引擎会忽略抽象任务。

用户任务

由人类用户在软件应用程序的帮助下执行。

服务任务

使用 Web 服务、自动化应用程序或通过其他服务执行任务。

手动任务

不使用任何流程引擎完成的任务。Jmix BPM 不支持。

业务规则任务

向业务规则引擎提供输入并获取输出。

脚本任务

由业务流引擎通过执行一个预定义的脚本完成。

实体数据任务

在业务流程内处理 Jmix 实体。

发送电子邮件任务

在业务流程内发送电子邮件。

附加标记

任务可以使用标记以表示特殊的行为,例如:

循环

任务会需要一直重复,直到某个条件达成。Jmix BPM 不支持。

多实例

任务需要并行或顺序执行多次。 参阅 多实例 部分的内容。

扩展属性

还可以为任务创建扩展属性:

extension properties

在 XML 中,扩展属性使用 jmix:property 定义:

<serviceTask id="service-task" name="Service Task" >
<!--    . . .   -->
<extensionElements>
<!--   . . .    -->
    <jmix:properties>
      <jmix:property name="color" value="red" />
    </jmix:properties>
  </extensionElements>
</serviceTask>

执行监听器

可以为任务定义执行监听器。参阅 执行监听器。