在jbpm中,task可以指派给一个actor,这个actor是一个string,所以扩展性比较好。它的意义可以根据具体的逻辑来制定,如user,role,group等等都是可以的。
另外,还可以指定task的pooledActors,这个是task的备用actor。使用思路是,如果actor为null的话,则该pooledActors中的actor可以接管该task(必须首先设置为该task的actor才能处理该task)。
Personal task list指所有的actor为该person的task list。
Pooled task list指所有的无actor,且person在pooledActors中的task list。
swimlane也是一个很好的概念,可以理解为对一个actor和pooledActor设置的复用。举个例子,一个流程如果所有的task必须由接手该process的第一个task的人处理的话,则swimlane很有用,以后的task assignment直接引用swimlane就好了。
另外jbpm还可以使用identity model结合assignment expression对配置task的actor。
identity model比较简单,关键的类为User,Group,Membership,值得注意的是Group可以加上group type,来对group进行区分,并且可以进行group嵌套。Membership定义了user和group的对应关系,并且里面有个role可以说明user在该group中的角色。
总体看jbpm的task assignment和identity model比较简洁容易上手,有些地方也是值得借鉴的。
但是关于task assignment和identity model也有一些值得商榷的地方。
如task的处理应该由该task的actor完成,但是jbpm并没有强制这一点。另外,设置task的actor也没有保护。
identity model比较简单,和复杂的用户权限管理不好集成。
当然,jbpm的核心是工作流,重心未必在这方面。但是问题是感觉一个工作流和identity model的关系还是很紧密的,如此一来,工作流和identity model的集成工作又是程序员的事情了。关于workflow和identity model的集成又是另一个话题了。
分享到:
相关推荐
jbpm-identity.jar jbpm-identity.jar
JBPM4 中 ProcessDefinition、ProcessInstance、Execution、Task 关系和区别 ProcessDefinition 是流程的定义,也可以理解为流程的规范。它有一个 id,这个 id 的格式为 {key}-{version},其中 key 和 version 之间...
jbpm 是一个开源的工作流管理系统,它主要用于设计、执行和管理业务流程。在这个系统中,jPDL(jbpm Process Definition Language)是用于定义流程的元数据语言,类似于 BPMN(Business Process Modeling Notation)...
org.jbpm.api.model common process execution model interfaces used in services and delegation interfaces like ActivityBehaviour and EventListener. org.jbpm.api.task interfaces related to the ...
JBPM_TASK JBPM_TASK FK_TASK_PROCDEF PROCESSDEFINITION_ 一个流程可能有多个task JBPM_MODULEDEFINITION JBPM_MODULEDEFINITION FK_MODDEF_PROCDEF PROCESSDEFINITION_ 一个流程可能处在很多的模块(模块概念不...
在jbpm4中,processDefinition、processInstance和Task是三个非常关键的概念,它们构成了流程管理的基础。 1. **ProcessDefinition**: ProcessDefinition是流程的蓝图,它定义了一个流程的结构和行为。它包含了...
jbpm4.1和jbPM5是两个不同版本的Java Business Process Management(业务流程管理)框架,主要用于构建和管理业务流程。jbPM是Talend公司的一个开源项目,它提供了全面的工作流和业务流程管理解决方案,深受Java...
"jBPM Developers Guide.txt"和"jBPM User Guide.txt"分别可能是开发者指南和用户指南的文本形式,分别针对开发者和最终用户,提供了使用jbpm进行流程开发和日常操作的详细步骤。 "jbpm解读.txt"可能是一篇或一系列...
在本例中,我们讨论的是四个特定的`jar`文件:`bsh.jar`、`jcr-1.0.jar`、`jbpm-identity.jar`和`jbpm-jpdl.jar`,它们与jbpm3.2.3版本和SSH整合开发密切相关。 **bsh.jar**:这是一个BeanShell库的`jar`文件,...
jbpm4jbpm5是关于jbpm流程管理框架的专题,涵盖了jbpm4和jbpm5两个主要版本。jbpm是一个开源的工作流管理系统,用于帮助开发者实现业务流程自动化。以下是基于给定文件的信息,深入解析jbpm4和jbpm5的知识点: 1. *...
jbpm(Java Business Process Management)是一个开源的工作流和业务流程管理框架,主要目的是帮助企业或组织设计、执行和管理业务流程。jbpm3.2.3是该框架的一个版本,它包含了一系列的jar包,这些jar包是运行和...
1. **流程建模**:使用 BPMN(Business Process Model and Notation)标准,允许开发者通过图形化的方式定义流程,使得业务人员和开发人员可以更好地理解和协作。 2. **规则集成**:jBpm 集成了规则引擎,如 Drools...
用户可以通过工作列表(Task List)进行任务的接收和处理。 5. **流程监控**:jbPM提供了一个Web管理控制台,可以实时查看流程实例的状态、历史记录,以及执行过程中的各种统计信息。 ### 三、jbPM 3.2 主要特性 ...
4. **支持多种流程定义语言**:除了默认支持的jPDL、WS-BPEL和Seam框架的Pageflow外,jBPM还计划支持更多流程定义语言,以适应不同的业务场景需求。 5. **严格的流程版本控制**:jBPM提供了严格的版本控制机制,...
3. **jbpm-identity.jar**:这个文件是JBPM的身份管理和权限控制模块。它实现了用户、组和权限的概念,使得JBPM能够根据角色和权限控制对工作流操作的访问。在与Spring集成时,它可以与Spring Security一起使用,以...
jbpm jbpm4.3.jar DDDDDDDD
4. jbpm.task.hbm.xml:任务管理是jbpm的核心组件之一,这个文件定义了任务实体的数据库映射,包括任务状态、责任人、参与者等信息,这对于实现工作分配和协作功能至关重要。 5. jbpm.variable.types.xml:jbpm支持...
【jbpm5完整的例子】是针对企业业务流程管理(Business Process Management, BPM)的一个实践教程,其中涵盖了jbpm5框架的多个核心功能和用法。jbPM是一个开源的工作流管理系统,它提供了强大的流程定义、执行和监控...
- **JBPM4_HIST_TASK**:历史任务信息,包括创建、完成和分配情况。 - **JBPM4_HIST_VAR**:历史变量记录,跟踪流程中的变量变化。 - **JBPM4_ID_GROUP**,**JBPM4_ID_MEMBERSHIP**,**JBPM4_ID_USER**:身份认证...
1. **工作流引擎**:jbpm-engine.jar是jbpm的核心,它实现了BPMN(Business Process Model and Notation)2.0标准,允许开发者定义、执行和管理业务流程。它包含了流程实例的创建、执行、挂起、恢复和结束等功能。 ...