
BPEL 流程和活动基于实例的授权
针对 BPEL 流程和活动提供了一组预定义的授权角色。 您可以在对流程建模时分配这些角色。 用户与基于实例的角色的关联在运行时使用人员解析来确定。
针对 BPEL 流程的操作的授权角色
被分配了流程角色的人员有权执行以下操作:
| 角色 | 授权操作 |
|---|---|
| 流程启动者 | 查看关联的流程实例的属性及其输入和输出消息。 |
| 流程读者 | 查看关联的流程实例的属性及其输入和输出消息。 此角色的成员还会自动成为活动的读者,以及与人员任务活动关联的内联待执行任务(包括子任务、后续任务和上报)的读者。 |
| 流程管理员 | 管理流程实例,干预已启动的流程,创建、删除和移交工作项,以及在运行时更改流程导航(例如,通过跳过活动来实现)。 此角色的成员还会自动成为活动的管理员,以及与人员任务活动关联的内联待执行任务(包括子任务、后续任务和上报)的管理员。 |
| 流程活动管理员 | 修复流程中的活动。 |
| 范围读者 | 查看范围内的活动和变量的属性。 此角色的成员还会自动成为活动属性的读者,以及范围内与人员任务活动关联的内联待执行任务(包括子任务、后续任务和上报)的读者。 |
| 范围管理员 | 管理范围内的活动,包括更新活动变量、跳过活动和取消跳过请求。 此角色的成员还会自动成为活动的管理员,以及范围内与人员任务活动关联的内联待执行任务(包括子任务、后续任务和上报)的管理员。 |
流程启动者是业务流程管理器用于流程导航和外部服务调用的角色。 如果流程实例仍存在于数据库中,那么请勿从用户注册表中删除流程启动者的用户标识,以便流程导航能够继续,除非您已将流程所有权移交给其他用户。
使用人员任务为用户分配这些角色。
| 角色 | 人员分配 |
|---|---|
| 流程启动者 | 通过向流程的启动接收或选取(接收选择)活动分配内联人员任务可指定流程启动者。 |
| 流程读者 | 通过在流程的关联管理任务上设置读者角色可指定流程读者。 此角色由流程中的所有活动继承。 |
| 流程管理员 | 流程管理员由分配到流程的管理任务定义。 此角色由流程中的所有活动继承。 |
| 流程活动管理员 | 流程活动管理员由流程的关联管理任务定义。 在此任务上定义的管理员角色也用作流程活动管理员。 注: 管理任务不同于用于确定流程管理员的任务。
在流程级别定义活动管理任务是没有定义管理任务的活动的缺省管理任务。 |
| 范围读者 | 通过在范围的关联管理任务上设置读者角色可指定范围读者。 此角色由范围中的所有活动继承。 |
| 范围管理员 | 范围管理员由分配到范围的管理任务定义。 此角色由范围中的所有活动继承。 |
注: 如果流程管理限制为仅限系统管理员操作,那么禁用基于实例的管理。 这意味着对流程、作用域和活动的管理操作仅限于 BPESystemAdministrator 角色用户。 此外,读取、查看和监视过程实例或其部分只能由 BPESystemAdministrator 或 BPESystemMonitor 角色的用户执行。要获取关于此管理方式的更多信息,请参阅用于替代 BPEL 流程的管理方式。
针对活动的操作的授权角色
当您对人员任务建模并将其作为人员任务活动包含在 BPEL 流程中时,该任务的所有者会自动成为活动所有者。 为人员任务定义的角色成员在对应的人员任务活动上继承相同角色。 业务流程管理器将活动角色用于导航和授权。 内联调用任务的潜在启动者是关联接收或选取(接收选择)活动或者事件处理程序的潜在启动者。
活动的基于实例的角色有权执行以下操作:
| 角色 | 授权操作 |
|---|---|
| 活动读者 | 查看关联的活动实例的属性及其输入和输出消息。 |
| 活动编辑者 | 针对活动读者授权的操作,以及对消息和活动的其他关联数据的写访问权。 |
| 潜在活动启动者 | 针对活动读者授权的操作。 此角色的成员可以向接收或选取活动发送消息。 |
| 潜在活动所有者 | 针对活动读者授权的操作。 此角色的成员可以申领活动。 |
| 活动所有者 | 处理并完成活动。 此角色的成员可以将其工作项移交给管理员或潜在所有者。 |
| 活动管理员 | 修复由于意外错误而停止的活动,并强制完成长时间运行的活动。 |
流程角色的缺省人员分配
如果您没有为某些角色定义人员分配条件,或者人员解析失败或未返回结果,将执行缺省人员分配。 下表显示了应用的缺省值。
| BPEL 流程的角色 | 在流程模型中未定义此角色的情况下 ... |
|---|---|
| 流程管理员 | 流程启动者成为流程管理员 |
| 流程阅读者 | 没有阅读者 |
此外,如果您未定义调用任务来创建和启动 BPEL 流程,那么会将缺省人员分配条件 Everybody 用于流程的潜在启动者。