同一池中的 BPMN 通知
BPMN notifications in the same pool
所以我明白如果我想通知另一个池,我可以有一个名为 "notify client about succesful purchase" 的任务。
我的问题是,当我想在通道之间发送通知时会发生什么?
比如我在同一个pool里有一个seller和一个supervisor,seller要通知管理员有订单在路上。这可以是任务吗?或者在池中,您不必通知任何内容,只需绘制流程实体的流程(在本例中为订单)?
无论在一个池中发生什么(甚至跨车道)都是你的流程。你不在那里使用通知。
现在,如果卖家必须通知管理员并同时继续处理订单,则您必须同时进行流程。因此,添加您的并行网关(内部带有加号的菱形)并继续两个流程,一个用于主流程,第二个用于管理员任务。如果您需要以某种形式化的方式通知您,您可以添加一个任务 Notify administrator
,但它随后会以正常的流程流程继续执行管理员的任务,并且 而不是 一条消息(例如去其他游泳池时)。
如果您不需要再处理任何事情,或者您将信息传递给管理部门并等待进一步的步骤,直到他们完成他们的工作,您只需在此处使用一个没有网关的简单流程,一旦管理员完成返回随着你的流向你的车道,并根据需要继续。
简单的经验法则:
消息且只有消息从一个池发送到另一个池。
流量并且只有流量留在池中(它可以跨车道)。
数据是辅助,这里不考虑
A Message Flow MUST connect two separate Pools. They connect either to
the Pool boundary or to Flow Objects within the Pool boundary. They
MUST NOT connect two objects within the same Pool.
A Send Task is a simple Task that is designed to send a Message to an
external Participant (relative to the Process).
根据Object Management Group 摘自BPMN 2.0 规范的上述摘录,我们不能使用消息流或发送任务来表示进程池内的消息通信。因此,我的建议是使用简单的 系统任务 "Notify Administrator"
此外,我会使用任务而不是 "throw intermediate message event",因为我从您的要求了解到必须始终通知管理员,因此这成为流程中的任务,而不是可能或可能发生的事件不会发生。
所以我明白如果我想通知另一个池,我可以有一个名为 "notify client about succesful purchase" 的任务。 我的问题是,当我想在通道之间发送通知时会发生什么?
比如我在同一个pool里有一个seller和一个supervisor,seller要通知管理员有订单在路上。这可以是任务吗?或者在池中,您不必通知任何内容,只需绘制流程实体的流程(在本例中为订单)?
无论在一个池中发生什么(甚至跨车道)都是你的流程。你不在那里使用通知。
现在,如果卖家必须通知管理员并同时继续处理订单,则您必须同时进行流程。因此,添加您的并行网关(内部带有加号的菱形)并继续两个流程,一个用于主流程,第二个用于管理员任务。如果您需要以某种形式化的方式通知您,您可以添加一个任务 Notify administrator
,但它随后会以正常的流程流程继续执行管理员的任务,并且 而不是 一条消息(例如去其他游泳池时)。
如果您不需要再处理任何事情,或者您将信息传递给管理部门并等待进一步的步骤,直到他们完成他们的工作,您只需在此处使用一个没有网关的简单流程,一旦管理员完成返回随着你的流向你的车道,并根据需要继续。
简单的经验法则:
消息且只有消息从一个池发送到另一个池。 流量并且只有流量留在池中(它可以跨车道)。
数据是辅助,这里不考虑
A Message Flow MUST connect two separate Pools. They connect either to the Pool boundary or to Flow Objects within the Pool boundary. They MUST NOT connect two objects within the same Pool.
A Send Task is a simple Task that is designed to send a Message to an external Participant (relative to the Process).
根据Object Management Group 摘自BPMN 2.0 规范的上述摘录,我们不能使用消息流或发送任务来表示进程池内的消息通信。因此,我的建议是使用简单的 系统任务 "Notify Administrator"
此外,我会使用任务而不是 "throw intermediate message event",因为我从您的要求了解到必须始终通知管理员,因此这成为流程中的任务,而不是可能或可能发生的事件不会发生。