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