`
letitbe
  • 浏览: 235145 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JBPM工作流中的任务分配(转)

阅读更多

在jBPM中,任务的分配有两种模式:

  1. 推(Push)模式    在这种模式下,系统计算出应该由哪个参与者(actor)完成当前任务(task),然后直接将此task送到该actor的任务列表中(tasklist);
  2. 拉(Pull)模式    在这种模式下,系统首先计算出应该由哪个参与者池(pool of actors)完成当任务,并将该任务送入相应的任务池中;然后,再由参与者池中的任一人将任务拉到自己的任务列表中。

参与者池与角色、用户组的差异

一般的应用中,角色与用户组的概念比较常见,而参与者池则不常见。

针对一个Task一般会有多个可能的操作,而不同的角色有可能有权限进行其中的一部分或全部操作。所以,不同角色有可能属于相同的参与者池,一个角色也有可能被加入到多个参与者池中。

一 般用户组是按组织架构进行划分的,在同一个用户组可能会有多个不同的角色,或者具有不级别的权限。即使将同一角色、具有同一级别权限的用户划分为一组,也 不能回避具有更高级别权限的用户操作低级别工作任务项的情形。另一方面,在Multi-Entity架构下,也存在跨Entity操作的情形。

总而言之,参与者池是区别于按角色、按组织进行划分的、一种特别的用户分组方法。换言之,参与者池其实也是可以预先定义的。

何时进行任务分配计算

既然参与者池是可以预见的,那么在“拉模式”下,何时进行任务分配计算呢?

毫无疑问,在工作流系统中,计算是在任务状态转换时自动完成的。(当然,相对于应用的事务提交,工作流的这些操作都可以是异步完成的。)

因些,“拉”的含义,不是在用户刷新任务列表时才去计算他/她的所有工作项;恰恰相反,无论是“拉”或是“推”,工作流系统其实都预先计算好了参与者的任务列表或可以从中挑选任务的“任务池”。

jBPM参与者池的数据库设计

jbpmtask.jpeg
jbpm_taskinstance与jbpm_pooledactor是典型的“多对多”的关系,中间通过jbpm_taskactorpool拆分成两个“一对多”。
原文:http://dayubian.spaces.live.com/blog/cns!9E5A349DF844201E!365.entry

分享到:
评论

相关推荐

    jBPM工作流详解

    **jBPM工作流详解** jBPM,全称Java Business Process Management,是Red Hat公司开发的一款开源的工作流管理系统,它提供了对业务流程的建模、执行和监控能力。jBPM不仅支持传统的工作流标准,如BPMN 2.0,还集成...

    JBPM工作流全套学习资料

    【JBPM工作流全套学习资料】是一份详尽的学习资源,涵盖了JBPM工作流系统的基础到高级知识。JBPM(Java Business Process Management)是开源的企业级工作流管理系统,它允许开发者设计、部署和执行业务流程。这个...

    jbpm工作流 基础视频

    jbpm工作流是一款开源的工作流程管理系统,主要用于设计、执行和管理业务流程。它结合了Java技术和BPM(Business Process Management)理念,为开发者提供了一套强大的工具,使得企业能够更有效地自动化和优化业务...

    工作流程JBPM工作流管理

    【工作流程JBPM工作流管理】是企业信息化建设中至关重要的一环,它涉及到组织内部的任务自动化、业务流程优化以及跨部门协作效率的提升。JBPM(JBoss Business Process Management)是Red Hat公司推出的一款开源的...

    jbpm工作流引擎介绍

    在`jbpm工作流引擎介绍.ppt`文件中,可能包含了对这些步骤的详细图解,展示了每个步骤如何在jbpm中建模,以及流程实例在不同阶段的变化。此外,还可能涵盖了如何配置工作流规则、如何定义和分配任务,以及如何使用...

    JBPM工作流

    在高校教务管理系统中引入JBPM工作流技术,主要是为了满足当前教育信息化的需要,尤其是教务管理工作中的动态流程处理。教务管理在高校的日常运作中非常关键,它包括排课管理、成绩管理、教材管理、学生管理等多个...

    李腾飞JBPM工作流引擎代码test01到test04

    【李腾飞JBPM工作流引擎代码test01到test04】是一系列关于使用JBPM工作流引擎进行程序开发的示例代码。JBPM(Java Business Process Management)是一款开源的工作流管理系统,它允许开发者设计、执行和管理业务流程...

    jbpm工作流简单实例

    **jbpm工作流简介** jbpm(Java Business Process Management)是一个开源的工作流管理系统,它提供了一整套解决方案,用于设计、执行和管理业务流程。jbpm不仅支持BPMN(Business Process Model and Notation)...

    JBPM工作流开发指南v10-20070706.doc

    JBPM工作流开发指南v10-20070706.doc 是一份详细的学习文档,主要针对那些想要深入理解并使用JBPM工作流引擎的开发者。JBPM(Java Business Process Management)是一个开源的工作流管理系统,它允许开发者设计、...

    基于JBPM工作流的OA办公系统

    **基于JBPM工作流的OA办公系统** JBPM(Java Business Process Management)是Talend公司推出的一款开源的工作流管理系统,主要用于实现业务流程自动化。它提供了全面的工作流解决方案,包括流程设计、执行、监控和...

    一个JBPM工作流例子,JBPM

    **JBPM工作流详解** JBPM(Java Business Process Management)是一个开源的工作流管理系统,它提供了一整套解决方案,用于设计、执行和管理业务流程。在本示例中,我们将深入探讨如何利用JBPM实现销售批复这一具体...

    关于jbpm工作流的一些常用的问题

    jbpm工作流是一种开源的工作流管理系统,由JBoss组织开发,用于帮助企业自动化业务流程。jbpm提供了丰富的功能,包括流程定义、执行、监控和集成,适用于各种业务场景,如人力资源管理、采购流程、客户服务等。 在...

    jbpm Java工作流 教程

    JBPM(Java Business Process Model)是Red Hat提供的一款开源的工作流引擎,用于在Java应用程序中实现业务流程管理(BPM)。它基于规范化的BPMN 2.0标准,支持图形化流程设计与复杂的业务逻辑处理。JBPM允许开发者...

    JBPM工作流引擎

    JBPM工作流引擎是一种基于Java的开源工作流管理系统,它允许开发者和企业构建、部署和管理业务流程。JBPM提供了全面的工作流解决方案,包括流程设计、执行、监控和优化,旨在提高工作效率,简化复杂的业务操作。 ...

    JBPM工作流DEMO

    总的来说,JBPM工作流DEMO提供了一个实践工作流管理系统的起点,通过学习和研究这个DEMO,开发者能够掌握如何在Java环境中使用JBPM来设计、实现和管理复杂的业务流程,并结合`SimpleDateFormat`等基本Java类处理流程...

    jbpm工作流请假案例

    jbpm工作流请假案例是一个基于jbpm流程引擎的实践项目,旨在帮助用户理解并学习如何在实际场景中应用工作流技术。jbpm是一款开源的工作流管理系统,它提供了强大的流程建模、执行和监控功能,广泛应用于企业级业务...

    JBPM工作流实战_使用泳道为多个任务指定相同的参与者视频 07

    【JBPM工作流实战_使用泳道为多个任务指定相同的参与者视频】 在企业信息化管理中,工作流系统扮演着至关重要的角色,它能够自动化处理业务流程,提高效率并确保合规性。JBPM(JBoss Business Process Management)...

    jbpm4.3 工作流实例 java

    - **jbpm4web**:可能是一个基于jbpm4.3的工作流Web应用程序示例,它演示了如何在Web环境中使用jbpm,并可能包含了SSH框架的集成。 - **文件内容**:这个压缩包可能包含Web应用的源代码、配置文件、流程定义文件...

Global site tag (gtag.js) - Google Analytics