《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計(jì)應(yīng)用 > 基于jBPM4的臨時(shí)動(dòng)態(tài)性需求研究
基于jBPM4的臨時(shí)動(dòng)態(tài)性需求研究
蘇 展,劉 鋒
(安徽大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,安徽 合肥 230039)
摘要: 介紹了國內(nèi)目前的工作流領(lǐng)域特點(diǎn),尤其對(duì)臨時(shí)動(dòng)態(tài)性需求(會(huì)簽、撤銷、任意回退等)的各種場(chǎng)景進(jìn)行了分析,提出了基于jBPM4的解決思路及一種動(dòng)態(tài)路由的方法,以解決臨時(shí)回退的問題。
Abstract:
Key words :

摘  要: 介紹了國內(nèi)目前的工作流領(lǐng)域特點(diǎn),尤其對(duì)臨時(shí)動(dòng)態(tài)性需求(會(huì)簽、撤銷、任意回退等)的各種場(chǎng)景進(jìn)行了分析,提出了基于jBPM4的解決思路及一種動(dòng)態(tài)路由的方法,以解決臨時(shí)回退的問題。
關(guān)鍵詞: jBPM;臨時(shí)動(dòng)態(tài)性需求;動(dòng)態(tài)路由

    工作流管理技術(shù)[1-2]作為一種過程建模和過程管理的核心技術(shù),是新興于20世紀(jì)90年代的一種信息化技術(shù)。隨著近些年國內(nèi)企業(yè)、政府信息化的建設(shè),工作流技術(shù)被越來越廣泛地應(yīng)用于業(yè)務(wù)流程管理(BPM)領(lǐng)域。jBPM是一種輕量級(jí)的J2EE開源框架,具有良好的可擴(kuò)展性。其最新版本較jBPM3.2版本,在核心引擎等方面都有較大改動(dòng),本文總結(jié)了新版本的特點(diǎn)。結(jié)合國內(nèi)工作流領(lǐng)域的應(yīng)用特點(diǎn),本文特別針對(duì)臨時(shí)動(dòng)態(tài)性需求,分析了各種場(chǎng)景的情況,給出了應(yīng)用jBPM4的解決思路,為解決臨時(shí)回退的問題,提出了一種動(dòng)態(tài)路由的方法,該方法亦可以用于解決各種臨時(shí)動(dòng)態(tài)性需求的場(chǎng)景。
1 jBPM4特點(diǎn)
    jBPM是JBoss眾多開源項(xiàng)目中的一個(gè)工作流開源項(xiàng)目,也是目前應(yīng)用最廣泛的工作流項(xiàng)目。在2009年7月10日,JBoss jBPM團(tuán)隊(duì)發(fā)布了jBPM4的正式版本。jBPM4完全基于流程虛擬機(jī)(PVM)的機(jī)制,對(duì)核心引擎進(jìn)行了重新設(shè)計(jì),而PVM的引入也使jBPM4可以支持多流程語言[3]。jBPM4特點(diǎn)如下:
    (1)在流程定義的對(duì)象上,節(jié)點(diǎn)類型劃分更清晰。
    (2)基于觀察者模式的事件監(jiān)聽(Event-Listener)機(jī)制。在jBPM4中活動(dòng)節(jié)點(diǎn)對(duì)象(ActivityImpl)、轉(zhuǎn)移對(duì)象(TransitionImpl)、流程定義對(duì)象(ProcessDefinitionImpl),全都繼承了ObservableElementImpl對(duì)象,因此,組成流程定義的3個(gè)主要元素都可作為觀察者模式中的被觀察者來觀察,而這些對(duì)象本身就直接支持注冊(cè)各種事件(Event),然后由監(jiān)聽器(Listener)來監(jiān)聽這些Event。
    (3)基于ExecutionImpl、Command模式和AtomicOperation實(shí)現(xiàn)的內(nèi)核引擎在jBPM4中用ExcutionImpl代替jBPM3中Token機(jī)制。流程的流轉(zhuǎn)依賴于ExcutionImpl調(diào)用各個(gè)AtomicOperation原子操作,如ExecuteActivity、MoveToParentActivity、TransitionTake、TransitionStartActivity、ExecuteEventListener、TransitionEndActivity進(jìn)行推進(jìn),而ExecutionImpl在各個(gè)實(shí)例對(duì)象之間進(jìn)行轉(zhuǎn)移。
    (4)加入了歷史庫,但還不完善。
2 國內(nèi)工作流領(lǐng)域的特點(diǎn)
    目前國內(nèi)在工作流領(lǐng)域[4]主要的應(yīng)用是人工工作流,也就是以人工任務(wù)密集型的工作流為主。隨著國內(nèi)企業(yè)和公共組織的信息化發(fā)展越來越快,IT系統(tǒng)的積累和建設(shè)經(jīng)驗(yàn)也越來越豐富,以自動(dòng)任務(wù)密集型為主的應(yīng)用將會(huì)逐漸增多。人工任務(wù)密集型工作流的應(yīng)用主要集中在以下領(lǐng)域:電子政務(wù),行政審批,企業(yè)協(xié)同辦公,電信、電力的工單,企業(yè)采購、合同、銷售等。
    從功能需求上,這些人工任務(wù)密集型流程的典型特點(diǎn)主要有:(1)用戶友好的流程定義工具。(2)表單能夠自定義。(3)靈活的臨時(shí)動(dòng)態(tài)性需求,例如:任意回退、會(huì)簽、撤銷等。這些需求,存在很強(qiáng)的人為性因素。
    國內(nèi)專注于工作流產(chǎn)品方面的公司起步較國外晚,其產(chǎn)品大多只專注于某個(gè)行業(yè)的具體需求,如:有生博大的工作流產(chǎn)品主要定位于“電子政務(wù)系統(tǒng)中的審批流”;西安協(xié)同的工作流產(chǎn)品偏重于“電信行業(yè)”;信雅達(dá)的工作流產(chǎn)品偏重于“金融行業(yè)”;上海東蘭的工作流產(chǎn)品則偏重于“協(xié)同領(lǐng)域”等等。
