OSWorkflow基本概念

2021-04-02 01:54:33 字數 1260 閱讀 9826

step

大致相當於流程所在的位置。譬如企業年檢,年檢報告書在企業端算乙個step,在工商局算第二個step,在複核視窗算第三個step。每個step可以有多種狀態(status)和多個動作(action),用workflow.getcurrentsteps()可以獲得所有當前的step(如果有並列流程,則可能同時有多個step,例如一次年檢可能同時位於「初審」step和「廣告經營資格審查」step)。

status

流程在某個step中的狀態。很容易理解,譬如「待認領」、「審核不通過」之類的。osworkflow中的狀態完全是由開發者自定義的,狀態判別純粹是字串比對,靈活性相當強,而且可以把定義檔案做得很好看。

action

導致流程狀態變遷的動作。乙個action典型地由兩部分組成:可以執行此動作的條件(conditions),以及執行此動作的結果(results)。條件可以用beanshell指令碼來判斷,因此具有很大的靈活性,幾乎任何與流程相關的東西都可以用來做判斷。

result

執行動作後的結果。這是個比較重要的概念。result分為兩種,conditional-result和unconditional-result。執行乙個動作之後,首先判斷所有conditional-result的條件是否滿足,滿足則使用該結果;如果沒有任何contidional-result滿足條件,則使用unconditional-result。unconditional-result需要指定兩部分資訊:old-status,表示「當前step的狀態變成什麼」;後續狀態,可能是用step+status指定乙個新狀態,也可能進入split或者join。

conditional-result非常有用。還是以年檢為例,同樣是提交年檢報告書,「未提交」和「被退回」是不同的狀態,在這兩個狀態基礎上執行「提交」動作,結果分別是「初次提交」和「退回之後再次提交」。這時可以考慮在「提交」動作上用conditional-result。

split/join

流程的切分和融合。很簡單的概念,split提供多個result;join則判斷多個current step的狀態,提供乙個result。

*     *     *

熟悉這些概念,在流程定義中盡量使用中文,可以給業務**和表現層帶來很多方便。

OSWorkflow基本概念

step 大致相當於流程所在的位置。譬如企業年檢,年檢報告書在企業端算乙個 step 在工商局算第二個 step 在複核視窗算第三個 step 每個step 可以有多種狀態 status 和多個動作 action 用workflow.getcurrentsteps 可以獲得所有當前的 step 如果...

基本概念 C 基本概念

由於工作中需要用到c 編寫的一些工具,有時候需要根據需求修改或者定製工具,所以現在不得不學習一下c 的基礎語法,此為筆記,不成章法!機器語言 組合語言 高階語言 面向過程的程式設計方法 物件導向的程式設計方法 泛型程式設計方法 1 演算法設計 2 源程式編輯 3 編譯 4 連線 5 執行除錯 輸入裝...

基本概念 數控系統基本概念

第一章 基本概念 數控工具機cnc是一種按事先編制好的加工零件程式進行加工的高效 自動化加工裝置。是 computer numerical control machine tools 的簡稱。數控工具機較好地解決了複雜 精密 小批量 多品種的零件加工問題,是一種柔性的 高效能的自動化工具機。西門子系...