使用jBpm支持高级用户交互模式
2010-01-21 00:00:00 来源:WEB开发网许多通用业务流程都包含人类参与者。人类活动,从简单场景(如人工批准)到复杂场景(涉及复杂的数据输入),在流程实现中引入了新的方面,如人类交互模式。人类交互模式的一个典型集合包括:
四眼原则(The 4-eyes principle),通常又被称为“职责分离”,它是决策由多人彼此独立作出时的一个常见场景。在很多情况下,很容易就能得到另一个观点/签名。
任命(Nomination)是指上级根据团队成员的任务安排、工作负荷或经验人工地将任务分配给他的情形。
任务通常被建模来表达一种预期:它们将在确定时间段内完成。如果任务没有按预期地进展,就需要一种上报(escalation)机制。两种典型的上报实现是:重新分配任务,并常常附带一个上报已经发生的通知;或任务未按时完成的通知(通常发给经理)。
链状执行(Chained execution)是一个流程(片断),其中的一系列步骤是由同一个人来完成。
jBPM中的任务管理
jBPM的一个核心功能是为人类管理任务和任务列表。jBPM允许将任务和任务节点作为整个流程设计的一部分使用。
任务一般在jBPM中定义成任务节点。单个任务节点可以包含一个或多个任务。包含任务节点的jBPM流程的一个公共行为就是等待任务节点中的全部任务完成,然后继续执行。某个任务可被分配 给个人、用户组或泳道:
假如任务被分配给某个特定用户,那么就只有这个使用者可以执行它。
假如任务被分配给某个用户组,那么这个组内的任何参与者都能执行这个任务。jBPM使用的是参与者池(pooled actors)符号(它可以包含组名、组名列表和参与者个人列表等),而不是组ID。如果用户开始执行在他们组任务列表中的任务,最终可能会引起冲突——可能有多人开始执行相同的任务。为了避免这种情况,在开始执行任务之前,用户应该将任务从组任务列表移动到他们自己的任务列表中。
更多精彩
赞助商链接