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
相关推荐
1. **jbpm4表结构和表字段说明**: jbpm4.3表结构和表字段说明文档通常会详细介绍jbpm4中涉及的数据库表,包括实体如任务实例(TaskInstance)、流程实例(ProcessInstance)、工作项(WorkItem)等的表结构和字段...
1. **嵌入式的工作流引擎**:jBPM采用嵌入式设计,这意味着它可以作为应用程序的一部分运行,无需额外的硬件投入,降低了网络和集群的复杂度。 2. **图形化开发工具**:提供可视化流程控制台,使得开发者可以通过...
jbpm jbpm4.3.jar DDDDDDDD
jbpm使用案例,非常不错,大家都来看看吧。
通过查看JBPM的表,我们知道要实现流程监控功能就是把JBPM当中的JBPM_PROCESSDEFINITION(已发布的流程表),JBPM_PROCESSINSTANCE(流程实例表),JBPM_TASKINSTANCE(流程产生的任务实例表)这三张表串联起来就可以...
jbpm-3.1.2.zip 文件包含了 jBpm 的一个重要版本——jBpm 3.1.2,这是一个开源的工作流管理系统,专为构建灵活且可扩展的业务流程解决方案而设计。jBpm 提供了一种方式,使得开发者能够用简单而强大的语言来表达业务...
【jbpm】是一种开源的工作流管理系统,全称为Java Business Process Management。它主要用于处理业务流程的自动化,通过定义和执行工作流程来协调应用系统中的不同组件。jbpm不仅提供了流程建模、部署、执行的能力,...
1. **流程建模语言**:jbPM 3.2支持JPDL(jBPM Process Definition Language),这是一种XML格式的语言,用于定义流程的行为和结构。 2. **动态流程**:jbPM允许在运行时修改流程,增强了流程的灵活性和适应性。 3...
**JBPM JAR包1详解** JBPM,全称Java Business Process Management,是一个开源的工作流管理系统,用于管理和执行业务流程。这个"JBPM JAR包1"包含了JBPM框架的核心组件,为开发者提供了完整的工具链,包括流程设计...
1. **执行引擎**:这是 jBPM 的核心部分,负责解析并执行流程定义。引擎支持多种流程定义格式,包括 BPEL 和 BPMN 等标准,使得用户可以根据自己的需求灵活选择合适的定义方式。 2. **服务组件**:为了使流程能够...
1. **系统架构**:jBPM4.4基于Eclipse Persistence API(JPA)和Hibernate ORM,提供了持久化服务,确保流程实例的可靠存储。它还包括一个规则引擎,如Drools,用于业务规则的处理。 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 希望对大家有帮助。
1. **流程定义**:jPDL通过流程图中的节点(如开始节点、结束节点、任务节点、事件节点等)来描述流程的结构。这些节点之间的连线代表了流程的流转路径。 2. **任务管理**:jPDL允许定义不同类型的用户任务,比如...
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...
jbpm是Java Business Process Management(Java业务流程管理)的缩写,它是一个开源的工作流管理系统,主要用于企业级应用中处理业务流程的自动化。jbpm3和jbpm4是该系统的两个重要版本,提供了丰富的功能来支持流程...
jBPM在2004年10月18日,发布了2.0版本,并在同一天加入了JBoss,成为了JBoss企业中间件平台的一个组成部分,它的名称也改成JBoss jBPM。随着jBPM加入JBoss组织,jBPM也将进入一个全新的发展时代,它的前景是十分...