大多数业务流程需要人机交互。例如, 批准, 异常管理和一些其他相关动作可能需要人员。他们还负责执行增强业务流程所需的活动。
jBPM支持流程内部的不同类型的人工任务节点, 用于对与人工用户的交互进行建模。人工任务节点允许流程设计者定义人工参与者需要执行的任务属性。 jBPM还包括一个后端服务, 该服务在运行时管理任务的生命周期。
要在流程中使用人工任务, 我们需要三个组件:
人工任务生命周期
从流程角度来看, 仅当在流程执行期间遇到用户任务节点时才创建人工任务。现在, 仅当相关的人工任务已完成或中止时, 该过程才会离开用户任务节点。
人工任务本身具有完整的生命周期。下图描述了人工任务的生命周期。
一个新任务在“创建”阶段开始创建。然后它将自动进入“就绪”阶段。这里的任务显示了被允许执行任务的所有参与者的任务列表。该任务将保持在“就绪”阶段, 直到这些参与者之一声称任务已通知他们正在执行该任务。
用户声明任务后, 状态将更改为“保留”阶段。申领任务后, 该用户可以决定开始执行任务。在这种情况下, 任务状态将更改为“进行中”阶段。
最后, 一旦执行了任务, 状态将更改为“已完成”。如果任务未完成, 则用户还可以使用故障响应进行指示。在这种情况下, 状态将更改为“失败”。
人工任务服务允许许多其他生命周期方法, 例如-
- 委派或转发任务。在这种情况下, 它会分配给另一个演员。
- 撤消任务, 不再由任何特定角色声明, 而是重新出现在所有潜在角色的任务列表中
- 临时挂起或恢复任务
- 停止正在进行的任务
- 跳过任务。在这种情况下, 将不会执行任务。
评论前必须登录!
注册