種工作流模式介紹

上傳人:奇*** 文檔編號:253364255 上傳時間:2024-12-12 格式:PPT 頁數(shù):25 大?。?28KB
收藏 版權(quán)申訴 舉報 下載
種工作流模式介紹_第1頁
第1頁 / 共25頁
種工作流模式介紹_第2頁
第2頁 / 共25頁
種工作流模式介紹_第3頁
第3頁 / 共25頁

下載文檔到電腦,查找使用更方便

30 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《種工作流模式介紹》由會員分享,可在線閱讀,更多相關(guān)《種工作流模式介紹(25頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。

1、題頭,*,Internal use only,書式設(shè)定,書式設(shè)定,第,2,第,3,第,4,第,5,*,工作流模式和,JBPM,Work,f,lowPatterns,&JBPM,趙慧,2010,/,08,/,0,3,目錄,jBPM4,介紹,來自國外的,20,種工作流模式,5,種基本控制流模式,(Base Control Flow Patterns),4,種高級分支同步模式,(Advanced Branching and Synchronization Patterns),2,種結(jié)構(gòu)化模式,(,Sturctural,Patterns),4,種包含多實(shí)例的模式,(Patterns involving

2、 Multiple Instances),3,種基于狀態(tài)的模式,(State-based Patterns),2,種取消模式,(Cancellation Patterns),具有中國特色的工作流模式,2,jBPM4,介紹,j,BPM簡介,j,BPM,,全稱是,Java Business Process Management(,業(yè)務(wù)流程管理,),,它是覆蓋了業(yè)務(wù)流程管理、工作流、服務(wù)協(xié)作等領(lǐng)域的一個開源的、靈活的、易擴(kuò)展的可執(zhí)行流程語言框架。,目前最新版本是,jBPM4.4,Business analyst,j,BPM,架構(gòu),j,BPM,的,使用,3,5,種基本控制流模式,Pattern1,順序

3、流,(,Sequence,),定義描述:,在流程中,活動按照預(yù)先設(shè)定的順序一個接著一個的往下執(zhí)行,例 子:,比如申請后進(jìn)行審批,接著往下一個一個的進(jìn)行任務(wù),流 程 圖:,Pattern2,并行分叉,(,Parallel Split,),定義描述:,流程在某個活動之后產(chǎn)生多個分支,例 子:,比如用戶付款后,認(rèn)為分叉為,“,通知用戶款已收到真正送貨,”,和,“,送貨,”,2,個動作,流 程 圖:,Task1,Task2,Task2,Task1,Task2,Task3,Task21,Task31,4,5,種基本控制流模式,Pattern3,同步,(,Synchronization,),定義描述:,在

4、流程中的某個點(diǎn),多個并行的子流程或者活動,合并成一個流程。,流程必須等待所有的分支都執(zhí)行完成后,才能激活后續(xù)活動,這就是,“,同步,”,的意思。,例 子:,比如,“,數(shù)據(jù)歸檔,”,在,“,發(fā)票,”,和,“,付款,”,都完成后才被激活,流 程 圖:,Task1,Task2,Task3,Task31,5,5,種基本控制流模式,Pattern4,獨(dú)占式選擇,(,Exclusive Choice,),定義描述:,一個活動完成后,只能在后面的多個分支中激活一個,即獨(dú)占式分支,例 子:,比如用戶下單后,可以有,N,中付款方式,但是只能選擇其中一種,流 程 圖:,Task1,Task2,Task3,Task

5、21,Task31,Pattern5,簡單聚合,(,Simple Merge,),定義描述:,在流程中有,2,個以上的分支中某一點(diǎn)處被合并成一個分支,只要分支中的一條完成,即可繼續(xù)進(jìn)行。,而其他分支自動結(jié)束,例 子:,比如,“,發(fā)貨,”,在,“,銀行卡支付,”,和,“,貨到付款,”,等支付方式中的一個完成后才被激活,流 程 圖:,Task1,Task2,Task3,Task31,任一,6,基本控制流模式,jBPM,中的綜合實(shí)現(xiàn),5,種基本控制流模式在,JBPM4,中的綜合實(shí)現(xiàn),流 程 圖,:,(,JPDL,),順序,并行分叉,同步,排他選擇,簡單聚合,7,4種高級分支同步模式,Pattern6

6、,多重選擇,(,Multiple Choice,),定義描述:,在流程中,當(dāng)一個活動完成后,有多個分支進(jìn)行選擇,可以選擇執(zhí)行其中的一個或者,N,個分支,例 子:,去世博園玩轉(zhuǎn)門口檢票后可以選擇,AE,個片區(qū)中的,N,個進(jìn)行觀光,流 程 圖:,JBPM,中的支持情況:,JPDL,方式不支持先定義好這里的幾種,然后根據(jù)條件去篩選其中的幾種進(jìn)行,但是,JBPM4.4,之后支持一種叫,foreach,的節(jié)點(diǎn),允許我們在運(yùn)行時制定幾種特定的任務(wù),比如上面例子中的 片區(qū),我們可以在選定后再去循環(huán),BPMN,方式支持根據(jù)條件執(zhí)行多個子分支,Task1,Task2,Task3,Task5,Task4,8,4種

7、高級分支同步模式,Pattern7,同步聚合,(,Synchronizing Merge,),定義描述:,在流程中的某個聚合點(diǎn),流程會等待所有的分支到來,才能激活后續(xù)的活動,如果分支只有一個那么就,變成,Pattern5,的簡單聚合模式;如果存在,2,個以上的分支那就是,Pattern3,的同步模式;,這種模式的關(guān)鍵在于能夠動態(tài)的根據(jù)分支的多少進(jìn)行聚合。,例 子:,游客觀光完,N,個片區(qū)后,系統(tǒng)能夠?qū)⒂慰驮?N,個片區(qū)的信息記錄到 庫,無論,N,為多少,流 程 圖:,JBPM,中的支持情況:,可以通過設(shè)置,JBPM,的,Join,節(jié)點(diǎn)的屬性,multiplicity,的值為某個變量,并在程序中

8、動態(tài)的去修,改該變量的值來制定分支的數(shù)量,Task1,Task2,Task5,Task3,Task4,9,4種高級分支同步模式,Pattern8,多重聚合,(,Multiple Merge,),定義描述:,在流程中的多個分支,都可以激活后續(xù)的活動,也就是會產(chǎn)生多個實(shí)例,例 子:,游客觀光完,N,個片區(qū)后,每個片區(qū)各自的系統(tǒng)可以對游客在自己片區(qū)的信息進(jìn)行存儲,流 程 圖:,JBPM,中的支持情況:,可以通過設(shè)置,JBPM,的,Join,節(jié)點(diǎn)的屬性,multiplicity,的值為某個變量,并在程序中動態(tài)的去修,改該變量的值來制定分支的數(shù)量,Task1,Task2,Task5,Task3,Task

9、4,Task1,Task5,Task3,Task4,Task5,10,4種高級分支同步模式,Pattern9,鑒別器,(,Discriminator,),定義描述:,在流程的某個聚合點(diǎn),,N,個分支的第一個分支到達(dá)后,就立刻激活后續(xù)活動;,與此同時,流程仍然要等待其余的分支完成并忽略完成。,注意:在其余分支未全部完成前,第一個到達(dá)的分支所激活的后續(xù)節(jié)點(diǎn)是無法執(zhí)行的,例 子:,“,個人申請?zhí)峤?”,后,并行提交給,“,第一導(dǎo)師審批,”,、,“,第二導(dǎo)師審批,”,、,“,第三導(dǎo)師審批,”,,,他們中只要有一個完成了,那么就可以提交給學(xué)院做,“,學(xué)院審批,”,,,但是學(xué)院要等這三個都完成之后才能夠執(zhí)

10、行,“,學(xué)院審批,”,。,N-out-of-M,鑒別器模式,跟鑒別器模式一樣的,只是這種模式是,N,個到達(dá)后,激活后續(xù)節(jié)點(diǎn),而剩下的,M-N,個節(jié)點(diǎn)到達(dá)后忽略掉這些節(jié)點(diǎn)。,另外這,M-N,個節(jié)點(diǎn)未完成前,新激活的后續(xù)節(jié)點(diǎn)一樣無法被執(zhí)行,JBPM,中的支持情況:,沒有直接支持這種模式,但是如果通過自定義節(jié)點(diǎn),應(yīng)該是可以處理這種模式的,個人理解:對于里面的,N-1,個,如果會被忽略掉,會顯得沒有什么價值,浪費(fèi)?,11,2種結(jié)構(gòu)化模式,Pattern10,任意循環(huán),(,Arbitrary Cycles,),定義描述:,某一個或多個活動可以反復(fù)執(zhí)行,例 子:,用戶,“,付款,”,,然后,“,拿到汽水,

11、”,,然后中了,“,再來一瓶,”,,然后就重復(fù)做了一次,“,拿到汽水,”,動作,流 程 圖:,Task1,Task3,Task2,Pattern11,隱式終止,(,Implicit Termination,),定義描述:,指著一個流程中,如果沒有活動可以執(zhí)行力,那么流程就會自動終止,例 子:,比如用戶買了汽水后,中了,50,元小獎,但是沒有地方可以兌獎,于是這個流程終止了,流 程 圖:,Task1,Task2,Task3,Task4,12,2種結(jié)構(gòu)化模式,JBPM,中的綜合實(shí)現(xiàn),2種結(jié)構(gòu)化模式,在,JBPM4,中的綜合實(shí)現(xiàn),流 程 圖,:,(,JPDL,),循環(huán),隱式退出,13,4,種包含多實(shí)

