探索流程的奧祕之一 - 從Petrinet的令牌生成機制缺陷看新的流程令牌生成方式

 

【引】
   流程引擎是諸多業務系統的基礎,也是SAAS型雲計算體系的基礎,目前的流程體系有很多問題,需要建立一個新的理論體系解決它,我無意中找出了這其中的部分端倪,就拋磚引玉的爲大家講講這些事情,希望有耐心的看客能夠有所啓發。

 

目前絕大部分工作流軟件都採用了Petrinet作爲核心架構機制,而Petrinet很重要的流轉環節-“令牌”的生成機制卻大有問題。


在Petrinet中,每一次變遷的實施時,都會取走原有的令牌,而產生新的令牌,即使對於高級Petri網(多維染色Petrinet), 試圖用在一個流程實例中保有多個令牌的系統,其基礎流轉仍是令牌的傳遞而已,具體到系統實現,大多是採用子流程處理。

 

 這種令牌生成的方式,從自然界的現象看,其實並不科學,如果把流程流轉比喻爲一棵大樹的生長過程看,一個嫩芽會形成多少枝杈,並不由嫩芽下面的枝幹決定,而是由嫩芽生長過程的環境決定,可能的情況如下:
 1)發芽後就掉了,具體到業務就是Token可能會自行消失。

 2)長出很多枝杈,一個token經過流轉會產生多個token。

 3)樹枝被刀直接砍斷了,一個token的完成有可能使其他token失效。

 

  因此Token的生成方式絕對不應該根據前一Token的流轉,而應根據步驟操作的要求而自行生成與消亡。

如果這一層面被突破,那麼很多流程設計的概念都可得到簡化,包括

   分支與合併節點:由於每個步驟都有可能生成與銷燬令牌,不再有必要設計分支與合併節點了
   狀態與活動節點:在實施時,這兩個節點總是結對出現的,因此都合併成一種節點即可
 
   將以上兩點簡化後,我們可以看到由此理論設計的流程體系,更符合人類的思維方式,具有更大的適應性

發佈了34 篇原創文章 · 獲贊 8 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章