jbpm2.0中swimlane ,actorid,role在实际项目的演绎:
来源:互联网 发布:微信网络不稳定 编辑:程序博客网 时间:2024/05/20 09:22
工作流程中的某些状态处于一个swimlane(泳道)中,参与工作流程的具体人如果具备涉足
这个泳道的能力,就可以对这些状态进行处理。如何在计算机系统表示个体的能力度?
在工作流系统中通过组织建模,从组织模型数据中取得一定属性赋给个体,比如通过role角色、
职务(或职务)来表示个体具有的能力度。
在工作流程定义中,很少会把具体的个体定义进流程审批环节中。大多数系统会定义一个
角色(静态和动态)、职位,只要满足这些条件个体都可以处理这些环节(也即具备这些能力个体
进入系统后,系统会把他可以处理的工作全部列出来)。
jbpm2.0通过swimlane这种抽象的能力度对象,把定义的swimlane赋给某些审批环节,系统
在实际运行中,根据swimlane的代理类计算出流程参与者(actorid),需注意一点是这个参与者
和系统用户登录id有所区别,他可以是用户登录id,也可以是role或position。jbpm2.0在这点
设计考虑很周到,仅提供流程引擎,不绑定任何组织模型。用户可以根据各自的组织定义自己
的流程。
如示例:
public class ChiefHandle implements AssignmentHandler {
public ChiefHandle() {
}
public String selectActor(AssignmentContext parm1) {
String actorid=parm1.getPreviousActorId();//比如可以通过前一步的actorid计算出流程参与者
System.out.println("---previous actor id="+actorid);
//userid是在流程发启时,赋的用户登录名,根据登录名可以从组织模型找到相关的数据
//比如要求上级领导等
String firstactorid=(String)parm1.getVariable("userid");
System.out.println("---root actor id="+firstactorid);
if(actorid.equals("US010101"))
return "POS0102";//返回职位代码或登录id等
else
return "POS0103";
}
}
所以用户登录系统中,工作列表不仅仅是根据登录id查找,而且需根据此用户具备的角色或职位等
相关信息查找。
我在实际项目中也碰到一些问题,提出来大家一起讨论,主要是在一些动态角色计算方面没有找到
一个切实可行办法。比如怎样定义:处理上一个状态环节的个体的同事这样的角色等,我想是否可以通过
登录用户的单位代码、部门或项目组代码(selectActor)?
- jbpm2.0中swimlane ,actorid,role在实际项目的演绎:
- Jboss jBPM中swimlane、actor和role概念的理解
- jBPM中swimlane、actor和role概念的理解
- IOCP在实际项目中应用的小技巧
- 在实际项目中发生的Bug,及其反思
- 在java项目的实际开发和应用中
- 线程在实际项目中简单的应用
- jbpm2
- spring在项目中实际用途
- 在存储过程中拥有"role"权限的特殊性
- 如何在存储过程中拥有role的权限
- 在存储过程中拥有role的权限(Authid Current_User)
- 元数据在实际项目的应用
- DWR在实际项目中的应用以及在调试过程中遇到的问题
- JBPM2.0 vs WFMOpen1.3
- 在项目的实际开发中,dao层java泛型的的应用(ssh)
- 实际项目中页面标签的使用
- 实际项目中数据结构的选择
- 一个自动检测并安装hotfix的脚本(copy)
- document.execCommand()解析
- 六步平衡事业与家庭
- 使用mucus测试IDS的部署情况
- cygwin/X的安装方法
- jbpm2.0中swimlane ,actorid,role在实际项目的演绎:
- 第一使用,试试我的blog
- 席慕容·无怨的青春
- Win98下的驻留病毒
- 善于伪装的病毒
- 《深入浅出MFC》学习笔记之二
- 哈哈!!新BLOG!!纪念一下!!
- 《深入浅出MFC》学习笔记之一
- 追根究底,剖析MFC六大关键技术(第一部分)