12、例的,模式,Pattern12,無同步的多實(shí)例,(,MI without,),定義描述:,在流程中,一個活動可以激活多個實(shí)例,每個實(shí)例相互獨(dú)立,并不需要在后面進(jìn)行同步,例 子:,比如用戶購買了,N,本書,于是后續(xù)的,“,支付賬單,”“,更新客戶,”,可以以書本為單位各自執(zhí)行,流 程 圖:,JBPM中的支持情況,:,支持這種模式,但是不允許在后面進(jìn)行結(jié)束動作,Task1,Task2,Task1,Task2-1,Task2-2,Task2-3,Foreach,節(jié)點(diǎn),14,4,種包含多實(shí)例的模式,Pattern13,設(shè)計時確定的的多實(shí)例,(,MI with a Priori Design Time,

13、Knoledge,),定義描述:,在流程中,被激活的多個實(shí)例需要在某個聚合點(diǎn)聚合,而實(shí)例的個數(shù)在設(shè)計的時候就已經(jīng)知曉率,例 子:,比如,流 程 圖:,JBPM中的支持情況,:,對于設(shè)計時已經(jīng)知道實(shí)例數(shù)量的,最簡單的就是使用多個,Task,節(jié)點(diǎn)來實(shí)現(xiàn)多個實(shí)例,Task1,Task2,Task1,Task2-1,Task2-2,Task2-3,X3,15,4,種包含多實(shí)例的模式,Pattern14,運(yùn)行時確定的的多實(shí)例,(,MI with a Priori,RunTime,Knoledge,),定義描述:,在流程中,被激活的多個實(shí)例需要在某個聚合點(diǎn)聚合,而實(shí)例的個數(shù)在設(shè)計的時候并不知道,,只有在運(yùn)

14、行時根據(jù)條件來決定需要激活多少個實(shí)例,例 子:,比如,流 程 圖:,JBPM中的支持情況,:,對于運(yùn)行時可以知曉實(shí)例數(shù)量的,可以通過設(shè)置,JOIN,節(jié)點(diǎn)的,multiplicity,來實(shí)現(xiàn),Task1,Task2,Task1,Task2-1,Task2-2,Task2-3,Foreach,節(jié)點(diǎn),JOIN,節(jié)點(diǎn),16,4,種包含多實(shí)例的模式,Pattern15,運(yùn)行時無法確定的的多實(shí)例,(,MI without a Priori,RunTime,Knoledge,),定義描述:,在流程中,被激活的多個實(shí)例需要在某個聚合點(diǎn)聚合,而實(shí)例的個數(shù)在設(shè)計的時候并不知道,,該模式與上一個模式的區(qū)別就是,在產(chǎn)

15、生的實(shí)例執(zhí)行時或者已經(jīng)執(zhí)行完時,仍然有新的實(shí)例產(chǎn)生,例 子:,比如訂購,100,臺電腦,涉及多個供應(yīng)商,但那時每個供應(yīng)商供應(yīng)多少臺電腦是不知道的,,因此供應(yīng)商的數(shù)量實(shí)現(xiàn)也不確定,但是每次供應(yīng)商送貨來后,就會將現(xiàn)在所擁有的電腦數(shù)量和,所需的,100,臺進(jìn)行比較,來決定是否要下一個供應(yīng)商進(jìn)行送花,Pattern15,的實(shí)現(xiàn),產(chǎn)生多個實(shí)例,JOIN,節(jié)點(diǎn),在產(chǎn)生的實(shí)例中執(zhí)行的時候產(chǎn)生新的實(shí)例,Pattern15,的實(shí)現(xiàn)主要也是通過,Pattern14,的方式來做的,流 程 圖,:,(,JPDL,),在這里修改計算實(shí)例的數(shù)量并付給,JOIN,節(jié)點(diǎn)的,multiplicity,17,3,種基于狀態(tài)的模式

16、,Pattern16,延遲選擇,(,Deferred Choice,),定義描述:,流程中某個點(diǎn)可以有多個分支進(jìn)行選擇。,與,Pattern4,相比較:,不是基于簡單的數(shù)據(jù)或者決定就可以很明顯地作出選擇,而是會向系統(tǒng)或者執(zhí)行環(huán)境提供,多種可選擇的分支;但是又不同于,AND-Split,模式,延遲選擇只能選擇一個分支執(zhí)行,,一旦選擇了其中第一個分支,那么其他分支就會被撤銷。這種延遲一直會持續(xù)到第一個選擇分支,開始實(shí)際運(yùn)行。,例 子:,收到的一批商品運(yùn)送到各個部門,到底選擇什么樣的運(yùn)行方式,要看資源的可用性,18,3,種基于狀態(tài)的模式,Pattern17,交叉存取并行路由,(,Interleaved Parallel Routing,),定義描述:,或者叫任意順序,指幾個活動必須按順序執(zhí)行,不能同時進(jìn)行,但是這種順序又是不定的,例 子:,體檢的時候有很多項(xiàng)目,這些項(xiàng)目不能同時進(jìn)行,但是可以以隨意順序進(jìn)行,我的理解:,這種任意順序的模式,有一種情況下是可以運(yùn)用的,就是,通過資源多少來判斷優(yōu)先執(zhí)行哪個活動,,,比如若,A,的資源剩余最少,那么就先做,A,的順序,通過,JBPM,的實(shí)現(xiàn)如下:,1

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔

相關(guān)搜索

關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!