1. 程式人生 > >探索流程的奧祕之二: 流程的步驟是什麼東東

探索流程的奧祕之二: 流程的步驟是什麼東東

      自從工作流技術誕生以來,人們往往很習慣地把資料處理軟體與工作流軟體如楚河漢界般看成是兩個截然不同的領域,當有哪位新人瞪著兩隻水汪汪的大眼睛虔誠的問工作流專家,“什麼是步驟”時,專家多半會脫口而出,步驟就是流程的節點,業務流轉到節點,對應的操作人就會收到通知,並要求處理節點而已。

        但如果我們再問一句:我們在word中查詢關鍵詞“hello”是不是步驟呢?,不知道專家們怎麼說,這是一種在資料處理軟體領域很常見的功能,但在工作流的世界中,這種操作貌似是沒有哪條能對上號的。

讓我們看一個簡單的例子:

 

        在這個簡答的例子中,我們看到了三個步驟,但實際的業務執行中,真的只需要這三個步驟就“包打天下”了嗎?我們看看如下幾種情況:

  • 我想在稽核前修改通知怎麼辦?

  • 我想在釋出了通知後再修改通知怎麼辦?
  • 我想直接放棄通知怎麼辦?

        如此簡單而常見的操作在工作流領域的專家聽起來可能會撓頭了。但國人很聰明,發明了“回退流”和“自由流”的概念,部分的問題貌似可以解決,我要修改只要“回退”就可以了,但對於放棄通知的處理,“專家”們就有些凌亂了。

        其實歸根到底,是因為我們對步驟/節點的認識並不完善,只認為要通知並需要互動執行的才叫步驟。讓我們再進一步看看有沒有其他形式的步驟吧。

        在這張圖裡,我們增加了兩個黃色的節點,和一個耦合色的節點,與上面不同的是,兩個黃色的步驟是不需要通知的步驟,由執行人隨時可以執行,就像在word

中隨時可以使用“查詢”功能定位字元那樣。現時業務中,這種情況非常多,比如:

  • 員工入職後,可能n年後會離職,可能會調動崗位,可能會改名
  • 上傳文件後,可能會簽出修改,可能會禁用文件,可能會修改文件資訊等
  •  建立專案後,可能會變更成員、變更專案經理、變更要求等等

       而耦合色的步驟是不需要互動執行的步驟,會由系統自動執行。

於是有些人會提出如下疑問

  •  如果已經稽核通過了的通知,再修改時需要重新稽核怎麼辦?
  • 我怎樣多次修改通知?
  • 如果修改通知時,另一個人稽核通知怎麼辦?
  • 對於專案操作,我能否同時既操作專案成員變更,又操作專案要求變更

對於這些問題,我先賣個關子,且聽下回分解。