论坛首页 Java企业应用论坛

国内开源工作流 Fire Workflow 出炉了

浏览 100704 次
该帖已经被评为精华帖
作者 正文
   发表时间:2009-02-25  
谢谢你的解答,但我还不熟你的这个工作流,不太确定是否符合我的需求。刚试用了一下模拟器,好象跟你在<<.2_通过设计器和模拟器快速了解Fire Workflow>>一文中的不太一样,照你文中的例子,当我画好流程图后,点按钮创建新的流程实例时,没有产生新的WorkItem,受理那个Task也没有变绿色,不能执行到下一步,
0 请登录后投票
   发表时间:2009-02-25   最后修改:2009-02-25
xman 写道
谢谢你的解答,但我还不熟你的这个工作流,不太确定是否符合我的需求。刚试用了一下模拟器,好象跟你在<<.2_通过设计器和模拟器快速了解Fire Workflow>>一文中的不太一样,照你文中的例子,当我画好流程图后,点按钮创建新的流程实例时,没有产生新的WorkItem,受理那个Task也没有变绿色,不能执行到下一步,


首先,Google Code上的Designer有些bug,我编译了新的放在q群里面。我想等一段时间,考虑成熟了再放到googlecode上。

另外,据反映,即使最新版的designer在eclipse3.4上有可能会出错。我收到一些错误报告,好像是Eclipse本身bug导致的。


当然,有不少网友测试过,是可以的。
0 请登录后投票
   发表时间:2009-03-02  
设计得几好啊,架构清晰!
0 请登录后投票
   发表时间:2009-03-02  
nychen2000 写道
xman 写道
我说的并发子流程的意思是,会签的过程也是一个子流程。比如,一张工单需要通过:
部门1班组长审批->部门1中心经理审批->部门1主管审批
部门2班组长审批->部门2中心经理审批->部门2主管审批
部门3......
部门4...
....
各个部门的相关人员的审核才算通过并且各个部门是不确定的。



我觉得你这里最大的不同之处就是“各个部门是不确定的”这个约束。
我用Fire workflow设计了一个父子流程。父流程如下图,这个图没有什么好说的,在“会签审核”环节包含一个子流程Task,该Task调用“会签审核”子流程。


"会签审核"子流程如下图,要达到会签的要求,Task的AssignmentStrategy必须设置为“ALL”。那么“各个部门是不确定的”如何体现呢?这是通过Performer中的"cn.firesoft.xyz.MyAssignmentHandler"实现的。在该Assignment Handler中可以拿到角色名称和TaskInstance,你可以在这个类里面确定哪个或者哪些TaskInstance具体由哪些部门来会签。



另外,你这个案例看上去是“并发”和“子流程”的一个结合,其实并不需要搞得这么复杂,用下面的流程可以更加简洁的完成你的需求。即 将子流程合并到父流程中。



该帖所有的流程定义文件在附件中。


我的理解不是这样的,实际上并联审批是需要启动多个子流程实例的,只有这样,才能满足各个部门的审批互不影响,也就是说部门1的已经审批完了,而部门4的可能还在“班组长审批”阶段,而且这时可能还有会签百分比的需求,就是说,5个部门只要有4个部门审批通过,就可以继续向下执行。而“各个部门是不确定的”是最重要的需求,也就是说,会签的部门是由会签发起人来动态的选择的,例如,A文件需要部门1、部门2、部门4来审批,B文件需要由部门1、部门4、部门5来审批。这个部门的确定必须是由会签发起人在运行期动态选择的。
0 请登录后投票
   发表时间:2009-03-03  
snowfox2008 写道

我的理解不是这样的,实际上并联审批是需要启动多个子流程实例的,只有这样,才能满足各个部门的审批互不影响,也就是说部门1的已经审批完了,而部门4的可能还在“班组长审批”阶段,而且这时可能还有会签百分比的需求,就是说,5个部门只要有4个部门审批通过,就可以继续向下执行。而“各个部门是不确定的”是最重要的需求,也就是说,会签的部门是由会签发起人来动态的选择的,例如,A文件需要部门1、部门2、部门4来审批,B文件需要由部门1、部门4、部门5来审批。这个部门的确定必须是由会签发起人在运行期动态选择的。


这是一个值得思考的问题,我想想先。
0 请登录后投票
   发表时间:2009-03-06   最后修改:2009-03-06
没错,snowfox2008的意思就是我想表达的。但我们现在还没有会签百分比的需求,只是所有部门都会签完之后,才会到达下一个节点。
0 请登录后投票
   发表时间:2009-03-14  
大家可以看看OA上面的工作流设计,我在网上找到了一个在线使用的OA系统(我感觉这个工作流设计挺好的),http://demo.oa8000.com:8888/OAapp/WebObjects/OAApp.woa
0 请登录后投票
   发表时间:2009-03-15   最后修改:2009-03-15
看了,功能上满足目前普通需求,但是从流程的设计上个人感觉还是没有脱离传统的工作流的设计模式,最重要的一点………………无法实现量化和考核。个人认为吧,工作流应该把表单及数据分离,流程仅监控于流程。而流程中的业务应该属于是工作流的附件产品。工作流仅需要的是对流程情况的观察,并对条件情况的判断。而具体的业务应该体现在流程步聚中,而流程步聚的数据应该是与主流程没有任何关系的。这样工作流更利于扩展。从管理的角度上来看,一个领导者所关注的是任务的下达及完成情况,具体任务完成的过程并不是必需的,当然也有需要了解的时候。但多数情况下领导者所关心的则是一个宏观上的任务完成,而每个部门的领导则有可能会去关心任务的细节。所以个人愚见应该工作流只控制流程动作及流程条件,而不监控具体的流程步骤和步骤数据。步骤的数据应该由每个步骤的具体事务来决定。

当进行量化考核这一块我也刚接触不久,不过量化考核体系我认为更关注的是步骤。但要统计步骤的数据就不能将数据太过于依赖于流程。呵呵,思路有点乱……现在还在学习Fire Workflow中,个人认为Fire Workflow的设计思想是较为不错的。但从功能上来看还是不充足的。不管如何我认为作者是一个值得尊敬的人。
0 请登录后投票
   发表时间:2009-03-15  
个人建议,作者在工作流层面还是考虑一下回收的问题,我在我们公司负责维护oa,回收是个很常用的功能,如果没有这个功能实际使用起来会十分麻烦!
0 请登录后投票
   发表时间:2009-03-15  
kjj 写道
个人建议,作者在工作流层面还是考虑一下回收的问题,我在我们公司负责维护oa,回收是个很常用的功能,如果没有这个功能实际使用起来会十分麻烦!


已经增加了该功能,API是WorkItem.withdraw();
将在1.0中发布。
0 请登录后投票
论坛首页 Java企业应用版

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