【轉載】 K2 blackpearl 中的商務規則(Rules)

來源:互聯網
上載者:User

在K2流程系統中,流程中的任何一個執行節點(一個節點可以包含多個事件)都可能包含用戶端事件,伺服器端事件,以及子流程(IPC,Inter Process Communication)事件,或者其他事件。通常情況下,我們需要在流程節點中包含大量的商務邏輯,比如:流程節點的執行者是誰?在執行者啟動流程節點任務之前哪些前提條件必須要滿足,等等。流程節點是流程中的關鍵元素,任務執行者在流程節點做出審批、輸入資料或者提取資料。 
為了實現各種複雜的商務邏輯,K2提供了以下的商務規則: 
1. Preceding Rule(前置規則) 
Preceding Rule是一種邏輯運算式,當運算式為真時,一個流程節點才可以開始執行。換句話說:什麼條件為真的情況下,流程任務才可以產生。K2提供了And,Or和Xor等3種邏輯判斷符,能夠實現邏輯組合。

2. Start Rule(開始規則) 
Start Rule是一個時間規則,代表一個流程任務什麼時候開始。比如,可以在流程發起後等待2小時再開始這個流程任務,或者當某個流程變數為真的情況下,再等待2小時開始流程任務。

3. Destination Rule(執行人規則) 
用於指定誰來執行任務。預設情況下,K2的使用者資訊來自於Active Directory,因此,它可以非常方便地將任務提交給使用者的Manager。如果有多個可能的任務執行者,我們可以先把所有可能的執行者添加到Destination Rule中,然後對每個Rule設定條件,比如:當A為真,發送給Originator的Manager,當B為真,發送給GeneralManager;或者可以預先定義一個Destination Queue,把這個Destination Queue直接指定任務執行者。

4. Escalation Rule(到期規則) 
如果希望某些任務必須在一定時間內完成,比如8小時,如果超過8小時任務依然沒有被執行,我們必須執行一定的操作(比如:強制本任務到期,或者強制本任務到期並且將流程流轉到某一個流程節點,等等),這樣的情形下,我們就可以定義任務的到期規則。到期規則用於指定什麼時候和如何執行這樣的操作。

5. Succeeding Rule(後置規則) 
Succeeding Rule是一個邏輯運算式,當它為真時,某個流程節點才可以完成。換句話說就是:什麼情況下流程節點才可以結束。比如:有一個審批任務,需要同時發給5個部門經理作審批,我們希望:只要他們中的一個不同意,流程就執行下一步操作(否決後的操作);至少有3個部門經理同意,流程就流轉到下一步操作(同意後的操作)。這是K2一個非常好的規則,因為每個部門經理的審批意見都會儲存在各自的Slot中,流程中的變數值不會互相覆蓋,這樣就可以非常方便地查詢各個經理的審批意見,而不需要為每個經理都定義變數。K2提供了And,Or和Xor等3種邏輯判斷符,能夠實現邏輯組合。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.