轉帖|行業資訊|編輯:郝浩|2015-12-15 14:56:23.000|閱讀 347 次
概述:本文講述了為了實現各種復雜的業務邏輯,K2流程系統中所提供的五大業務規則。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
在K2流程系統中,流程中的任何一個執行節點(一個節點可以包含多個事件)都可能包含客戶端事件,服務器端事件,以及子流程(IPC,Inter Process Communication)事件,或者其他事件。通常情況下,我們需要在流程節點中包含大量的業務邏輯,比如:流程節點的執行者是誰?在執行者啟動流程節點任務之前哪些前提條件必須要滿足,等等。流程節點是流程中的關鍵元素,任務執行者在流程節點做出審批、輸入數據或者提取數據。
為了實現各種復雜的業務邏輯,K2提供了以下的業務規則:
Preceding Rule是一種邏輯表達式,當表達式為真時,一個流程節點才可以開始執行。換句話說:什么條件為真的情況下,流程任務才可以產生。K2提供了And,Or和Xor等3種邏輯判斷符,能夠實現邏輯組合。
Start Rule是一個時間規則,代表一個流程任務什么時候開始。比如,可以在流程發起后等待2小時再開始這個流程任務,或者當某個流程變量為真的情況下,再等待2小時開始流程任務。
用于指定誰來執行任務。默認情況下,K2的用戶信息來自于Active Directory,因此,它可以非常方便地將任務提交給用戶的Manager。如果有多個可能的任務執行者,我們可以先把所有可能的執行者添加到Destination Rule中,然后對每個Rule設定條件,比如:當A為真,發送給Originator的Manager,當B為真,發送給GeneralManager;或者可以預先定義一個Destination Queue,把這個Destination Queue直接指定任務執行者。
如果希望某些任務必須在一定時間內完成,比如8小時,如果超過8小時任務依然沒有被執行,我們必須執行一定的操作(比如:強制本任務過期,或者強制本任務過期并且將流程流轉到某一個流程節點,等等),這樣的情形下,我們就可以定義任務的過期規則。過期規則用于指定什么時候和如何執行這樣的操作。
Succeeding Rule是一個邏輯表達式,當它為真時,某個流程節點才可以完成。換句話說就是:什么情況下流程節點才可以結束。比如:有一個審批任務,需要同時發給5個部門經理作審批,我們希望:只要他們中的一個不同意,流程就執行下一步操作(否決后的操作);至少有3個部門經理同意,流程就流轉到下一步操作(同意后的操作)。這是K2一個非常好的規則,因為每個部門經理的審批意見都會保存在各自的Slot中,流程中的變量值不會互相覆蓋,這樣就可以非常方便地查詢各個經理的審批意見,而不需要為每個經理都定義變量。K2提供了And,Or和Xor等3種邏輯判斷符,能夠實現邏輯組合。
本文轉載自
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn