我正在对一个业务流程进行建模,并试图了解系统如何协同工作来实现该流程。我之前使用JIRA通过工作流实现了很多流程。在那里,我们定义了票证、状态和转换,以定义工作流功能。
现在,我们正在探索BPMN以支持业务流程。这里的构造包括令牌和任务。我们用来实现这样一个过程的系统(我们使用Camunda)也包括它们作为它们的主要构建块。
我想了解这些方法的哲学差异,以及是什么决定了我应该遵循哪种方法。
发布于 2019-05-13 05:06:18
BPMN旨在描述没有软件系统所有技术细节的业务流程。因此,可以使用BPMN图与技术人员和管理人员讨论业务流程。因此,对于如何在流程描述中详细使用BPMN,没有固定的规则。
通常,有两种使用BPMN描述流程的方法。
面向任务的
在这种建模风格中,task元素描述了应该按顺序处理的活动。这些活动可以是“创建发票”、“完成订单”、“取消订单”、“更新数据库”……。网关和条件可用于在您的进程中路由您的“令牌”。采用面向任务的方法(如JBPM或Activiti)的工作流引擎从开始事件立即执行任务,直到到达流程流的结束事件。
面向事件的
在面向事件的样式中,task元素描述流程的状态。状态可以类似于“正在审批”、“等待分配”、“已接受”、“已完成”、....事件元素可以用来发信号通知事件更改状态,如“approve”、“reject”、“accept”……工作流引擎使用面向事件的方法(例如Imixs-Workflow)来持久化流程实例的状态,并对外部事件做出反应。面向事件的流程设计可用于描述长时间运行的流程。
因此,如果您想在process中表达活动,那么面向任务的方法是正确的。
如果您想表达流程的状态,那么面向事件的方法是正确的。
https://stackoverflow.com/questions/56071075
复制相似问题