1. 程式人生 > >常用幾種工作流引擎介紹

常用幾種工作流引擎介紹

工作流是業務流程的全部或部分自動化,在此過程中,文件、資訊或任務按照一定的過程規則流轉,實現組織成員間的協同工作,以達到業務的整體目標。 工作流管理系統是支援企業經營過程高效執行並監控其執行過程的計算機軟體系統。 典型的WFMS至少由如下幾個模組組成:業務流程建模定義工具、過程定義、工作流執行環境(引擎)、任務管理。當然還會包括應用和IT工具。 常用的工作流引擎有osworkflow,jbpm,shark。剛學習了一點osworkflow,現在轉向jbpm,公司要求,沒辦法。 osworkflow,最大特點就是靈活,這個網上都說遍了。也就是說它提供了一個引摯,在此基礎上你可以進行擴充套件,可以自已寫一些條件、動作類,只是繼承它的介面就行,不需要修改它的原始碼。他只提供一個工作流控制框架給你,他也只專注於管理工作流自身的東西,對其他的東西不管,其他的功能對他來說都只是一個外掛元件。所以你可以自己擴充套件裡面的功能,例如使用者管理模式,工作流本身不帶使用者模式,他公司的另外一個專案osuser,可以結合使用來管理使用者許可權,當然你可以不用osuer,自己建立自己的使用者模式,其實就是建立自己的執行判斷條件;支援多種外掛式的持久化機制;他的資料表也很少,就三個…… 下面是引用其他網頁的話: Shark的流程定義語言是XPDL,我們知道,XPDL的兩個最重要的概念是Process和Activity。XPDL中的Activity是基於UML1.x中的活動圖的概念。活動圖天生的適於工作流程建模,它相對於狀態圖的一個最大的優點是容易做併發執行緒的分叉控制,這些併發執行緒可以同時執行也可以順序執行;它還有一個優點是有泳道的概念,可以控制

工作流引擎中的任務的產生。Shark的如來神掌是活動圖。 Osworkflow的如來神掌又是什麼呢?我們知道,它有個重要概念是State……呵呵,我們知道了,它的如來神掌是FSM。不知道FSM是什麼東西??那你讀大學時肯定不是好學生;當然了,不知道也不打緊,你把他類似理解為狀態圖就可以了。Osworkflow中的State是由step和status聯合表達的,一個State就是一個step中的某個status;而state的轉換由action來驅動,類似狀態圖中的event,因為一個event對應一個action嘛。 Jbpm的如來神掌就沒有上面的簡單了,它結合應用了狀態圖+活動圖+PetriNet的知識,而且,這裡的活動圖還是UML2.0版的。UML2.0的活動圖中,節點不叫活動(Activity)而叫動作(action),活動成了一個高層次的概念,它包含一個動作序列。一個活動圖展現一系列的動作,這些動作組成了活動。Jbpm把action也改名了,稱為state。Jbpm使用的狀態圖的概念有transition/event等,這個自己去看吧。Jbpm來內部實現中還採用了PetriNet的概念,如token,signal等。什麼?又不知道PetriNet什麼東東?那你大學是學計算機的嗎?不是?那你可能是學文科的,學機械/電氣/
土木工程
/交通運輸等專業都有接觸PetriNet的課程,如果沒有學過,還是看看jbpm吧,反正我們也不搞理論,知道大致概念就行