3 各種臨時(shí)動(dòng)態(tài)性需求情況的解決思路
    jBPM4是由國外開源小組領(lǐng)導(dǎo)的項(xiàng)目,流程定義工具和表單設(shè)計(jì)并不是其項(xiàng)目的特點(diǎn),但其在流程處理方面的思想有其特色,特別是流程核心引擎的架構(gòu)很值得學(xué)習(xí)研究。筆者在學(xué)習(xí)研究的過程中,對(duì)國內(nèi)靈活的各種臨時(shí)動(dòng)態(tài)性需求的場(chǎng)景進(jìn)行了模擬分析,提出了如何應(yīng)用jBPM4來解決問題的思路。
3.1 會(huì)簽
    會(huì)簽在政府或企業(yè)都是必不可少的功能,尤其是審批流中。會(huì)簽可以分為單步會(huì)簽(只有1個(gè)審批環(huán)節(jié))及多步會(huì)簽(每1個(gè)子審批流有多個(gè)審批環(huán)節(jié))。單步會(huì)簽:在流程的某個(gè)環(huán)節(jié)需要由多個(gè)辦理人(多個(gè)不同部門的領(lǐng)導(dǎo))共同辦理或者簽署意見,這是企業(yè)或政府的內(nèi)部最為常見的情況。多步會(huì)簽(也稱為并聯(lián)審批):其實(shí)質(zhì)就是一個(gè)單步的審批環(huán)節(jié)變?yōu)榱嗽诓块T內(nèi)部一個(gè)比較復(fù)雜的審批流程,這個(gè)審批流程有多個(gè)審批環(huán)節(jié)。
    多步會(huì)簽的情況較為復(fù)雜,本文只提供應(yīng)用jBPM4解決單步會(huì)簽的思路:即對(duì)TaskService進(jìn)行擴(kuò)展開發(fā),實(shí)現(xiàn)動(dòng)態(tài)任務(wù)實(shí)例的創(chuàng)建,參照TaskActivity類中的方法進(jìn)行擴(kuò)展,擴(kuò)展后再調(diào)用addTaskParticipatingUser( )或addTaskParticipatingGroup( )方法實(shí)現(xiàn)動(dòng)態(tài)增加任務(wù)辦理人,此時(shí)即實(shí)現(xiàn)了單步會(huì)簽功能。
3.2 撤銷
    撤銷是指任務(wù)在發(fā)送給下一個(gè)辦理人之后,發(fā)現(xiàn)任務(wù)發(fā)送錯(cuò)誤,此時(shí)在下一個(gè)辦理人還沒有辦理之前,可以撤回當(dāng)前任務(wù),而重新選擇其他人進(jìn)行辦理。串行流程如圖1所示。

    節(jié)點(diǎn)2的處理人(假設(shè)是王二)辦理完畢之后,將任務(wù)提交,此時(shí)任務(wù)到達(dá)了節(jié)點(diǎn)3(假設(shè)李三辦理),這時(shí)李三就會(huì)收到一個(gè)待辦任務(wù),在李三還沒有辦理之前,王二突然發(fā)現(xiàn),有1個(gè)業(yè)務(wù)數(shù)據(jù)填寫錯(cuò)誤,或者粘貼的附件錯(cuò)誤,這時(shí)王二需要將發(fā)送給李三的任務(wù)撤銷,重新更正數(shù)據(jù)后或修改粘貼的附件后再發(fā)送給李三審批。此外,假設(shè)節(jié)點(diǎn)3的辦理人有2個(gè)人(李三和趙五),那么王二需要在運(yùn)行期間根據(jù)業(yè)務(wù)特性手動(dòng)地選擇任務(wù)是提交給李三還是趙五,但由于王二的誤操作,把本來應(yīng)該發(fā)給趙五的辦理任務(wù)錯(cuò)發(fā)送給了李三,此時(shí),在李三辦理之前,王二也可以將發(fā)送給李三的任務(wù)撤銷,然后重新發(fā)送給趙五。
    對(duì)于上述模擬的撤銷,jBPM4解決思路如下:
    (1)刪除需要撤銷的任務(wù)實(shí)例及其與此任務(wù)實(shí)例相關(guān)的所有工作流實(shí)例。在文件TaskServiceImpl.java中,jBPM4提供了級(jí)聯(lián)刪除任務(wù)實(shí)例的相關(guān)方法:
    public void deleteTaskCascade(String taskId) {
        commandService.execute(new DeleteTaskCmd(taskId,true));
    }
    (2)修改當(dāng)前任務(wù)實(shí)例的狀態(tài)。即將張三的已經(jīng)辦理完畢的節(jié)點(diǎn)2對(duì)應(yīng)的TaskInstance的狀態(tài)更改為待辦狀態(tài):(Task.STATE_OPEN)
    task.setState(ask.STATE_OPEN);
    taskService.saveTask(task);
3.3 任意回退
    回退作為審批流最常見的需求,每1個(gè)審批環(huán)節(jié)都有可能會(huì)有審批通過、不通過2種情況。審批不通過時(shí),一般是回退到上一個(gè)環(huán)節(jié),但是在某些情況下,有可能跨環(huán)節(jié)回退,而到底回退到哪個(gè)環(huán)節(jié),可以由用戶根據(jù)業(yè)務(wù)需求進(jìn)行自定義,并且在回退環(huán)節(jié)工作完成之后,其下一步的方向也可以由用戶自定義。下面根據(jù)各種不同的回退分別模擬并給出解決思路。
3.3.1 串行流程
    串行流程,最直接的方式就是在需要回退的各個(gè)節(jié)點(diǎn)之間建立回退線,如圖2所示。如果需要從節(jié)點(diǎn)4回退到節(jié)點(diǎn)2,則直接在節(jié)點(diǎn)4之后加1個(gè)分支決策節(jié)點(diǎn),連接2個(gè)分支,1個(gè)是流向節(jié)點(diǎn)5,1個(gè)是返回節(jié)點(diǎn)2。

    對(duì)于節(jié)點(diǎn)2,在jBPM4中,其參與模式又分為4種:task-assignee(assignee user、assignee expression)、task candidates(candidate-groups、candidate-users)、task assignment handler、task swimlanes。
    (1)task-assignee任務(wù)的辦理人的值可以直接指向1個(gè)特指的用戶的ID或者1個(gè)關(guān)聯(lián)到業(yè)務(wù)中某個(gè)特指用戶的表達(dá)式(如order.owner)。此時(shí),如果assignee賦予了1個(gè)特指用戶的ID,回退時(shí)不用做任何處理;如果assignee賦予了1個(gè)業(yè)務(wù)表達(dá)式,在回退時(shí),需要保證業(yè)務(wù)表達(dá)式的運(yùn)算邏輯能夠正確執(zhí)行。
    (2)如果task candidates任務(wù)的辦理人為幾個(gè)特定的組的集合或者用戶的集合,實(shí)際上就是俗稱的“競(jìng)辦”。這樣的任務(wù)被稱為groupTask,必須被某一個(gè)組或者用戶拾取才能進(jìn)行辦理,因此,如果回退到這樣的節(jié)點(diǎn)時(shí),需要把任務(wù)回退給當(dāng)時(shí)的拾取人。而拾取人需要到HistoryTask和HistoryDetailImpl 2個(gè)實(shí)體對(duì)應(yīng)的歷史庫中取得。
       (3)task assignment handler任務(wù)的辦理人通過用戶自己編寫的代碼來實(shí)現(xiàn),當(dāng)回退到這樣的節(jié)點(diǎn)時(shí),也不需要做特殊處理,只要保證自己的代碼(AssignmentHandler)在執(zhí)行回退邏輯時(shí)同樣能夠正確執(zhí)行即可。
    (4)task swimlanes任務(wù)的辦理人為“泳道”,回退到這樣的節(jié)點(diǎn)時(shí),任務(wù)的辦理人可以自動(dòng)取得,同樣不需要做任何處理。
    以上4種情況,在回退之后的處理又分為2種情況:一種是按照原來的路徑重新執(zhí)行,即節(jié)點(diǎn)2→節(jié)點(diǎn)3→節(jié)點(diǎn)4;另一種是,節(jié)點(diǎn)2辦理完畢后,直接返回給節(jié)點(diǎn)4。對(duì)于第1種情況,不需要做處理。而對(duì)于第2種情況,由于在節(jié)點(diǎn)2和節(jié)點(diǎn)4之間并沒有一個(gè)轉(zhuǎn)移存在,因此jBPM4也沒有提供支持。針對(duì)這種情況可以通過動(dòng)態(tài)路由(即動(dòng)態(tài)創(chuàng)建轉(zhuǎn)移)的思路來實(shí)現(xiàn)(具體實(shí)現(xiàn)思路見第4節(jié)),實(shí)際上回退也可以用動(dòng)態(tài)創(chuàng)建轉(zhuǎn)移來實(shí)現(xiàn),但不用畫回退線了。
3.3.2 M選N分支流程
    M選N分支流程中,N必須滿足M>N?叟1,假設(shè)回退前流程的執(zhí)行路徑為節(jié)點(diǎn)1→節(jié)點(diǎn)2→節(jié)點(diǎn)4→節(jié)點(diǎn)5,如圖3所示,此時(shí)回退有2種情況:
    (1)由節(jié)點(diǎn)5回退到節(jié)點(diǎn)1,而節(jié)點(diǎn)1在進(jìn)行業(yè)務(wù)數(shù)據(jù)的修改后,直接返回給節(jié)點(diǎn)5的處理人進(jìn)行辦理或?qū)徟?br />     (2)由節(jié)點(diǎn)5回退到節(jié)點(diǎn)1,而節(jié)點(diǎn)1在進(jìn)行業(yè)務(wù)數(shù)據(jù)的修改后,重新按照節(jié)點(diǎn)1→節(jié)點(diǎn)2→節(jié)點(diǎn)4→節(jié)點(diǎn)5的路徑再執(zhí)行1遍。
    情況(2)與情況(1)不同的是:在回退之后繼續(xù)審批時(shí),需要考慮分支節(jié)點(diǎn)的決策條件,在自動(dòng)決策時(shí)要保證決策邏輯正確執(zhí)行;在人工決策時(shí),需要記錄原來的執(zhí)行路徑(保證重走節(jié)點(diǎn)1→節(jié)點(diǎn)2→節(jié)點(diǎn)4→節(jié)點(diǎn)5)。


