我正在对业务流程进行建模,并试图了解系统如何协同工作以启用流程。我以前使用JIRA通过工作流来实现许多流程。在那边,我们定义故障单,状态和过渡以定义工作流功能。
目前,我们正在探索BPMN以启用业务流程。这里的构造包括令牌和任务。用于实现此过程的系统(我们使用Camunda)也将它们作为其主要构建块。
我想了解这些方法的哲学差异,以及什么决定应该遵循哪种方法。
答案 0 :(得分:0)
BPMN旨在描述没有软件系统的所有技术细节的业务流程。结果,可以使用BPMN图与技术人员以及管理人员讨论业务流程。因此,对于如何在流程描述中详细使用BPMN没有固定的规则。
通常,有两种方法可以描述BPMN的流程。
面向任务
在这种建模风格中,task
元素描述了应按顺序处理的活动。这些活动可以是“ 创建发票”,“ 完整订单”,“ 取消订单”,“ 更新数据库”之类的东西。 em>'....
网关和条件可用于在您的流程中路由您的“令牌”。采用面向任务的方法(例如JBPM或Activiti)的工作流引擎从开始事件立即开始执行任务,直到达到流程流的结束事件为止。
面向事件
在面向事件的样式中,task
元素描述了流程的状态。状态可以是“ 正在批准”,“ 等待分配”,“ 已接受”,“ 已完成',....
事件元素可用于指示事件以更改状态,例如“ 批准”,“ 拒绝”,“ 接受” ... 。
采用面向事件的方法(例如Imixs-Workflow)的工作流引擎将保持流程实例的状态并对外部事件做出反应。
面向事件的流程设计可用于描述长时间运行的流程。
因此,如果您想在流程中表达活动,那么面向任务的方法就是正确的选择。
如果您想表达流程的状态,那么面向事件的方法就是正确的方法。