`
tomkoo
  • 浏览: 186468 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

同网友交流JBPM纪录(1)

    博客分类:
  • JBPM
阅读更多

 Tom就是我了,zmyliyu是一位研究JBPM的网友

zmyliyu  Tom    问一个问题,一个审核的TASKNODE审核不通过后,可以直接返回以前的TASKNODE么
 Tom  zmyliyu    如果你需要审批不通过返还的话,那么你应该有一条从审批Node--〉递交审批Node的路径transition
 zmyliyu  Tom    是,这个没有问题。
 zmyliyu  Tom    原来的TASKNODE是不是就会生成一个新的TASKINSTANCE呢。
 Tom  zmyliyu    of cours
 Tom  zmyliyu    e
 zmyliyu  Tom    恩,好的。
 zmyliyu  Tom    你好,忙不忙呀。
 Tom  zmyliyu    ??
 zmyliyu  Tom    我象问几个JBPM方面的问题。
 Tom  zmyliyu    你说
 zmyliyu  Tom    就是setPooledActors你门用了么。
 Tom  zmyliyu    yes
 zmyliyu  Tom    是怎么使用的呢?
 zmyliyu  Tom    我觉得对于角色的来说,这是个好办法。
 Tom  zmyliyu    其实如果你是使用自己的用户模型的话,PooledActors既可以是你的用户,也可以是用户角色,这个取决于你想如何去用
 zmyliyu  Tom    还有一种想法,就是只用ACTORID来做。
 zmyliyu  Tom    因为任务最后都要落实到人的。
 zmyliyu  Tom    不是使用:PooledActors
 zmyliyu  Tom    任务授权的确是一个比较麻烦的事情。
 Tom  zmyliyu    yes,你说的很多,在分配任务的时候用pooledactors,这样可以保证任务的1:n的分配,但是在真正执行任务的时候,用actor这个用可以保证任务完成得唯一性(除了会签)
 Tom  zmyliyu    你说的很对
 zmyliyu  Tom    对了。如何将TASK与功能也面对应起来呢。
 Tom  zmyliyu    这个也是一个比较棘手的问题,我是使用自定义表,然后把task和表单(处理action)建立关系
 zmyliyu  Tom    恩,我也是这样想的,但是,具体的业务信息怎么办呢。
 zmyliyu  Tom    比如,我一个采购流程的处理。
 zmyliyu  Tom    我需要连接功能,同时需要知道表单号
 Tom  zmyliyu    hoho,你说的是把每一个订单和你的订单流程关联起来吧?
 zmyliyu  Tom    其实是一个定单呵一个定单的流程实例关联起来。
 Tom  zmyliyu    yes,订单和流程实例关联起来
 Tom  zmyliyu    hoho
 zmyliyu  Tom    如:一个采购人员填写,这个是一个节点,关联到采购单填写PAGE;然后交审核 ,审核人员从任务列表里头,只能看到TASK,但是不知道这个采购员填写了哪个单据。
 zmyliyu  Tom    这怎么办呢。
 Tom  zmyliyu    我现在有3种,两类方法来处理这个问题
 zmyliyu  Tom    往不吝赐教呀。
 zmyliyu  Tom    望
 Tom  zmyliyu    其实最简单的就是在你的单据表添加一个字段,用来在你启动流程的时候,把流程实例ID纪录下来,这样你就可以知道单据在哪里了。不过这样就是耦合高了点,让流程和订单细节联系到一起了
 zmyliyu  Tom    恩,是的。但是这个是必然的。也是合理的。
 zmyliyu  Tom    还有更好的办法么。
 Tom  zmyliyu    当然,你还有另外一个办法
 zmyliyu  Tom    不过,审核人员怎么知道我审核的是哪个定单呢。
 Tom  zmyliyu    这个方法应该会比较好一点,耦合小一些
 zmyliyu  Tom    因为审核的TASK和填写的TASK是不一样的。
 zmyliyu  Tom    恩。还有什么方法呀。
 Tom  zmyliyu    先回答你上面一个问题,你做的关联是processInstanceId和订单Id,所以这个跟哪个task没有关系,只要是同一个ProcessInstance就可以了
 zmyliyu  Tom    哦。 这个是可以的。
 zmyliyu  Tom    ProcessInstance里头去配置一些自己的表,因为我觉得去设置一些流程变量的话,不便于以后升级。
 Tom  zmyliyu    ?
 Tom  zmyliyu    ProcessInstance里头去配置一些自己的表?什么意思
 zmyliyu  Tom    就是建立一个自己的表,和ProcessInstance做关联,存储一些流程公用信息。
 Tom  zmyliyu    嗯,是这样
 Tom  zmyliyu    不会给升级带来什么麻烦啊
 zmyliyu  Tom    恩。现在也只能那么处理了。
 Tom  zmyliyu    不然,还有一个办法,就是所以的信息都用流程变量来保存,这样就不用见表了
 zmyliyu  Tom    是的。但是这样就可能增加了系统偶合。
 zmyliyu  Tom    毕竟这个是流程相关数据,和流程本生来说没有关系。而且偏应用数据。
 Tom  zmyliyu    你要把订单和流程实例联系在一起,本身就是一种耦合,如果不然,就成了两个没有关系的东西了,适当的耦合是必须也是必要的
 zmyliyu  Tom    所以,个人认为建立表比较合适,如果要影响流程流转的,考虑用变量方式去处理比较合适的。
 zmyliyu  Tom    对。就是一些接口处理的。
 Tom  zmyliyu    嗯,我现在就使建表的
 zmyliyu  Tom    我现在正在设计表。呵呵。
 zmyliyu  Tom    现在正头痛呢。
 zmyliyu  Tom    对了。我不想使用POOLEDACTOR,感觉那个东西把事情搞麻烦了。
 Tom  zmyliyu    hoho,是阿,有很多的细节的问题需要考虑。我现在也还有很多的细节要处理
 zmyliyu  Tom    因为分派任务来说,最后一定是给一个人处理。
 Tom  zmyliyu    但是如果你不用的话,你就不能实现用户和任务N:1的关系。
 zmyliyu  Tom    ACTORID可以存放角色信息。然后通过角色分派给用户来处理。
 zmyliyu  Tom    可以的。
 zmyliyu  Tom    或则通过用户来获取角色任务。这个问题就解决了。
 zmyliyu  Tom    一般来说,一个任务不会分给多个角色来处理。
 Tom  zmyliyu    虽然是一个人处理,但是有可以是N个人都可以处理这个任务,所以,虽然最后都是一个人处理,但是在TaskList中必须要N个人都能看到Task
 zmyliyu  Tom    恩,是的。这个是没有问题的。可以通过角色列表看到的。
 Tom  zmyliyu    hoho,如果你的系统不存在N个角色处理一个任务的情况,那么你可以只用Actor来处理
 zmyliyu  Tom    恩,是的。这样我感觉不错的。
 Tom  zmyliyu    但是你还是必须面对一个问题,就是你如果使用Actor来处理,你必须在一个人完成这个Task的时候,把这个Task的Actor改称实际处理人的userId,而不是角色,否则,你跟踪审批信息的时候,就会有不知道究竟是谁处理了这个Task的麻烦了。
 zmyliyu  Tom    不过SWIMLANE,的确是一个更为妥善的解决办法的。
 zmyliyu  Tom    考虑到以后升级,呵呵。JBPM里头的表还真不敢乱放信息。呵呵。
 Tom  zmyliyu    嗯,我基本是不考虑去改动JBPM自身的表
 zmyliyu  Tom    我也是的。自己增加表,然后增加补充定义是个好办法。
 Tom  zmyliyu    bingo
 zmyliyu  Tom    ???呵呵。什么意思哦。
 Tom  zmyliyu    yes!好!正确!等等,挺复杂的,就是表示因为做对什么事情而激动
 zmyliyu  Tom    我现在定义了一部分了。好多问题还在想。
 zmyliyu  Tom    对了。关于委托,还有就是回退处理,你是怎么考虑的呢。
 Tom  zmyliyu    会退基本还是使用fork来处理,至于委托,我是想在自己的系统中实现,也就相当于自己定义,实现
 Tom  zmyliyu    会退基本还是使用fork来处理,至于委托,我是想在自己的系统中实现,也就相当于自己定义,实现 
 zmyliyu  Tom    对的。你提到的,比如审核返回,然后需要返回给处理者本人的。这个也许需要考虑的。很合理,但是不知道怎么实现好。
 Tom  zmyliyu    恩,这个我已经实现了,hoho,这个主题我会写道blog上面去的,你要是有兴趣,可以去看看,就这两天吧,我就写上去;)
 zmyliyu  Tom    恩,好的。需要加其他表,么。
 zmyliyu  Tom    我想联系流程实例ID,然后就是TASKID然后做一个记录,基本就够了。
 zmyliyu  Tom    但是细节还需要好好考虑的。
 Tom  zmyliyu    不需要多加表
 Tom  zmyliyu    嗯,你的思路也可以,不过加太多表也不是个办法
 zmyliyu  Tom    恩,是的。
 zmyliyu  Tom    我加了流程分类表。
 zmyliyu  Tom    然后加了5个左右的表。
 Tom  zmyliyu    我加了3个
 zmyliyu  Tom    流程分类你怎么处理的呢。
 Tom  zmyliyu    不好意思,手头上有点活,下次聊?
 zmyliyu  Tom    好的。要得哈。
 Tom  zmyliyu    嗯!下次聊!拜拜
 zmyliyu  Tom    S Y

分享到:
评论
3 楼 wangyi2200 2008-12-26  
有帮助!谢谢分享
2 楼 Bluesnails 2007-09-20  
结合给老结赖那篇,很有帮助啊。不过如果actors存储role的话,好像将task分配给某个具体的user会麻烦一些啊。。。
1 楼 nan_jia 2007-09-05  
不错,有帮助1

相关推荐

    jbpm4jbpm5

    1. **jbpm4表结构和表字段说明**: jbpm4.3表结构和表字段说明文档通常会详细介绍jbpm4中涉及的数据库表,包括实体如任务实例(TaskInstance)、流程实例(ProcessInstance)、工作项(WorkItem)等的表结构和字段...

    jbpm简介\jbpm简介

    1. **嵌入式的工作流引擎**:jBPM采用嵌入式设计,这意味着它可以作为应用程序的一部分运行,无需额外的硬件投入,降低了网络和集群的复杂度。 2. **图形化开发工具**:提供可视化流程控制台,使得开发者可以通过...

    jbpm jbpm4.3.jar

    jbpm jbpm4.3.jar DDDDDDDD

    jbpm 案例 jbpm jbpm

    jbpm使用案例,非常不错,大家都来看看吧。

    jbpm开发指南--jbpm全面介绍

    通过查看JBPM的表,我们知道要实现流程监控功能就是把JBPM当中的JBPM_PROCESSDEFINITION(已发布的流程表),JBPM_PROCESSINSTANCE(流程实例表),JBPM_TASKINSTANCE(流程产生的任务实例表)这三张表串联起来就可以...

    jbpm-3.1.2.zip_jbpm_jbpm 3.1.2_jbpm-3.1.2.rar_jbpm3.1.2_工作流

    jbpm-3.1.2.zip 文件包含了 jBpm 的一个重要版本——jBpm 3.1.2,这是一个开源的工作流管理系统,专为构建灵活且可扩展的业务流程解决方案而设计。jBpm 提供了一种方式,使得开发者能够用简单而强大的语言来表达业务...

    jbpm

    【jbpm】是一种开源的工作流管理系统,全称为Java Business Process Management。它主要用于处理业务流程的自动化,通过定义和执行工作流程来协调应用系统中的不同组件。jbpm不仅提供了流程建模、部署、执行的能力,...

    jBPM3.2.rar_JBPM3.2_jbpm_jbpm 3.2_jbpm3_jbpm3.2教程

    1. **流程建模语言**:jbPM 3.2支持JPDL(jBPM Process Definition Language),这是一种XML格式的语言,用于定义流程的行为和结构。 2. **动态流程**:jbPM允许在运行时修改流程,增强了流程的灵活性和适应性。 3...

    JBPM JAR包1

    **JBPM JAR包1详解** JBPM,全称Java Business Process Management,是一个开源的工作流管理系统,用于管理和执行业务流程。这个"JBPM JAR包1"包含了JBPM框架的核心组件,为开发者提供了完整的工具链,包括流程设计...

    jbpm白皮书 介绍jbpm 入门

    1. **执行引擎**:这是 jBPM 的核心部分,负责解析并执行流程定义。引擎支持多种流程定义格式,包括 BPEL 和 BPMN 等标准,使得用户可以根据自己的需求灵活选择合适的定义方式。 2. **服务组件**:为了使流程能够...

    jbpm数据库表介绍

    jbpm 数据库表介绍 jbpm 是一个基于 Java 的 workflow 引擎,用于管理和执行业务流程。jbpm 需要持久化流程部署、流程实例、任务、用户认证等信息,于是 jbpm 设计了一系列的数据库表来存储这些信息。在 jbpm 4.4 ...

    JBPM4 SSH EXTJS JBPM SSH EXTJS

    JBPM4 SSH EXTJS JBPM SSH EXTJS JBPM4 SSH EXTJS JBPM SSH EXTJS JBPM4 SSH EXTJS JBPM SSH EXTJS JBPM4 SSH EXTJS JBPM SSH EXTJS 希望对大家有帮助。

    jBPM4.4.rar_jbpm4.4_jbpm4.4 PDF

    1. **系统架构**:jBPM4.4基于Eclipse Persistence API(JPA)和Hibernate ORM,提供了持久化服务,确保流程实例的可靠存储。它还包括一个规则引擎,如Drools,用于业务规则的处理。 2. **流程定义**:jBPM支持使用...

    jbpm学习资料,jbpm教程

    1. **流程定义**:jPDL通过流程图中的节点(如开始节点、结束节点、任务节点、事件节点等)来描述流程的结构。这些节点之间的连线代表了流程的流转路径。 2. **任务管理**:jPDL允许定义不同类型的用户任务,比如...

    jbpm-2.0-beta1.zip_java 工作流引擎_jbpm_jbpm-demo_工作流_工作流引擎

    jbpm-2.0-beta1是该系统的早期版本,其核心功能包括工作流引擎、流程建模工具以及一系列示例项目,如jbpm-demo,用于帮助用户更好地理解和应用jbpm。 工作流引擎是jbpm的核心组件,它负责解析和执行工作流定义...

    JBPM采购申请系统——08_JBPM流程节点.7z

    JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM...

    jbpm jbpm3 jbpm4 用户和开发指南+教程+最佳实践全套

    jbpm是Java Business Process Management(Java业务流程管理)的缩写,它是一个开源的工作流管理系统,主要用于企业级应用中处理业务流程的自动化。jbpm3和jbpm4是该系统的两个重要版本,提供了丰富的功能来支持流程...

    jbpm4.4 resource-1

    jBPM在2004年10月18日,发布了2.0版本,并在同一天加入了JBoss,成为了JBoss企业中间件平台的一个组成部分,它的名称也改成JBoss jBPM。随着jBPM加入JBoss组织,jBPM也将进入一个全新的发展时代,它的前景是十分...

Global site tag (gtag.js) - Google Analytics