posts - 193,  comments - 520,  trackbacks - 0

收回

收回是工作流参与者对自己“已办任务”(对已完成的工作项)的一种操作,即参与者主动对已办理过的工作项进行重新办理。

为什么要收回?

参与者完成任务后,发现自己办理有错误等情况后,需要将此任务收回重新办理。

工作项的参与方式

目前有四种方式:共同参与、竞争参与、顺序参与、基于角色的共同参与。

下面会针对这四种方式进行讨论。

工作项收回模式

1、未触发下一节点的工作项的收回

即当前任务节点并未完成,依旧处于执行状态


1.1共同参与


如图:在节点A未结束之前,workitem1、workitem2和workitem3正常完成后可以任意收回。在只产生一个workitem的情况下,不存在未触发下一节点的收回情况。


1.2顺序参与


如图:workitem1workitem2workitem3顺序完成,workitem1workitem2签收(包括挂起和手工终止)前可以收回,同样,workitem2workitem3签收(包括挂起和手工终止)前也可以收回。在只产生一个workitem的情况下,不存在未触发下一节点的收回情况。


1.3竞争参与

因为只会产生一个workitem,该workitem完成后会立刻触发下一节点,所以不存在未触发下一节点的收回情况。


1.4基于角色的共同参与

1.1相同。

2、已触发下一节点的工作项的收回

 

2.1共同参与


问题1:多个工作项时谁可以执行收回操作?

workitem1workitem2workitem3都可以执行收回操作。第一个工作项的收回将会导致节点B实例的删除,同时节点A重新恢复执行状态。


问题2:节点B处于什么状态节点A的工作项可以执行收回操作?

A触发的节点B处于正在执行的状态,节点B所产生的工作项:

a共同参与   工作项均未签收、挂起或手工终止

b顺序参与    第一个工作项未签收、挂起或手工终止

c 竞争参与   工作项均未签收、挂起或手工终止

d角色        同共同参与


问题3:工作项收回产生的影响?

节点A重新执行,收回的工作项重新执行。节点B重新恢复未触发状态,B所产生的工作项全部删除。


2.2顺序参与


问题1:多个工作项时谁可以执行收回操作?

workitem1workitem2workitem3根据顺序可以依次执行收回操作。


2.3竞争参与

情况简单,只有一个工作项,所以可以直接收回。


2.4基于角色的共同参与

2.1


工作流收回模式

后续触发节点只能是人工节点(可以是多个,至少一个),否则不支持收回。目前不支持父子流程之间的收回。

一个典型的同步汇聚情况:


节点1首先执行完毕,但是因为是同步汇聚,所以它不会触发实际的流转;而节点2的完成则会触发节点3的执行。在这种情况下,节点2的工作项可以执行收回操作,而节点1的工作项因为后续没有触发节点而不能收回。



http://www.blogjava.net/ronghao 荣浩原创,转载请注明出处:)
posted on 2008-07-15 18:28 ronghao 阅读(1399) 评论(3)  编辑  收藏 所属分类: SOA、BPM

FeedBack:
# re: 工作流之收回
2008-07-15 20:18 | cnodin
请教一下楼主,有哪些工作流产品支持回收呢?  回复  更多评论
  
# re: 工作流之收回[未登录]
2008-07-16 10:47 | duma
比如在电子商务网站中,销售员下了一个订单,且订单是已付款状态,A包装员可以对订单正进包装时,要防止B包装员对同一订单重复包装。  回复  更多评论
  
# re: 工作流之收回
2008-07-16 21:14 | ronghao
@cnodin
这个我还真不清楚,但是在业务里很常见.所以我们设计时进行了支持.
  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
 
<2008年7月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

关注工作流和企业业务流程改进。现就职于ThoughtWorks。新浪微博:http://weibo.com/ronghao100

常用链接

留言簿(38)

随笔分类

随笔档案

文章分类

文章档案

常去的网站

搜索

  •  

最新评论

阅读排行榜

评论排行榜