论坛首页 Java企业应用论坛

工作流系统:在误区中漫步

浏览 14312 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-06-06  
引用

二、如何对参与者进行动态解析?
这应该由“工作项管理系统”(workitem manager)负责。jbpm有,osworkflow就没有,它通过扩展机制让用户自己处理(内置了的几个简单实现)。


什么是对参与者动态解析
0 请登录后投票
   发表时间:2008-06-06  
在系统中,我们不应该指望它能够自己主动的寻找参与者,这样的做法最终会导致整个流程的不确定性增加,最后变的不可控制
我们需要做的是“提供给用户一个选择,而不是替用户做选择”

0 请登录后投票
   发表时间:2008-06-06  
“工作流”这东西,总感觉有点不实在。

还是自己编码来得放心。
0 请登录后投票
   发表时间:2008-06-06  
to lgx522
这是因为你没有遇到复杂的流程,如果用户要求你自定义流程,自己写实现是“基本”不可能的
^_^
0 请登录后投票
   发表时间:2008-06-08  
deepthink 写道
在系统中,我们不应该指望它能够自己主动的寻找参与者,这样的做法最终会导致整个流程的不确定性增加,最后变的不可控制
我们需要做的是“提供给用户一个选择,而不是替用户做选择”



以前做过一个Jbpm工作流的应用,流转时,是将工作流转到一个节点,然后系统根据用户是否有处理该节点的权限,来控制他是否可以处理该工作。这样的话,当一个处理人不能处理该工作是,只要将其他用户授权该节点,他就可以处理该任务了。

如果在流转时,是将工作直接流转到用户,那么当一个用户不能(比如出差)处理时,那么这个任务就只能够停止,一直等到处理人能够处理
0 请登录后投票
   发表时间:2008-06-08  
作为一个相对完善的工作流引擎,应该具备基本的意外情况处理能力,比如楼上说的出差不在的情况。
该如何做应参考实际业务中是如何处理的,而不应该局限于技术层面的东西。一般情况下,上一步处理的人取回该工作并重新提交给其他人是一种处理方法,由流程管理员参与重新调度该流程给其他人也是另外一直处理办法,甚至某人把身份密码高速其他人去处理也是可行的方案:)
总之,结合实际业务去考虑,不应停留在技术模型本身。
0 请登录后投票
   发表时间:2008-06-11  
deepthink 写道
在系统中,我们不应该指望它能够自己主动的寻找参与者,这样的做法最终会导致整个流程的不确定性增加,最后变的不可控制
我们需要做的是“提供给用户一个选择,而不是替用户做选择”



错,流程运行的一个重要环节就是处理人,一个好的工作流系统,必然是将处理人都定义在流程中,当然要有非常完善的逻辑关系来确定处理人,例如按组织架构,按角色,按关系等,让用户自己去选择处理人那是最后的选择,试想一下,每个节点都让用户选择下一步处理人,那和发邮件有什么不一样?让流程随意的流转,那才是不可控制的。
1 请登录后投票
   发表时间:2008-06-11  
ltian 写道
关于动态诠释 参与者,我想的一个方案就是用企业业务逻辑规则这个概念来解决。
关于某个业务,涉及某些条件由谁批准的问题。如果能够很好地抽象出这些就可以解决这个问题。
比如说:
   业务     条件        执行者      
车费报销   金额<50元     科长
车费报销   100>金额>50   处长
车费报销   金额>100      局长
如果企业建立一套这样的业务规则库,系统中应用业务规则引擎迅速找到执行者,
再将其赋给工作流系统的参与者,工作流就可以运作。 工作流系统要和业务规则引擎系统,以及企业组织机构建模良好地配合,才能更加灵活和强大。
目前,我所做的权限资源管理平台正在朝这个方向发展。由于时间和精力问题,现在还抽不出精力解决这个问题,但是我想迟早要将企业的业务规则同授权系统以及工作流系统要很好地整合起来,提供更加灵活和强大的平台。


如果你是开发自己企业应用的工作流系统,我建议你找第三方的产品来实现,都是现成的功能,也许就相当于你一个程序员的年薪而已。
  • 描述: 画个流程图,定义分支条件,指定处理人,只花10几分钟
  • 大小: 126.7 KB
0 请登录后投票
   发表时间:2008-06-12  
ayeah 写道
deepthink 写道
在系统中,我们不应该指望它能够自己主动的寻找参与者,这样的做法最终会导致整个流程的不确定性增加,最后变的不可控制
我们需要做的是“提供给用户一个选择,而不是替用户做选择”



错,流程运行的一个重要环节就是处理人,一个好的工作流系统,必然是将处理人都定义在流程中,当然要有非常完善的逻辑关系来确定处理人,例如按组织架构,按角色,按关系等,让用户自己去选择处理人那是最后的选择,试想一下,每个节点都让用户选择下一步处理人,那和发邮件有什么不一样?让流程随意的流转,那才是不可控制的。

我认为不应该将人定义在流程中,而是将群组定义在流程中,提供给用户"一组人"选择,这样既能控制又能变通
0 请登录后投票
   发表时间:2008-06-12  
ayeah 写道
deepthink 写道
在系统中,我们不应该指望它能够自己主动的寻找参与者,这样的做法最终会导致整个流程的不确定性增加,最后变的不可控制
我们需要做的是“提供给用户一个选择,而不是替用户做选择”



错,流程运行的一个重要环节就是处理人,一个好的工作流系统,必然是将处理人都定义在流程中,当然要有非常完善的逻辑关系来确定处理人,例如按组织架构,按角色,按关系等,让用户自己去选择处理人那是最后的选择,试想一下,每个节点都让用户选择下一步处理人,那和发邮件有什么不一样?让流程随意的流转,那才是不可控制的。

你这个可能有些武断,把人写死在流程里应该是可以动态指定人的一个特例出现,而不是规则.
试想,有一个流程在一个公司里不同的几组人重复使用,又怎么能够把人固定在里面呢!
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics