兩款java工作流引擎BPM領域的流行的20種模式jbpm與ccbpm的對比

 

BPM領域的流行的20種模式

 

jbpmccbpm的對比

 

 

 

目錄

BPM領域的流行的21種模式與ccbpm的支持對比... 2

5種基本控制流模式... 2

Pattern1 順序流(Sequence... 2

Pattern2 並行分叉(Parallel Split... 5

Pattern3 同步(Synchronization... 6

Pattern4 獨佔式選擇(Exclusive Choice... 10

Pattern5 簡單聚合(Simple Merge... 12

4種高級分支同步模式... 12

Pattern6 多重選擇(Multiple Choice... 12

Pattern7 同步聚合(Synchronizing Merge... 16

Pattern8 多重聚合(Multiple Merge... 17

Pattern9 鑑別器(Discriminator... 17

2種結構化模式... 18

Pattern10 任意循環(Arbitrary Cycles... 18

Pattern11 隱式終止(Implicit Termination... 19

2種結構化模式在JBPM4中的綜合實現... 20

4種包含多實例的模式... 21

Pattern12 無同步的多實例(MI without... 22

Pattern13 設計時確定的多實例(MI with a Priori Design Time Knoledge... 23

Pattern14 運行時確定的的多實例(MI with a Priori RunTime Knoledge... 24

Pattern15 運行時無法確定的的多實例(MI without a Priori RunTime Knoledge... 24

3種基於狀態的模式... 25

Pattern16 延遲選擇(Deferred Choice... 25

Pattern17 交叉存取並行路由(Interleaved Parallel Routing... 26

Pattern18 里程碑(Milestone... 29

2種取消模式... 29

Pattern19 取消模式(Cancel Activity... 29

Pattern20 取消實例(Cancel Case... 30

具有中國特色的工作流模式... 31

Pattern1 回退(Reject... 31

定義與描述... 31

Ccbpm的模式... 31

Pattern2 取回... 32

定義與描述:... 32

CCBPM的支持:... 32

Pattern3 委託代辦... 32

定義描述:... 32

ccbpm的授權... 33

Pattern4 催辦 Escalation. 35

定義描述... 35

Ccbpm的支持... 35

Pattern5 自由流... 35

定義與描述... 35

Ccbpm的支持:... 36

Pattern6 會籤... 37

定義與描述... 37

Ccbpm的定義:... 37

總結說明... 40

概述... 40

Ccbpm控制流程運行模式的方式:... 40

Ccbpm 4大流程運轉模式的解釋... 41

 

 

 

 

 

BPM領域的流行的20種模式

本文件以國外流行的20中流程模式的設計與jbpm4的模式案例與當今中國開源的ccbpm流程引擎對照,以便讓各位評估人員能夠瞭解到中國國情的工作流引擎與估計流行的設計規則的差別、不同、與優缺點。以便各位能夠做出正確的ccbpmjbpm評估。

爲了方便預覽,請使用文檔結構圖的模式進行查看。

BPM領域,比較流程通用的就是滿足如下21中流程模式的支持,如下圖:

 

下面的章節裏,我們對這寫模式進行一個個的對比,以找出ccbpmjbpm的差異。

5種基本控制流模式

Pattern1 順序流(Sequence

基本概念

就是按照流程設計的步驟,一步步的向下運行,這樣的模式下每個節點有先後順序,就是每個節點只有一個節點是活動的,如下圖:

 

Ccbpm的支持

這個實際上在ccbpm上來看他是不同的線性流程,也叫順序流程,沒有分支,流程一般在最後一個節點停止,並標識該流程完成,ccbpm允許設置節點的完成條件,與流程的完成條件,當符合該條件時候,流程自動結束。

   ccbpmdemo流程中,如下流程符合這種模式:

 

這樣的流程模式屬於最基礎的流程模式,ccbpm的特點是:允許用戶自己定義流程完成條件,在任何一個節點運行過程中,ccbpm都要去檢查條件設置,如果滿足這個條件流程就自動結束。Ccbpm的流程完成條件設置相對簡單實用、直觀。

條件類型:

 

按照表單條件:

 

對於條件的設置規則,請參考ccbpm的操作手冊,條件規則的設置,在以後很多的場景都用到。

Ccbpm特點

1, 支持條件的圖形化配置,讓其在指定的節點自動結束。

2,條件的配置支持多種方式,因爲ccbpmccform是集成的,所以ccbpm在流程運轉中可以操縱ccform的數據,讓配置更容易,生動,直觀。

3 ccbpm還支持流轉自定義功能,就是說在指定的節點上,可以自己定義以後節點運行的順序與執行人。 請參考:http://ccbpm.mydoc.io/?v=5404&t=17978

Pattern2 並行分叉(Parallel Split

基本概念

Ccbpm的支持

這個屬於ccbpm 異表單分合流,一個動作結束後,並行啓動多個分支,每個分支都要向下運動, 每個分支運行完後自動該分支工作完成,由最後一個分支的完成來決定整體的流程完成。

 

方向條件的設置:如果客戶需要發票,就可以啓動這個分支。

 

Ccbpm的特點

 

 

 

 

1.       Ccbpm的多種方式的規則設置、支持條件的優先級計算,滿足個流程運轉的配置需要。

請參考說明書:http://ccbpm.mydoc.io/?v=5404&t=20865

2,支持多個條件的組合計算。

 

Pattern3 同步(Synchronization

基本概念

 

Ccbpm的支持

這種模式對應的是ccbpm的分河流:爲了讓用戶更容易配置,與理解ccbpm根據同步節點處理的內容是否相同,分爲同表單分河流,與異表單分河流。以上的模式是異表單的分河流,因爲task2,task3所處理的工作是不一樣的,他類似於ccbpm流程案例庫中的飛行考察流程。

在最後的合流節點裏彙總的是多個表單.

 

也類似於國土行業的流程。

 

但是在同步流程中,我們擴展了同表單的分合流,因爲這樣的應用模式很多,並且需要數據彙總,比如:銷售經理下達任務要求每個人彙報上個周的銷售總結,銷售經理彙總銷售清單,如下流程圖:

 

 

流程運行效果如下:

1個點表單:

 

2個點表單:每個子線程同時填寫.

 

 

3個點表單:得到彙總數據。

 

ccbpm特點

1, 根據子線程節點,填寫的內容是否相同,支持同表單分河流,異表單分河流。

2ccbpm可以操縱ccform數據進行彙總,完成複雜的業務數據操作。

3ccbpm有合流節點完成率的概念,可以指定一定的完成率,才能到達合流節點。

4,對於未完成的子線程,ccbpm有子線程的刪除規則,滿足不同情況下的對子線程的刪除操作。

Pattern4 獨佔式選擇(Exclusive Choice

基本概念

Ccbpm的支持

解釋:流程在運行的過程中,根據不同的條件進行不同的走向,在ccbpm看來這樣的也屬於線性流程,就是在一個節點是出現了分支,比如:

當金額小於 1萬的時候,直接報銷。大於1萬的時候,需要走總經理審批,這是一種使用表單的字段作爲一個判斷條件,ccbpm的特點是支持多種方向條件的判斷,比如:按照表單字段值,按照當前人的崗位、當前人的部門,按照url,按照表達式等等,滿足多種場合下的配置需要,並且支持多個條件的組合。

支持優先級計算:比如如果分支的條件有多個的話,同時滿足,如何處理優先級判斷的問題。

 

Ccbpm的特點

Pattern5 簡單聚合(Simple Merge

基本概念

 

Ccbpm的支持:

這種行爲,屬於ccbpm的異表單的分合流概念,在ccbpm中,有一個完成率,來解決此問題。

Ccbpm的特點

這僅是一個簡單的分支,是否可以起用,是通過條件規則,子線程的刪除條件規則來確定的。

 

Ccbpm的完成通過率概念:

http://ccbpm.mydoc.io/?v=5404&t=17945

 

對於子線程(子任務)的刪除操作規則,請參考:

http://ccbpm.mydoc.io/?v=5404&t=17992

4種高級分支同步模式

Pattern6 多重選擇(Multiple Choice

 

基本概念

CCBPM的支持

這種類似於異表單的分合流的模式, 我們看看如下應用場景。

 

發起流程表單:

 

 

 

條件設置

 

 

 

 

Ccbpm的特點

1,  概念少。

2,  配置簡單,可以任意的啓動指定的節點。

 

 

 

 

Pattern7 同步聚合(Synchronizing Merge

 

基本概念

 

Ccbpm的支持

ccbpm的異表單的分河流相同, 解釋說明請參考pattern 5 解釋。

Ccbpm的特點

ccbpm的異表單的分河流相同, 解釋說明請參考pattern 5 解釋。

 

Pattern8 多重聚合(Multiple Merge

基本概念

 

Ccbpm的支持

ccbpm的異表單的分河流相同, 解釋說明請參考pattern 5 解釋。

Ccbpmworkidfid兩個概念,一個是工作ID,一個是流程ID,他們來交替控制整個流程實例與每個子線程實例的狀態。

Ccbpm的特點

ccbpm的異表單的分河流相同, 解釋說明請參考pattern 5 解釋。

 

Pattern9 鑑別器(Discriminator

 

基本概念

Ccbpm的支持

ccbpm中,有兩個屬性的控制,可以實現該功能。

1個:子線程完成率。 該規則可以決定是否可見

2個:子線程刪除規則。該規則決定那些子線程可以被刪除以及他們的刪除方式。

Ccbpm的特點

簡單、可靠。

2種結構化模式

 

Pattern10 任意循環(Arbitrary Cycles

基本概念

Ccbpm的實現

類似於ccbpmdemo中的稿件發佈流程。

 

如果稿件符合要求,就跳出循環否則一直在循環裏修改該文件。

 

 

Ccbpm的特點

完全是條件判斷,在表單中增加一個審覈組件,就可以把每次校驗的信息,寫入裏面,完整的顯示出來整個軌跡。

Pattern11 隱式終止(Implicit Termination

 

基本概念

Ccbpm的實現

這種類型屬於ccbpm的線性流程的一種,該流程配上流程完成條件,就可以實現該功能。

流程完成條件,就是流程在前進中檢查的條件,如果滿足該條件,流程就停止運行,該流程實例結束。

Ccbpm的特點

流程完成條件:配置方式有多種表達式,根據不同的場景可以配置不同的條件。從這一點可以看出21中模式在ccbpm中的一些屬性的配置就可以輕鬆實現。

 

2種結構化模式在JBPM4中的綜合實現

 

 

 

4種包含多實例的模式

 

 

Pattern12 無同步的多實例(MI without

定義與概念

Ccbpm的模式實現

Ccbpm 有兩種方式可以實現,第一種是父子流程,第2中是分合流。這兩種模式都可以實現該種效果,但是不同的模式選擇不同的場景。

 

對於買書這個事例使用分合流更貼切一些實現, 分合流中一次購買是一個主線程,多次付款就是子線程。

 

Pattern13 設計時確定的多實例(MI with a Priori Design Time Knoledge

定義與概念

 

Ccbpm的模式

 

這屬於ccbpm的典型的合流節點處理各個子線程的任務比率。

 

概念:完成率 = 子線程上已經完成的數據/所有子線程數量*100%

說明:該節點對於合流節點與分合流節點有效,當子線程的完成率達到該值的時候,該節點的待辦才能顯示出來,否則該節點的人員不能處理待辦。如果合流節點的處理人能夠看到待辦,他就可以對該流程進行操作,比如:發送、刪除、退回、刪除子線程等等。

 

Pattern14 運行時確定的的多實例(MI with a Priori RunTime Knoledge

 

 

 

Pattern15 運行時無法確定的的多實例(MI without a Priori RunTime Knoledge

 

定義與概念

 

Ccbpm的實現

這種方式屬於ccbpm的父子流程來實現,開始節點啓動一個任務,需要採購100臺電腦,需要發起n此的選擇供應商採購的子流程,每個子流程完成後,就訪問父流程節點信息,進行相關的業務處理(就是是否啓動下一個子流程,如果滿足100,就不啓動子流程了,直接完成父流程的任務,結束主流程.)

 

 

3種基於狀態的模式

 

Pattern16 延遲選擇(Deferred Choice

定義描述

定義描述:流程中某個點可以有多個分支進行選擇。

Pattern4相比較:不是基於簡單的數據或者決定就可以很明顯地作出選擇,而是會向系統或者執行環境提供多種可選擇的分支;但是又不同於AND-Split模式,延遲選擇只能選擇一個分支執行,一旦選擇了其中第一個分支,那麼其他分支就會被撤銷。這種延遲一直會持續到第一個選擇分支開始實際運行。

       子:收到的一批商品運送到各個部門,到底選擇什麼樣的運行方式,要看資源的可用性

 

Ccbpm的模式:

沒有十分的瞭解,該模式,但是ccbpm模式支持方向條件的手工選擇,有當前節點的操作人員來決定流程要發送到什麼地方去。 詳細文檔:http://ccbpm.mydoc.io/?v=5404&t=17992

 

 

運行效果:

 

 

 

Pattern17 交叉存取並行路由(Interleaved Parallel Routing

 

概念與定義

 

 

Ccbpm處理的模式

這是典型的一種多任務分配流程,使用多維度的分合流可以實現,這個流程的特點是,一個操作人員可以處理三個不同的任務,這三個任務屬於三個子線程,與普通的分合流不同的是這三個子線程是同一個人處理。在這裏就決定了,有一個批次號(項目維度),在這裏就是檢查項目。

 

在接收人規則裏:ccbpm對合流的節點處理人有一個這樣的規則約定,下面是該文檔的描述:

關於合流點的接受人按sql獲取接受的表達式的問題

注意子線程向合流點發送時,接受人規則的表達式的變量是臨近合流點的子線程節點變量。

比如: 流程編號爲ABC三個節點.

A 是分流點, C是合流點 C是子線程。

如果C的接受人員規則是按sql計算:

配置的表達式如下表達式是錯誤的:

select UserNo as No, xx as Name from ND2701 WHERE OID=@OID

如下表達式纔是正確的:

select UserNo as No from ND2701 WHERE OID=@FID

這是因爲子線程在發送時獲取的變量OID 是子線程的ID而非,幹流上的WorkID.

關於子線程接受人的特殊約定:

如果遇到分組的維度,就約定返回4個列來解決問題,流程demo:\流程樹\同表單分合流\一人多子線程模式(批次維度任務模式)流程.

在第2個子線程節點配置瞭如下SQL

 

 

 

該數據源返回了三個列,分別是:No,Name,BatchNo No=操作員編號,Name=操作員名稱,BatchNo批次編號。

 

注:這裏的批次號,就可以標識了檢查項目。

 

 

Pattern18 里程碑(Milestone

定義概念

定義描述:一個活動的激活需要一種具體的狀態,比如活動ABC,只有在AB都執行完了的情況下才能執行C

我的理解:這種模式有點類似於順序模式?或者是同步模式?

 

Ccbpm的實現

這個可能類似與ccbpm的延續流程,當一個流程長度很大的時候,需要跨度很多年實施的時候,把該流程截成一段段的,分開設計,一條流程,是上一條流程的延續。

延續流程是父子流程的一種,但是延續流程只有一個段接一段,就是一個父流程有多個子流程,但是延續流程就只能有一個子流程。

2種取消模式

Pattern19 取消模式(Cancel Activity

定義與描述

定義描述:簡單的理解,就是將某個活動取消

       子:比如下好訂單後,“支付貨款”活動正在運行中,此時用戶取消訂單

個人理解:取消某個活動,會引起幾種後續情況:

                   1. 整個流程結束;比如訂單取消後,訂單的這個流程結束。

                   2. 退回上一個節點;比如付款後,用戶取消付款,重新下訂單。

 

Ccbpm的模式:

此模式與ccbpm的流程刪除相同,流程刪除是有刪除規則的,不同的規則應用於不同的刪除場景。在線文檔:http://ccbpm.mydoc.io/?v=5404&t=17992

應用背景: 流程啓動運行後,在一些節點當前處理人有權利執行流程終止,把當前的流程實例進行刪除,根據不同的應用場景刪除的處理方式有很多種,每種刪除方式都對應ccBPM相關的api操作,下面我們把這幾種刪除方式說明一下,以方便讓設計人員根據實際的規則來選擇不同的方式。

不能刪除: 該流程不允許用戶刪除.

邏輯刪除:僅僅做上刪除標記, 數據仍然在節點表單與流程報表裏面.

記錄日誌方式刪除 : 刪除節點表數據,流程報表數據,並記錄到 wf_workflowDeleteLog 表裏作備案.

徹底刪除 : 徹底清除該流程的所有數據,包括該工作實例的節點表單數據、流程報表數據、軌跡數據、退回、移交操作信息。

讓用戶決定刪除方式 : 顯示出對話框,讓用戶選擇上面的刪除方式.

其他:刪除規則的API請查看代碼: BP.WF.Dev2Interface.Flow_DoDeleteFlowBy *

1, 開始節點如果設置了刪除按鈕,如果不是退回來的節點,或者沒有發送過的節點,就可能導致錯誤。

Pattern20 取消實例(Cancel Case

 

定義描述:如果一個活動產生了多個實例,那麼僅僅撤銷這個活動是不夠的

                 要將他所引起的所有實例都移除才行

 

Ccbpm的規則:此規則是 Pattern19的流程刪除實例的一種情況。

具有中國特色的工作流模式

Pattern1 回退(Reject

定義與描述

Ccbpm的模式

 

Ccbpm的退回,是由他的退回規則來確定的,他的退回規則如下:

在線幫助文檔:http://ccbpm.mydoc.io/?v=5404&t=17968

Pattern2 取回

定義與描述:

定義描述:流程由A運轉到B,在B還沒有完成任務前,A的執行者可以收回任務,重新執行

       子:比如科員提交了一份文件給處長審批,處長還沒有簽字前,科員可以自己拿回來重新修改

 

CCBPM的支持:

這裏的取回,相當於ccbpm的撤銷,詳情請參考:

http://ccbpm.mydoc.io/?v=5404&t=17919

 

 

 

Pattern3 委託代辦

定義描述:

工作流的某個活動指派人由於某種原因無法完成任務,但是可以手動指定代辦人

 

 

ccbpm的授權

授權與授權方式登錄,是在ccbpm中可以設置的。

授權就是,我把權利授權給指定的人,授權方式登錄,就是我需要把權利授權給指定的人。

 

授權,有授權範圍,如下圖標識了三種授權範圍:

 

qifenglin進來,進入授權方式登錄:

 

 

退出授權登錄模式

 

 

 

Pattern4 催辦 Escalation

 

定義描述

能夠設置要求,如果某活動中某個時間內還未被完成,將進行通知等活動,甚至是修改活動的執行者

 

Ccbpm的支持

   催辦是在在途中體現出來的,在途就是我參與的工作,該工作沒有完成。

 

催辦之後ccbpm是寫入了消息表 sys_sms ,這個表的數據用於發送郵件,微信、或者短信提醒。

Pattern5 自由流

定義與描述

定義描述:能夠自由人爲的控制流程的流向。

      子:比如設計時定義好的流程A-B-C,但是完成了A以後,認爲的將流程變爲A-C,直接將B給忽略掉.

 

Ccbpm的支持:

指定的節點可以定義未來流程的走向,與指定的節點的處理人,讓流程運轉的控制路徑,在當前節點可以自己定義,也可以插入一條指定的子流程,這就是ccbpm的自由流程的概念。在線幫助文檔:http://ccbpm.mydoc.io/?v=5404&t=17978

 

流轉自定義界面:

 

 

Pattern6 會籤

定義與描述

定義描述:會籤是撰擬公文的過程中,主辦單位主動與有關單位協商並核籤的一種辦文程序,一般當公文的內容涉及本單位的多個部門或與其它單位有關時,需要進行會籤。

      子:比如大學生畢業離校,需要在不同的部門機構進行簽字,全部審覈通過後才能離開學校。

                但是簽字的先後順序可能並沒有指定。

    點:問題在於如果會簽過程中有一個部門審覈不通過,其他已經簽過的部門是否需要重新審覈?

 

 

Ccbpm的定義:

      ccbpm裏是多人處理規則,就是一個節點多個人都可以處理,根據業務場景不同,ccbpm的多人處理規則如下,在線幫助文檔描述的更清楚:

http://ccbpm.mydoc.io/?v=5404&t=17947

根據不用的場景,ccBPM把多人在普通節點下的處理模式分爲如下幾種。

搶辦模式:

A發送到B B節點上有n個人可以處理。這n個人都可以看到待辦,當其中一個人處理後,其他人的待辦就消失了。這樣的工作模式屬於搶辦,這n個人可以同時打開,當一 個人發送後,其他人都不能在發送了。通俗的說,也就是誰搶到了這件工作,就是誰處理的。搶辦模式是一個默認的處理模式。

協作模式:

A發送到B B節點上有n個人可以處理。這個n個人都可以去處理,都可以去發送,有最後一個處理人發送到下一個節點上去,這n個人的處理不分順序。這樣的模式我們叫做協作模式。

協作模式通常用在具有審覈組件的表單中,每個人都可以填寫自己的意見,發表自己的看法,在審覈組件裏審覈每個人在一個節點上只能寫入一條數據,也就是說只能表達一次意見。

也經常用在傳閱的情況下,必須這些人都讀取了,知道了才能向下運動。它與抄送不同的地方是,抄送可以不看,就可以向下運行,但是他必須處理才能向下運行。

通常的協作模式,就是多人都要點擊一下發送功能按鈕,來確認自己處理了,確認自己同意了或者認可了。

隊列模式:

A發送到B B節點上有n個人可以處理。這個n個人按照設置的先後順序去處理,在同一個時間點必須有一個人待辦,其他人看不到。

應用場景: 一個公文發送給一個部門,該部門下n個人可以接受(注意這是一個節點),按照國內的行政制度,這n個人會從小到達排一個隊列,有最小的級別的工作人員審 批,然後依次類推,走到最後由最後一個人發送到下一個節點去。這n個人都是該節點的處理人,這n個人的審覈步驟是由他們的順序確定的,所以在設置該節點的 接受人時,要按照順序執行。

通常這樣的模式也與審覈組件一起使用,每個人表達意見後,就發送到下一個節點,當然這樣的模式也

共享模式:

A發送到B B節點上有n個人可以處理。ccBPM有一個任務池,這寫人都需要從這個任務池裏獲取。

  關於對ccBPM任務池的描述:

  1,在流程屬性與全局配置設置了啓動任務池的狀態下,如果一個節點遇到多個人處理,這個任務就放在了任務池裏,只有參與處理的人人員才能看得到。

  2,工作人員在處理該工作之前需要申請,放到自己的代辦裏,一人申請之後,其他人就不能申請了,多個人同時申請第一個人申請的先得到。

  3,申請之後,任務池裏就不出現在條工作而是進入了被申請人的待辦裏。

  4,如果申請人處理不了這件工作,他可以把該工作放入任務池中,放入任務池的工作可以被其他的N個人可以看到。

  5,不管取回與放入,都需要寫入流程日誌。

  6,任務池的設計:  

  1,在流程引擎控制表 WF_GenerWorkFlow 中增加了如下字段:      TaskSta, 枚舉類型, 0=不啓用,1=共享,2=被申請。      TodoEmpsNum, Int類型,處理人員數量,當前節點工作有多少人待辦,如果此值大於等於2,討論共享任務纔有意義。 TodoEmps varchar(500) 待辦人員,格式爲 處理人員編號,處理人員名稱; 比如:guobaogeng,郭寶庚;fuhui,福惠;      

  2,在流程引擎控制表的人員列表中 WF_GenerWorkerList 中對於IsEnable字段,進行擴充了,如果等於 -1=任務池禁用,0=分配工作被屏蔽,1=正常。     3,增加了一個功能界面 /WF/TaskPoolSmaller.aspx 次功能界面是有在任務池啓用才能被使用。

  4,在流程屬性裏增加一個字段 IsEnableTaskPool 是否啓用任務池? 此字段用來控制該流程是否啓用任務池。

  任務池的SDK接口

  1,獲得共享任務: DB_TaskPool

  2,獲得共享任務中我的待辦:DB_TaskPoolOfMy

  3,從共享任務中取回:Node_TaskPoolTakebackOne

  4,把取回的共享任務放入任務池: Node_TaskPoolPutOne

 

 

 

總結說明

總結概述

BPM領域支持流程運轉的理論模型有多種,有的21種、28種,32種。每種模式都代表了這種模式的理論設計者研究者的人員主張、思想。這些模式儘可能的,完全去覆蓋到現實生產、工作、應用上的流程流轉規則。 但是任何領域都有自己未探索到的流程運轉可能,如果說自己的理論能夠涵蓋所有的應用需求,那就說的有點太早。

就類似於世界上的教派或者哲學家一樣,不同的教主與哲學家有不同的世界觀,不同的世界認識,都對自己的“追隨者”來宣揚自己的主張、觀點,但是他們也能“和諧”相處,對於同一個事物都有自己的觀點,也有相同的認識,同時也有自己的“理論”解釋不了的事物。

jbpm中有20種流程運行模式,在ccbpm中宣稱有4種,相對土生土長的ccbpm來說,與他自身帶的ccfomr結合一起工作,更能靈活的適應國內各種複雜的環境要求。

一下文章介紹了Ccbpm的流程的4大運行模式,以及是如何支持各式各樣的流程變化。

Ccbpm控制流程運行模式的方式

Ccbpm使用節點模式、流程屬性、節點屬性來控制流程運轉規則,以不不變應萬變的方式來應對各種生產、管理模式下的流程運轉需要。

Ccbpm的概念比較簡單容易理解,它有4大運行模式,分別是線性流程、同表單分合流、異表單分合流、父子流程。

節點類型:普通節點、分流節點、合流節點、分合流節點、子線程節點。

 

節點多人處理模式:搶辦模式、協作模式、隊列模式、共享模式。

 

與父子流程相關的一些屬性控制等等,如下圖。

 

 

Ccbpm 4大流程運轉模式的解釋

     線性流程:在統一個時間點,只有一個活動的節點,每個節點都按照一定的步驟,一定的順序就執行,在特定的節點允許跳轉、允許自定義以後的流程運行步驟,我們把這樣的流程稱爲線性流程,也叫順序流程。在一個系統中大約85%以上的流程,都是該類流程。

 

 

自由流程:

 

 

 

同表單分合流:ccbpm的強大在於ccbpm集成了ccform。流程與表單是相輔相成的,就好像一個火車頭與車廂的關係,同表單的分合流,就是一個節點上可以存在多個活動的線程,線程與處理人是11的關係,每個處理人的內容都是一樣的,所以我們成爲同表單的分合流。

如下圖:

 

 

 

異表單分合流:如果您瞭解了同表單的分合流,就不難了解這個流程模式的概念了。如下圖:

 

父子流程: 父子流程,就是在一個流程A的一個節點上,可以啓動另外的一個流程B,當前的流程我們稱爲父流程,被啓動的流程成爲子流程,如果子流程B的一個節點上啓動另外一個流程C,那末B流程與C流程就是父子流程, A C就是爺爺與孫子關係,但是ccbpm不研究跨界關係,僅僅研究相近的兩個流程之間的關係。

比如:一個工程類的流程,調用施工流程、與催款流程,如下圖:

 

 

節點多人處理工作模式:

     詳細文檔地址:http://ccbpm.mydoc.io/?v=5404&t=17947

     多人待辦工作處理模式,也是待辦處理模式。是當接受的節點是多個人的時候,如何處理待辦?

 

 

==========OVER==========

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章