3.3.3 同步分裂、“與”匯聚流程
    同步分裂、“與”匯聚流程如圖4所示,回退前執(zhí)行的路徑為節(jié)點(diǎn)1→節(jié)點(diǎn)2→(節(jié)點(diǎn)3、節(jié)點(diǎn)4)→節(jié)點(diǎn)5→節(jié)點(diǎn)6。此時(shí)回退有4種不同的情況:
    (1)由節(jié)點(diǎn)6(或節(jié)點(diǎn)5)回退到節(jié)點(diǎn)2(或節(jié)點(diǎn)1),節(jié)點(diǎn)2重新辦理完畢后,直接返回給節(jié)點(diǎn)6的處理人進(jìn)行辦理或?qū)徟?br />     (2)由節(jié)點(diǎn)6(或節(jié)點(diǎn)5)回退到節(jié)點(diǎn)2(或節(jié)點(diǎn)1),節(jié)點(diǎn)2重新辦理完畢后,重新按照節(jié)點(diǎn)2→(節(jié)點(diǎn)3、節(jié)點(diǎn)4)→節(jié)點(diǎn)5→節(jié)點(diǎn)6的路徑再次執(zhí)行1遍。
    (3)由節(jié)點(diǎn)6(或節(jié)點(diǎn)5)回退到節(jié)點(diǎn)3(或節(jié)點(diǎn)4),節(jié)點(diǎn)3(或節(jié)點(diǎn)4)辦理完畢后,直接返回給節(jié)點(diǎn)6。
    (4)由節(jié)點(diǎn)6(或節(jié)點(diǎn)5)回退到節(jié)點(diǎn)3(或節(jié)點(diǎn)4),節(jié)點(diǎn)3(或節(jié)點(diǎn)4)辦理完畢后,按照節(jié)點(diǎn)3(或節(jié)點(diǎn)4)→節(jié)點(diǎn)5→節(jié)點(diǎn)6的執(zhí)行路徑,再次執(zhí)行。

    情況(1)、(2)和(3)處理起來沒有什么問題。但情況4中,當(dāng)流程由節(jié)點(diǎn)6回退到節(jié)點(diǎn)3,節(jié)點(diǎn)3辦理完畢后,重走路徑節(jié)點(diǎn)3→節(jié)點(diǎn)5→節(jié)點(diǎn)6時(shí),在“與節(jié)點(diǎn)”的“與”運(yùn)算邏輯就會(huì)無法執(zhí)行,因?yàn)榱?個(gè)“與”分支(節(jié)點(diǎn)4)并沒有新的實(shí)例產(chǎn)生,流程就會(huì)僵死此處。所以可以通過修改JoinActivity.java這個(gè)類文件中的方法:
    protected boolean isComplete(List<executionimpl> joined
Executions,Activity activity)
在此方法中加入對(duì)該情況的處理代碼即可。
3.3.4 同步分裂、“或”匯聚流程
    同步分裂、“或”匯聚流程如圖5所示,回退前執(zhí)行的路徑為節(jié)點(diǎn)1→節(jié)點(diǎn)2→(節(jié)點(diǎn)3、節(jié)點(diǎn)4)→節(jié)點(diǎn)5→節(jié)點(diǎn)6。此時(shí)回退同樣有4種不同的情況:
    (1)由節(jié)點(diǎn)6(或節(jié)點(diǎn)5)回退到節(jié)點(diǎn)2(或節(jié)點(diǎn)1),節(jié)點(diǎn)2重新辦理完畢后,直接返回給節(jié)點(diǎn)6的處理人進(jìn)行辦理或?qū)徟?br />     (2)由節(jié)點(diǎn)6(或節(jié)點(diǎn)5)回退到節(jié)點(diǎn)2(或節(jié)點(diǎn)1),節(jié)點(diǎn)2重新辦理完畢后,重新按照節(jié)點(diǎn)2→(節(jié)點(diǎn)3、節(jié)點(diǎn)4)→節(jié)點(diǎn)5→節(jié)點(diǎn)6的路徑再次執(zhí)行1遍。
    (3)由節(jié)點(diǎn)6(或節(jié)點(diǎn)5)回退到節(jié)點(diǎn)3(或節(jié)點(diǎn)4),節(jié)點(diǎn)3(或節(jié)點(diǎn)4)辦理完畢后,直接返回給節(jié)點(diǎn)6。
    (4)由節(jié)點(diǎn)6(或節(jié)點(diǎn)5)回退到節(jié)點(diǎn)3(或節(jié)點(diǎn)4),節(jié)點(diǎn)3(或節(jié)點(diǎn)4)辦理完畢后,按照節(jié)點(diǎn)3→節(jié)點(diǎn)5→節(jié)點(diǎn)6的執(zhí)行路徑,再次執(zhí)行。


    由于是“或”匯聚,因此在實(shí)現(xiàn)上不需要做任何其他處理了。
    綜合以上情況,回退本身在理論上有各種各樣的情況存在,再加上業(yè)務(wù)的回退(或者業(yè)務(wù)邏輯補(bǔ)償,如果需要就必須在流程的每個(gè)環(huán)節(jié)進(jìn)行業(yè)務(wù)快照的備份,在回退時(shí)調(diào)用這個(gè)快照進(jìn)行補(bǔ)償),此時(shí)回退可以說是整個(gè)流程體系中最復(fù)雜的。但是在真實(shí)的業(yè)務(wù)情況中,有些可能是根本不會(huì)出現(xiàn)或者很少出現(xiàn),因此要考慮的是能不能通過變通的方式處理。
4 動(dòng)態(tài)路由的思路
    針對(duì)于特定的業(yè)務(wù)實(shí)例,有時(shí)需要在原本沒有轉(zhuǎn)移關(guān)系的環(huán)節(jié)之間進(jìn)行特定的跳轉(zhuǎn),例如在圖1中的串行流程中(1-2-3-4-5),節(jié)點(diǎn)4與節(jié)點(diǎn)2之間是沒有任何轉(zhuǎn)移存在的,但是針對(duì)于某個(gè)運(yùn)行期的特定業(yè)務(wù)實(shí)例,臨時(shí)要求環(huán)節(jié)直接從節(jié)點(diǎn)4回退跳轉(zhuǎn)到節(jié)點(diǎn)2(而略過了節(jié)點(diǎn)3)。此時(shí)就需要在節(jié)點(diǎn)4和節(jié)點(diǎn)2之間由程序動(dòng)態(tài)地創(chuàng)建一個(gè)轉(zhuǎn)移(transition),并設(shè)定為優(yōu)先級(jí)最高,如圖6所示。


    因此在執(zhí)行takeTransition( )方法時(shí),按照優(yōu)先級(jí)將優(yōu)先執(zhí)行動(dòng)態(tài)創(chuàng)建的轉(zhuǎn)移,然后對(duì)外暴露1個(gè)jumpTransition(String destinationActivityName)方法給客戶端。應(yīng)用jBPM4實(shí)現(xiàn)時(shí)可按照如下步驟進(jìn)行擴(kuò)展:
    (1)參照文件CompleteTaskCmd.java擴(kuò)展開發(fā)用于跳轉(zhuǎn)的cmd:JumpTaskCmd。
    (2)參照文件TransitionStartActivity.java的原子操作,定制開發(fā)用于跳轉(zhuǎn)的原子操作JumpTransitionStartActivity。
    由于jBPM4中的執(zhí)行動(dòng)作都是基于Command模式實(shí)現(xiàn)的,因此在擴(kuò)展開發(fā)自己的跳轉(zhuǎn)動(dòng)作時(shí),就可以做到對(duì)jBPM4本身的代碼不做侵入修改而實(shí)現(xiàn)。這種臨時(shí)建立動(dòng)態(tài)路由的思路不僅可以用于回退,同樣可以用于重新操作后的跳轉(zhuǎn)的實(shí)現(xiàn)。
    jBPM作為目前應(yīng)用最廣泛的開源工作流產(chǎn)品,其最新的第4版有著很好的架構(gòu)及擴(kuò)展性。但是由于國外的流程應(yīng)用與國內(nèi)的應(yīng)用有所不同,因此要想讓jBPM4更好地滿足國內(nèi)的流程應(yīng)用的需求,還需要做一定的定制開發(fā)。本文針對(duì)國內(nèi)的流程應(yīng)用的典型特點(diǎn)進(jìn)行了較詳細(xì)的分析,特別針對(duì)臨時(shí)動(dòng)態(tài)性需求的各種情況,給出了基于jBPM4的解決思路(限于篇幅文中并沒有給出很詳細(xì)的可以運(yùn)行的代碼)。本文所做的工作只是工作流應(yīng)用技術(shù)研究的一小部分,還有很多方面需要繼續(xù)學(xué)習(xí)和實(shí)踐,需要進(jìn)行深入的研究。
