我正在对业务流程进行建模,并尝试了解系统如何协同工作来支持该流程。我之前曾使用 JIRA 通过工作流实现了很多流程。在那里,我们定义票证、状态和转换来定义工作流程功能。
现在我们正在探索 BPMN 以支持业务流程。这里的构造包括 token 和任务。我们用来实现此类流程的系统(我们使用 Camunda)也将它们作为主要构建 block 。
我想了解这些方法的哲学差异,以及是什么决定了我应该遵循哪一种。
最佳答案
BPMN 旨在描述业务流程,而无需软件系统的所有技术细节。因此,BPMN 图可用于与技术人员以及管理人员讨论业务流程。因此,对于如何详细使用 BPMN 进行流程描述并没有固定的规则。
一般来说,有两种方法可以使用 BPMN 描述流程。
以任务为导向
在此建模风格中,task
元素描述应按顺序处理的事件。这些事件可以是“创建发票”、“完成订单”、“取消订单”、“更新数据库” em>'....
网关和条件可用于在流程中路由“ token ”。采用面向任务的方法的工作流引擎(例如 JBPM 或 Activiti )从开始事件立即执行任务,直到到达流程流的结束事件。
以事件为导向
在面向事件的样式中,task
元素描述流程的状态。状态可以是“批准”、“等待分配”、“已接受”、“已完成” >', ....
事件元素可用于指示事件更改状态,例如“批准”、“拒绝”、“接受”... 。
具有面向事件的方法的工作流引擎(例如 Imixs-Workflow )保留流程实例的状态并对外部事件使用react。
面向事件的流程设计可用于描述长时间运行的流程。
因此,如果您想表达流程中的事件,那么面向任务的方法就是正确的方法。
如果您想表达流程状态,那么面向事件的方法是正确的方法。
关于jira - 在流程设计中将步骤命名为任务与状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56071075/