BPMN中的任务和活动之间有什么区别?

  就像所有正方形都是矩形,但不是所有矩形都是正方形一样,所有任务都是活动,但并非所有活动都是任务。

在BPMN术语中,活动表示由组或组织完成的工作流程、子流程或任务。有些活动是原子的(一项任务),而另一些则不是原子的(有子流程),可以进一步分解。

因此,在讨论流程和工作时使用通用术语“活动”,但是如果你想表达清晰,那么应该使用术语流程,子流程和任务。

任务有时也表达为一个流程节点,任何一个流程节点都需要一个动作使其触发,在事件溯源EventSourcing中称为命令,节点接受命令处理后,会触发相应的事件,流程中节点事件通过事件监听器来实现。当然流程也可以用中间事件这样的图形符号明确表达一个事件。

任务类型有用户任务和服务任务两种主要类型,分别代表人工要介入做的事情和机器自动做的事情:

1. 用户任务UserTask: 人工介入要完成的任务,比如同意与否,或者输入一些参数,要让人工完成任务,就需要一个表单系统,让人工输入数据,或者显示数据给人看,这也是为什么用户任务和表单系统结合在一起的原因,用户任务需要用户向引擎提交一个完成任务的动作,否则流程会暂停在这里等待。

2. 服务任务:调用服务的任务,这个服务可以是一个Spring JavaBean,也可以远程REST服务,流程会自动执行服务任务。

 

流程专题

事件主题