工作流之收回

          Posted on 2008-08-28 10:21 黎民 閱讀(293) 評論(0)  編輯  收藏 所屬分類: 工作流原理
          收回:收回是工作流參與者對自己“已辦任務”(對已完成的工作項)的一種操作,即參與者主動對已辦理過的工作項進行重新辦理。

          為什么要收回?

          參與者完成任務后,發(fā)現(xiàn)自己辦理有錯誤等情況后,需要將此任務收回重新辦理。

          工作項的參與方式

          目前有四種方式:共同參與、競爭參與、順序參與、基于角色的共同參與。

          下面會針對這四種方式進行討論。

          工作項收回模式

          1、未觸發(fā)下一節(jié)點的工作項的收回
          即當前任務節(jié)點并未完成,依舊處于執(zhí)行狀態(tài)

          1.1共同參與

          如圖:在節(jié)點A未結(jié)束之前,workitem1、workitem2和workitem3正常完成后可以任意收回。在只產(chǎn)生一個workitem的情況下,不存在未觸發(fā)下一節(jié)點的收回情況。

          1.2順序參與

          如圖:workitem1、workitem2和workitem3順序完成,workitem1在workitem2簽收(包括掛起和手工終止)前可以收回,同樣,workitem2在workitem3簽收(包括掛起和手工終止)前也可以收回。在只產(chǎn)生一個workitem的情況下,不存在未觸發(fā)下一節(jié)點的收回情況。

          1.3競爭參與

          因為只會產(chǎn)生一個workitem,該workitem完成后會立刻觸發(fā)下一節(jié)點,所以不存在未觸發(fā)下一節(jié)點的收回情況。


          1.4基于角色的共同參與

          與1.1相同。

          2、已觸發(fā)下一節(jié)點的工作項的收回

          2.1共同參與

          問題1:多個工作項時誰可以執(zhí)行收回操作?
          workitem1、workitem2和workitem3都可以執(zhí)行收回操作。第一個工作項的收回將會導致節(jié)點B實例的刪除,同時節(jié)點A重新恢復執(zhí)行狀態(tài)。


          問題2:節(jié)點B處于什么狀態(tài)節(jié)點A的工作項可以執(zhí)行收回操作?
          由A觸發(fā)的節(jié)點B處于正在執(zhí)行的狀態(tài),節(jié)點B所產(chǎn)生的工作項:
          a共同參與   工作項均未簽收、掛起或手工終止
          b順序參與    第一個工作項未簽收、掛起或手工終止
          c 競爭參與   工作項均未簽收、掛起或手工終止
          d角色
          同共同參與


          問題3:工作項收回產(chǎn)生的影響?
          節(jié)點A重新執(zhí)行,收回的工作項重新執(zhí)行。節(jié)點B重新恢復未觸發(fā)狀態(tài),B所產(chǎn)生的工作項全部刪除。


          2.2順序參與


          問題1:多個工作項時誰可以執(zhí)行收回操作?
          workitem1、workitem2和workitem3根據(jù)順序可以依次執(zhí)行收回操作。

          2.3競爭參與
          情況簡單,只有一個工作項,所以可以直接收回。


          2.4基于角色的共同參與
          同2.1


          工作流收回模式
          后續(xù)觸發(fā)節(jié)點只能是人工節(jié)點(可以是多個,至少一個),否則不支持收回。目前不支持父子流程之間的收回。
          一個典型的同步匯聚情況:


          節(jié)點1首先執(zhí)行完畢,但是因為是同步匯聚,所以它不會觸發(fā)實際的流轉(zhuǎn);而節(jié)點2的完成則會觸發(fā)節(jié)點3的執(zhí)行。在這種情況下,節(jié)點2的工作項可以執(zhí)行收回操作,而節(jié)點1的工作項因為后續(xù)沒有觸發(fā)節(jié)點而不能收回。

          posts - 57, comments - 3, trackbacks - 0, articles - 1

          Copyright © 黎民

          主站蜘蛛池模板: 南川市| 徐水县| 叶城县| 县级市| 亚东县| 曲周县| 都匀市| 洞头县| 禄丰县| 五常市| 南漳县| 康马县| 桐城市| 富川| 桑植县| 西和县| 民丰县| 信宜市| 陇川县| 蛟河市| 二连浩特市| 正安县| 聂拉木县| 西安市| 蒙自县| 潮安县| 麻城市| 登封市| 蒙城县| 察哈| 随州市| 彭泽县| 青铜峡市| 正阳县| 江城| 桃源县| SHOW| 万载县| 中西区| 阳谷县| 剑河县|