jbpm2.0中swimlane ,actorid,role在实际项目的演绎:

原创 2005年03月03日 12:14:00

 工作流程中的某些状态处于一个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)?

jBPM开发入门指南

http://blog.csdn.net/eric474470/article/details/7665265
  • bluejoe2000
  • bluejoe2000
  • 2014-09-10 22:34:13
  • 1477

对JBPM的一些理解,很有用处

下面是作者对一些JBPM的理解,很有用处 -------------------------------------------------------------------------------...
  • hxmcGu
  • hxmcGu
  • 2007-04-18 10:39:00
  • 3264

Jboss jBPM中swimlane、actor和role概念的理解

        jbpm没有role的概念。actor,我认为就是一个具体人所具有的所有角色的集合,是roles, 不是 role。一个actor可以具有多个role。比如请假流程中,如果部门经理请假...
  • kellerdu
  • kellerdu
  • 2004-12-19 10:25:00
  • 9678

实际项目中数据结构的选择

如果不是什么大型,涉及高精尖、复杂算法的项目,尽量选择简单的数据结构,选取原则可以参考: 1. 静态数组适合元素不超过100的场合。 2. 动态数组适合元素不超过1000的场合。 3. 链表适合...
  • fengel_cs
  • fengel_cs
  • 2016-08-17 20:06:55
  • 274

Actor-ES框架:Ray--事件(Event)编写说明

Event作用:存储事件数据。IEventBaseK:是Actor的StateId的类型,可以是long、可以是string,Ray一般使用OGuid生成的字符串作为主键。编写Event继承IEven...
  • sD7O95O
  • sD7O95O
  • 2018-01-26 00:00:00
  • 103

数据库

索引:http://blog.csdn.net/liujiahan629629/article/details/7803929
  • pmt123456
  • pmt123456
  • 2017-03-16 21:28:55
  • 336

数据结构与算法在实际项目当中的运用

  • 2010年09月03日 13:32
  • 1.28MB
  • 下载

论项目的风险管理

1.风险管理计划编制    在某项目初期,风险管理小组编制了风险管理计划,具体描述项目如何处理和执行风险管理活动。我们采用会议的方式来制定风险计划,全面考虑了风险对项目的影响,制定了充分的风险管理计划...
  • chz_cslg
  • chz_cslg
  • 2010-10-15 10:51:00
  • 486

github使用入门

1.在Mac OS X上安装Git 终端运行: ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/...
  • Mr_Zhong_
  • Mr_Zhong_
  • 2015-10-10 11:47:55
  • 690

深入理解Android之Gradle

原文地址:http://blog.csdn.net/innost/article/details/48228651 深入理解Android之Gradle Gradle是当前非常“劲爆”得构...
  • shenlanzifa
  • shenlanzifa
  • 2016-09-09 15:20:52
  • 882
收藏助手
不良信息举报
您举报文章:jbpm2.0中swimlane ,actorid,role在实际项目的演绎:
举报原因:
原因补充:

(最多只允许输入30个字)