小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

jbpm工作流程定義

 smoking_boy 2005-08-10
jBPM工作流程定義

jBPM來講,工作流由一些節(jié)點和用戶定義的Hander組成。一個工作流從start-state開始,中間經(jīng)過若干個節(jié)點(stateforkmilestone、process-state、decisionjoin),最后結(jié)束于end-state。節(jié)點之間通過transient來連接,指明當(dāng)前節(jié)點下面要經(jīng)過的節(jié)點。經(jīng)過節(jié)點時,jBPM會觸發(fā)相應(yīng)的Hander來完成用戶指定的工作。Hander包括各種事件的ActionHander;指定節(jié)點指定操作ActorAssignmentHandler;定義節(jié)點工作的Hander,包括fork節(jié)點ForkHander,Join節(jié)點JoinHanderdecision節(jié)點的DecisionHander,process-state節(jié)點的ProcessInvocationHandler。jBPMHander都有缺省的實現(xiàn),如果用戶沒有指定相應(yīng)Hander,jBPM就使用缺省Hander。

定義工作流程的時候,可以根據(jù)實際業(yè)務(wù)流程,先畫UML狀態(tài)圖,然后根據(jù)活動圖和jpdl編寫processdefinition.xmljBPM工作流定義文件。狀態(tài)圖的節(jié)點可以對應(yīng)到jpdl的相應(yīng)節(jié)點,比如狀態(tài)對應(yīng)于state、轉(zhuǎn)換(分叉)對于fork。流程定義文件設(shè)計的時候,可以將一些業(yè)務(wù)處理放在Hander處理。

    jBPM節(jié)點實際上是XPDL規(guī)范中Activity的細化,是一種特殊的Activity。start-stateend-state節(jié)點,是由jBPM負責(zé)處理,jBPMstart-state節(jié)點開始工作流程,在end-state結(jié)束工作流程。

state節(jié)點要外部的參與才能進入到下一個狀態(tài),比如請假流程中需要經(jīng)理批準(zhǔn)的步驟。

Join相當(dāng)于activity transition joinfork相當(dāng)于activity transition fork,但是采用怎樣joinfork,用戶可以自己定義。缺省的fork相當(dāng)于XPDL AND FORK,每個分叉都走;缺省的join 相當(dāng)于XPDL AND JOIN,所有分叉都到達后,才進入下一節(jié)點。

Decision相當(dāng)于編程語言中的判斷,由DecisionHander決定下一個要經(jīng)過的節(jié)點。通過自己定義DecisionHander,用戶可以借助decision節(jié)點實現(xiàn)自動節(jié)點,即流程到這里,執(zhí)行一定操作,自動進入下一個節(jié)點。

Process-state相當(dāng)于subflow activity,ProcessInvocationHandler負責(zé)處理具體調(diào)用子流程的過程,比如子流程名稱,傳遞的參數(shù)等。jBPM沒有規(guī)定子流程的調(diào)用過程,只是提供了一個DefaultProcessInvocationHandler,給出了一個調(diào)要的范例。

Milestone是一種特殊的節(jié)點,用于同步兩個執(zhí)行路徑,比如執(zhí)行到milestone節(jié)點后,jBPM就等待,等到另外一條路徑上某個節(jié)點發(fā)出可以繼續(xù)的信號后,jBPM才進入milestone的下一個節(jié)點。節(jié)點通過MilestoneReachedActionHandler來發(fā)消息。

工作流中用到的所有變量通過Variable來說明,變量類型通過type來定義。類型定義必須要繼承org.jbpm.delegation.Serializer接口。變量是作為字符串存儲在數(shù)據(jù)庫中的,因此類型要提供與字符串類型相互轉(zhuǎn)換的方法。jBPM變量的作用域是工作流本身。

流程執(zhí)行到某個節(jié)點的時候,會觸發(fā)節(jié)點的相應(yīng)事件。事件類型包括process-startprocess-end、state-enter、state-leave、state-after-assignment、milestone-enter、milestone-leavedecision-enter、decision-leave、fork-enterfork-every-leavejoin-every-enter、join-leavetransition。事件具體執(zhí)行的操作,用戶通過繼承ActionHander接口來指定。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多