如何解决在 BPMN 中何时使用事件何时使用任务?
在下图中,为什么 task 1
和 task 2
之间有一个事件?如果等待是流程执行中的“活动任务”(例如等待,意味着静坐不动,什么也不做),我可以用任务替换事件吗?还是应该同时使用任务和事件?
图片来源:https://blog.goodelearning.com/subject-areas/bpmn/common-bpmn-modeling-mistakes-best-practices-basic-events/
这个例子可能会更清楚一点,我到底应该在什么时候使用 1,什么时候应该使用 2 以及它们什么时候都有效?
解决方法
希望我的回答对你有所帮助。让我从选项 2 开始,忙于等待:
您可能知道在编程中,异步(基于触发器)等待优于忙等待,因为它在您的 CPU 中消耗更少的周期,因此代码将更多地并行运行并且通常更快。也就是说,因为操作系统通常知道如何正确地“等待某个时间或直到某个事件”。
同样,在 BPM 中,您不会支付一半的时间让您的员工坐在某处积极等待某事完成。作为一个真实的例子,让我们以餐厅的服务员为例。假设他们必须加热昨天准备好的饭菜,功率正好为 600 瓦,加热时间为 2 分 21 秒。让服务员坐在微波炉前,让他们拿着秒表等待时间过去时停止微波炉是没有意义的。相反,他们可以在餐厅为顾客服务,一听到微波炉的声音信号就回来。 (多任务处理)。此外,如果时间发生变化 - 假设更大的部分,即 3 分钟 - 那么服务员的工作流程不会改变:他们仍然等待铃声响起,还有 39 秒给服务员顾客。由于忙于等待,您将不得不更改工作流程(告诉服务员在他们的秒表上检查不同的时间跨度)。
与所有这些相比,让我们采用第一种方法:它在计算上更合理,而且从业务角度来看也更有意义。触发器本身可以改变(例如,从定时触发器到你老板的电子邮件触发器),但触发的事件 - 从而继续下一步 - 保持不变。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。