參考文獻(xiàn)
[1] 范玉順.工作流管理技術(shù)基礎(chǔ)[M].北京:清華大學(xué)出版社,2001.
[2] WfMC-TC00-1003v1. 1. The workflow reference model[S]. 1995.
[3] JBoss官方.jBPM Documentation[EB/OL].http://www.jboss.org/jbossjbpm.2009-09.
[4] 胡長城.工作流講解[EB/OL].www.javafox.org.2009-09.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 免费无码av片在线观看网站 | 九九免费在线视频 | 高柳家动漫在线观看 | 国变精品美女久久久久av爽 | 命带桃花1987在线 | 成人vr视频专区 | www.亚洲com | 久久久.com| 亚洲中久无码永久在线观看同 | 少妇露脸大战黑人视频 | 欧美比基尼| 国产伦子伦视频在线观看 | 成品人片a91观看入口888 | 欧美精品tushy高清 | 在线观看一区二区三区视频 | 秋霞午夜鲁丝一区二区老狼 | 成 人 免费 黄 色 | 男女做www免费高清视频网站 | 人妻体体内射精一区二区 | 任我爽精品视频在线观看 | 国产日韩免费视频 | av不卡在线观看 | 国产普通话bbwbbwbbw | 男生女生羞羞网站 | 真实人妻互换毛片视频 | 亚洲免费国产视频 | 成人免费视频视频在线观看 免费 | 97久久久久久久久久久久 | 亚洲黄色图片网站 | 精品 日韩 国产 欧美 视频 | 欧美一区二区三 | 无码精品国产va在线观看 | 日韩精品亚洲人成在线 | 成人精品毛片国产亚洲av十九禁 | 国产精品久久久久久影视 | 中文字幕乱码视频 | 日本免费一区二区三区最新 | 国产精品久久久久免费观看 | a欧美在线| 国产91观看 | 亚洲欧洲精品一区二区三区 | 已婚少妇露脸日出白浆 | 国产精品免费无遮挡无码永久视频 | 在线一区观看 | 丁香九月婷婷 | 制服丝袜国产在线 | 91亚洲精选 | 丁香六月婷婷开心婷婷网 | 在线免费观看视频黄 | 天堂资源成人√ | 精二青青河边草解释正确的是 | 精品国产一区二区三区2021 | 国语对白做受69按摩 | 精品国产人妻一区二区三区 | 国产日韩欧美激情 | 国产精品无码一区二区在线观一 | 日韩最新视频 | 国产成人综合久久久久久 | 视频一区二区三区免费 | 亚洲av毛片| 97成人在线视频 | 大尺度做爰床戏呻吟舒畅 | 99久久国语露脸精品国产 | 亚洲成人精品久久 | 五月av在线| 无码毛片视频一区二区本码 | 国产无遮挡免费 | 亚洲一区视频在线 | 免费黄色91 | 九九九九九九精品任你躁 | 一个色综合亚洲色综合 | av网址导航 | 国产福利姬喷水福利在线观看 | 国产无套乱子伦精彩是白视频 | 超碰人人搞 | 亚洲精品专区 | 在线不卡日本v二区到六区 免费又黄又爽又猛的毛片 特级西西人体444www高清大胆 | 国产一区在线免费观看 | 性xxxx| 另类 专区 欧美 制服 | 色窝窝无码一区二区三区色欲 | 国内品精一二三区品精 | 国产 日韩 欧美 在线 | 激情久久久久久 | 欧美一区二区三区精品免费 | 少妇又色又爽又刺激视频 | 国内精品久久久久影院日本资源 | 9i看片成人免费 | 成人喂奶露着大乳 | 国产美女永久免费无遮挡 | 色噜噜狠狠一区二区三区 | 国产欧美日韩在线视频 | 91精品少妇偷拍99 | 国产ts人妖系列张思妮在线观看 | 国产精品入口麻豆 | 国产精品久久成人 | 色婷婷香蕉在线一区二区 | 伊人成综合| 91久久极品少妇韩国 | 日本裸体精油4按摩做爰 | 日韩一页| 欧美日韩免费高清 | 中国无码人妻丰满熟妇啪啪软件 | 色婷婷av一区二区三区丝袜美腿 | 日韩 欧美 中文字幕 制服 | 三级做爰在线观看视频 | 精品熟人一区二区三区四区 | 国产精品久久久久野外 | 国产妇女乱码一区二区三区 | 久久久全国免费视频 | 不卡影院av| 日韩精品无码一区二区三区av | 日本裸体丰满少妇一丝不丝 | 涩涩涩综合 | a级成人毛片 | 九九久久久 | 好吊妞视频这里有精品 | 亚洲一二三四区五区 | 成人免费777777 | 国产乱肥老妇女精品视频网站 | 欧美激情二区三区 | 伊人久久99 | 精品久久久中文字幕人妻 | 波多野结衣操 | 亚洲国产精品久久人人爱潘金莲 | 2021最新国产精品网站 | 天天鲁一鲁摸一摸爽一爽 | 欧美理论片在线观看 | 国产视频123 | av在线麻豆| 九九热在线观看 | 精品夜夜澡人妻无码av蜜桃 | 国产乱配视频免费观看 | 黄色美女毛片 | 99色图| 国产精品视频一区二区三区不卡 | 水蜜桃亚洲一二三四在线 | 亚洲无人区码一码二码三码的含义 | 亚洲精品无圣光一区二区 | 国产99在线 | 欧美 | 日韩精品一区二区三区免费视频观看 | h成人在线 | 九九自拍| 国产精品7 | a级高清免费毛片av在线 | 亚洲va欧美va人人爽春色影视 | 欧美性久久久 | 男人天堂2019 | 国产天堂亚洲 | 国产精品久久久久久久竹霞 | 日本在线网址 | 国产毛片高清 | 欧美精品二区三区四区免费看视频 | 午夜精品久久久久久久99樱桃 | 中国黄色一及片 | 四虎影院在线观看免费 | 国产精品综合一区二区三区 | 国产精品黄视频 | 国产欧美日韩精品a在线观看 | a级大片免费看 | 国产美女久久久 | 精品国产免费看 | 奇米影视777久色在线 | 欧美日韩在线视频 | 国产激情四射 | 久久久久久久.comav | 99自拍视频| 成年人的黄色片 | 怡红院av人人爰人人爽 | 午夜黄色网址 | 国精品一区 | 久久精品国产一区二区三区不卡 | 8888四色奇米在线观看 | 女人的天堂av | 男女动漫18动漫免费 | www.超碰在线观看 | 在线色资源 | 中文字幕人妻无码一区二区三区 | 久久不雅视频 | 伊人一区二区三区 | 无码国产精品一区二区免费3p | 亚洲va中文字幕无码毛片 | 黄色在线免费网站 | 天堂躁躁人人躁婷婷视频ⅴ | 一本一本久久a久久精品综合麻豆 | 国产精品亚洲а∨天堂免在线 | 亚洲一区二区三区麻豆 | 一二三国产精品 | 性国产丰满麻豆videosex | 爱吃波客今天最新视频 | 岛国av无码免费无禁网站 | 毛片网 | 久久www香蕉免费人成 | 波多野结衣乳巨码无在线 | 欧美久草| 穿情趣内衣c到高潮av片 | 日本高清成本人视频一区 | 影音先锋女人av鲁色资源网久久 | 国产精华一区二区三区 | 人妻被按摩到潮喷中文字幕 | 中日韩毛片 | 亚洲国产婷婷香蕉久久久久久 | 久久久久久久久99精品大 | 免看一级a毛片一片成人不卡 | 欧美人与性动交g欧美精器 狠狠躁18三区二区一区ai明星 | 91福利免费 | 永久看看免费大片 | 黑人精品一区二区 | 乱h伦h女h在线视频 乱lun合集小可的奶水 | 99久久日韩精品免费热麻豆美女 | 中文字幕丝袜诱惑 | 亚洲精品字幕 | 色91精品久久久久久久久 | 色噜噜狠狠狠狠色综合久一 | 亚洲成人在线免费观看 | 国产哺乳奶水91在线播放 | 成人亚洲欧美 | 女人被狂躁c到高潮喷水电影 | 国产中年夫妇交换高潮呻吟 | 一本之道高清码狼人 | 国产不卡在线播放 | 在线观看污污网站 | 特级a毛片| 久久综合久久自在自线精品自 | 羞羞视频靠逼视频大全 | 日本高清在线播放 | 精品一区二区三区毛片 | www啪| 中文字幕免费在线看 | 中文字幕av网址 | 久久久久久久性潮 | 日韩视频网址 | 国产无套护士在线观看 | 成年在线视频 | 成人免费网站在线 | 精品夜夜澡人妻无码av | 久久久久成人精品免费播放动漫 | 久草日韩 | 91精品亚洲影视在线观看 | 成人做受视频试看60秒 | 肉欲性毛片交国产 | www日本久久 | 国自产拍偷拍福利精品免费一 | 欧美黄色一级视频 | 在线免费观看av网址 | 91成人免费 | 国产亚洲第一伦理片在线c 国产亚洲精品久久久久动 国产亚洲精品久久久久久大师 | 国产精品区一区二 | 亚洲日韩精品欧美一区二区一 | 黑色超薄丝袜脚交爽91 | 99久久久精品免费观看国产 | av小说免费在线观看 | 日99久9在线 | 免费 | 97久久国产亚洲精品超碰热 | 国产91对白在线播放 | 狠狠鲁视频 | 九九国产精品入口麻豆 | 欧美日一本 | 偷窥目拍性综合图区 | 性网站在线观看 | 国产激情久久久久影院 | 欧美群妇大交群中文字幕 | 精品欧洲av无码一区二区三区 | 色婷婷av久久久久久久 | 五月天亚洲视频 | 欧美国产片 | 91免费在线看 | 全国男人天堂网 | 久久久亚洲天堂 | 91爱爱影院 | 中文字幕成熟丰满人妻 | 91瑟瑟| 日本美女一级片 | 一本大道香一蕉久 | 欧美一二三区在线观看 | 精品一区二区三区在线播放视频 | 国产va免费精品观看精品 | 韩国三级在线看 | 日本丰满妇人成熟免费中文字幕 | 国精产品一品二品国在线 | 以色列最猛性xxxxx视频 | 激情黄色一级片 | 久久亚洲日韩看片无码 | 无码午夜成人1000部免费视频 | 亚洲91网| 欧美一级淫片bbb一84 | 中文字幕十一区 | 别cao我了~好爽~轻一点视频 | 亚洲 综合 清纯 丝袜 自拍 | 久久成年网| 探花视频免费观看高清视频 | 无码播放一区二区三区 | 天天操夜夜躁 | 国产成人精品午夜福利 | 日本少妇激三级做爰 | 久久99热只有频精品8 | 国产一性一交一伦一a片 | 婷婷激情五月网 | 午夜偷拍福利视频 | 欧美精品第一页 | 久久精品中文字幕免费 | 日韩极品一区 | 黄色一节片 | www夜夜爱 | 一区不卡视频 | 亚洲熟妇中文字幕五十中出 | 男女做爰全过程免费视频播放 | 日批视频免费看 | 日韩在线不卡视频 | 国产成人小视频 | 性无码一区二区三区在线观看 | 两男一女3p揉着她的奶视频 | 天天国产视频 | 我们的2018在线观看免费高清 | 成年女性特黄午夜视频免费看 | 久久天天躁狠狠躁亚洲综合公司 | 毛片免费视频 | 黄色一级片av| 最近2019年好看中文字幕视频 | 福利资源导航 | 久久中文在线 | 黄色三级免费网站 | 国产黄色免费在线观看 | 亚洲狼人综合 | 国产精品无码一区二区在线看 | 久久日韩乱码一二三四区别 | 国产在线观看码高清视频 | 91麻豆成人 | 亚洲国产午夜精品理论片在线播放 | 欧美人与动物xxxx | 男人的天堂一区 | 久久久av片| 美女性生活视频 | 青草福利| 六十路熟妇乱子伦 | 精射女上司 | 色女人av | 九九激情视频 | 欧美视频一二三 | 又粗又硬又猛又黄网站在线观看高清观看视频 | 国产精品美女久久久久av福利 | 伊人狠狠色j香婷婷综合 | 日本猛少妇色xxxxx | 亚洲女同疯狂舌吻唾液口水美女 | 国产成人免费高清激情视频 | 妇女bbbb插插插视频 | 村上凉子在线播放av88 | a天堂最新版中文在线地址 a天堂最新地址 | 亚洲一区日韩在线 | 国产精品字幕 | 人妻无码视频一区二区三区 | 伊人久久婷婷五月综合97色 | 日本三级理论片 | 综合色导航 | 波多野结衣亚洲一区二区 | 日本一级bbbbbbbbb | 精品乱人伦一区二区三区 | 国产精品第八页 | 亚洲色图婷婷 | 亚洲一区网 | 日日操日日碰 | 国产午夜久久久 | 奇米精品视频一区二区三区 | 亚洲老妇色熟女老太 | 最近中文字幕在线观看 | 10000部拍拍拍免费视频 | 在线免费观看日本 | 性猛交ⅹxxx乱大交孕妇 | 超碰在线人人干 | a级高清免费毛片 | 亚洲精品久久久打桩机小说 | 欧美成人自拍 | www亚洲精品少妇裸乳一区二区 | xxx在线视频 | 午夜视频在线观看免费视频 | 精品视频一二区 | 催眠肉高h喷汁呻吟np | 一区二区三区视频 | 国产艳妇av视国产精选av一区 | 农村少妇野战xxx视频 | 精品av无码国产一区二区 | 亚洲高清国产拍精品网络战 | 一个人看的www视频在线播放 | 全程偷拍露脸中年夫妇 | 免费欧美 | 欧美性色黄大片人与善 | 又爽又色禁片1000视频免费看 | 亚洲国产综合色产精品色在线 | 每日更新在线观看av | 中国美女黄色一级片 | 人人看人人干 | 少妇精品视频一区二区免费看 | 日韩av爽爽爽久久久久久 | 国产电影无码午夜在线播放 | 性高潮久久久久久久 | 天堂中文在线播放 | 九九热久久久99国产盗摄蜜臀 | 嫩草影院av | 日本在线视频www | 国产精品20p | 国产精品一卡二卡三卡四卡 | 91天堂在线| 777视频在线观看 | 亚洲日本香蕉视频 | 国产91清纯白嫩初高中在线观看 | 日本欧美久久久久免费播放网 | 精品国产免费久久久久久尖叫 | 欧美精品一区二区三区一线天视频 | 东方影院av久久久久久 | 国产99精品 | 成人性视频sm | 欧美黄色一级 | 四色最新网址 | 91麻豆精品91久久久久久清纯 | 少妇久久人人爽人人爽人人片欧美 | 欧美日韩午夜群交多人轮换 | 91精品国产色综合久久 | 国产91热爆ts人妖在线 | 国产精品理论片在线观看 | 婷婷中文字幕 | 四虎国产永久在线精品 | 大尺度做爰床戏呻吟2046 | 韩国av免费在线观看 | 欧美成a| 久久久久中文字幕 | 国产高清av在线播放 | 快播怡红院 | 妺妺窝人体色www聚色窝 | 久久综合给合久久狠狠狠97色 | 中文字幕第九页 | 久久日韩乱码一二三四区别 | 亚洲精品久久久乳夜夜欧美 | 麻豆高清视频 | 99热久久这里只精品国产www | 欧美黑人疯狂性受xxxxx喷水 | 国产清纯白嫩初高中在线观看性色 | 亚洲一卡二卡 | 夫の目の前侵犯中文字 | 精品无码一区二区三区爱欲九九 | 日韩精品色呦呦 | 女职员的丝袜 中文字幕 | √天堂资源在线中文8在线最新版 | 欧美国产一区二区三区 | 97色婷婷| 亚洲国产一区久久yourpan | 免费视频黄色 | 国产香蕉97碰碰久久人人 | 男女做爰猛烈啪啪吃奶动床戏麻豆 | 亚洲色偷拍区另类无码专区 | 亚洲女优在线播放 | 久久视频精品在线 | 国产三级精品三级男人的天堂 | 国产精品一区二区三区不卡 | 欧美噜噜久久久xxx 久久精品一区二区免费播放 | аⅴ资源中文在线天堂 | www色涩涩com网站 | 性欧美精品中出 | 精品人妻伦一二三区久久 | 国产3p露脸普通话对白 | 欧美精品乱码久久久久久按摩 | 欧美一区二区三区影院 | 亚洲一区av在线 | 精品国产品香蕉在线 | 国产一级特黄a高潮片 | 欧美做爰啪啪xxxⅹ性 | 国产不卡网站 | 一个人看的www片免费高清视频 | 国产精品一区免费看8c0m | 超碰三级| 得得啪在线 | 最近中文字幕2019在线一区 | 女人被狂躁的高潮免费视频 | 被黑人猛躁10次高潮视频 | 青草内射中出高潮 | 国产日韩aaaa片毛片 | 丝袜操| 9l视频自拍蝌蚪自拍丨视频 | 黄色资源网站 | 天天色综合天天色 | 国产交换配乱淫视频a | 色视频网站在线 | www.欧美精品| 亚洲日韩av无码中文字幕美国 | 久久影音先锋 | 48沈阳熟女高潮嗷嗷叫 | 日韩午夜一区二区三区 | 国产自产c区 | 老少交欧美另类 | 亚洲成人第一区 | 在线观看视频区 | 青青成人| 久久精国| 国产经典自拍 | 99国产欧美久久久精品蜜芽 | 亚洲激情四射 | 日韩精品首页 | 午夜私人影院网站 | 色哥网| 欧美精品久久久久久久免费 | 蜜臀久久精品久久久久久酒店 | 亚洲午夜在线 | 在线黄色免费网站 | 色屁屁www影院免费观看入口 | 久久久久久国产精品mv | 黄色激情小说网站 | 免费观看又色又爽又黄的韩国 | 2023天天操 | 成人免费视频网 | 精品人妻少妇一区二区三区 | 老局长的粗大高h | 日女人免费视频 | 久久www成人_看片免费不卡 | 特级黄一级播放 | 美女国产在线 | 99re视频在线观看 | 嫩草一二三 | 美女网站免费观看视频 | 亚洲精品国产拍在线 | 无码国产69精品久久久久孕妇 | 欧美狠狠爱 | 日日碰狠狠躁久久躁2023 | 乱人伦人妻中文字幕 | 久久99精品久久久久久三级 | 亚洲а∨天堂久久精品喷水 | 国产95在线 | 亚洲 | 中文字幕亚洲精品无码 | 欧美精品午夜 | 国产成人自拍网 | 五月综合激情婷婷六月色窝 | 久久国产一区 | 另类天堂网不卡另类系列 | 久久久久无码精品亚洲日韩 | 国产igao为爱做激情在线观看 | 18禁无遮挡免费视频网站 | 少妇激情av一区二区 | 少妇做爰免费视频网站www | 17c在线视频| 精品久久久久久国产偷窥 | 午夜福利伦伦电影理论片在线观看 | 国产极品粉嫩福利姬萌白酱 | 91社区在线观看高清 | 香蕉在线网 | 在线成人www免费观看视频 | 午夜成人影片 | 红色假期黑色婚礼2 | 神秘马戏团在线观看免费高清中文 | 综合色爱 | 欧美精品一区二区三区在线四季 | 婷婷久久一区二区三区 | 国产精品福利久久 | 成熟少妇一区二区三区 | 国产精品99999 | 亚洲午夜精品在线观看 | 中文字幕免费在线看线人 | 一本色道综合久久欧美日韩精品 | 亚洲熟妇无码一区二区三区导航 | 欧美成人综合色 | 亚洲影院一区二区三区 | 日本黄色免费大片 | 超碰免费视 | 亚洲成av人片久久 | 日韩欧美综合视频 | 欧美精品一区二区视频 | 久久成人麻豆午夜电影 | 国产日韩精品一区 | 免费福利小视频 | 91最新在线 | 久久久久久久综合色一本 | 久久久久久久久毛片精品 | 日本视频在线观看免费 | 国产91精品久久久 | 色综合天天操 | 美女内射毛片在线看3d | a级特黄一级一大片多人 | 一a一片一级一片啪啪 | 亚洲欧洲激情 | 亚洲tv在线| 五月天国色天香国语版 | 日本成人中文字幕 | 波多野结衣高清一区二区三区 | 在线中文字日产幕 | 中文字幕中文有码在线 | 国产综合久久 | 成人免费毛片内射美女-百度 | 国产午夜av秒播在线观看 | 日韩一级色片 | 91porn国产成人福利论坛 | 日韩性生交大片免费看 | 五月99久久婷婷国产综合亚洲 | 天堂…中文在线最新版在线 | 国产大学生av | 九九涩| 91久久精品一区二区 | 成人无码精品1区2区3区免费看 | 天使萌一区二区三区免费观看 | 风韵犹存的岳的呻吟在线播放 | 奇米影视777第四色 奇米影视777四色 | 亚洲aⅴ天堂av天堂无码麻豆 | 久久精彩 | 日韩一级不卡 | 内射中出日韩无国产剧情 | 丝袜 中出 制服 人妻 美腿 | 国产成人精品亚洲午夜麻豆 | 狠狠色婷婷丁香综合久久韩国 | 国产一区二区三区色淫影院 | 色婷婷香蕉 | 人人爱操| 麻豆porn | 久久狠狠一本精品综合网 | 日韩精品福利 | 免费国产羞羞网站视频 | 日韩福利影院 | 夜噜噜| 日韩人妻ol丝袜av一二区 | 伊人啪啪|