jira - 在流程设计中将步骤命名为任务与状态
问题描述
我正在为业务流程建模,并试图了解系统如何协同工作以启用该流程。我之前使用 JIRA 通过工作流实现了很多流程。在那里,我们定义了一个工单、状态和转换来定义工作流功能。
现在我们正在探索 BPMN 以启用业务流程。这里的构造包括令牌和任务。我们用来实现这样一个过程的系统(我们使用 Camunda)也将它们作为它们的主要构建块。
我想了解这些方法的哲学差异以及决定我应该遵循哪一种方法的原因。
解决方案
BPMN 旨在描述没有软件系统所有技术细节的业务流程。因此,BPMN 图可用于与技术人员以及管理人员讨论业务流程。因此,对于如何详细使用 BPMN 来进行流程描述,并没有固定的规则。
一般来说,有两种方法可以用 BPMN 描述流程。
任务导向
在这种建模风格中,task
元素描述了应该按顺序处理的活动。活动可以是“创建发票”、“完成订单”、“取消订单”、“更新数据库”...... 网关和条件可用于通过您的流程路由您的“令牌”。具有面向任务的方法的工作流引擎(例如JBPM或Activiti)从开始事件立即执行任务,直到到达流程流的结束事件。
面向事件
在面向事件的风格中,task
元素描述了过程的状态。状态可以是“批准中”、“等待分配”、“已接受”、“已完成”等。事件元素可用于表示更改状态的事件,如“批准”、“拒绝” ', ' accept '.... 具有面向事件的方法(例如Imixs-Workflow)的工作流引擎正在保持流程实例的状态并对外部事件做出反应。面向事件的流程设计可用于描述长期运行的流程。
因此,如果您想在流程中表达活动,那么面向任务的方法是正确的方法。
如果您想表达您的流程状态,那么面向事件的方法是正确的方法。
推荐阅读
- java - 如何在eclipse的项目方面选择多个选项
- azure-devops - Azure 管道跳过计划的作业
- docker - 如何从会话端口中的 docker ps 中删除对 ipv6 绑定的提及?
- r - 如何在不触及缺失值的情况下用插值替换值?
- spring - 如何修复 TransientPropertyValueException:对象引用未保存的瞬态实例 - 在刷新之前保存瞬态实例
- c++ - 为什么数组没有统一的初始化程序?
- ibm-midrange - 具有预填充元素的 iSeries / IBM i 命令 (CMDSRC)
- sql - Least 和 Greatest 函数为负值提供错误值
- java - 在接口中创建具体实现的新实例 - 这是反模式吗?
- gradle - Grails 4 https://repo.grails.org/grails/core 不再能够下载依赖项