監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價咨詢管理系統(tǒng) | 工程設(shè)計管理系統(tǒng) | 甲方項目管理系統(tǒng) | 簽約案例 | 客戶案例 | 在線試用
X 關(guān)閉

JBPM工作流管理系統(tǒng)在OA中的應(yīng)用

申請免費試用、咨詢電話:400-8352-114

對工作流做了一定的研究。并把JBPM工作流管理系統(tǒng)應(yīng)用于OA系統(tǒng)中。JBPM的開放性、可擴展性以及圖形化流程設(shè)計使得工作流設(shè)計能快速滿足用戶的需求。

1 工作流及工作流管理系統(tǒng)

    1.1 工作流及工作流管理系統(tǒng)定義

    根據(jù)工作流管理聯(lián)盟(wfMC)的定義,工作流(Workflow)就是業(yè)務(wù)過程整體或部分的計算機化或自動化。簡單地說,工作流就是一系列相互銜接、自動進行的業(yè)務(wù)活動或任務(wù)。一個工作流的終點可能就是另一個工作流的起點。工作流技術(shù)的主要特點是過程的自動化處理。工作流管理系統(tǒng)是指運行在一個或多個工作流引擎軟件上的用于定義、實現(xiàn)和管理工作流運行的一套軟件。這套軟件按照在計算機中預(yù)先定義好的工作流邏輯推進工作流實例的執(zhí)行。

    1.2 基于JBPM的工作流管理系統(tǒng)

    JBPM,全稱是Java Business Process Management,是基于J2EE的輕量級工作流引擎。工作流引擎是工作流管理系統(tǒng)的核心組件,對流程實例,任務(wù)實例進行管理。JBPM是一個開源的、靈活的、易擴展的工作流管理系統(tǒng),用JAVA語言開發(fā),其核心類庫是’J2SE類庫,用于管理流程定義和流程實例執(zhí)行時的運行環(huán)境。JBPM特色之一是采用了自己定義的JPDL(JBoss Process definition language)流程描述語言。JPDL認為一個任務(wù)流程可以被看作是一個UML狀態(tài)圖。JPDL就是詳細定義了這個狀態(tài)圖的每個部分,如起始、結(jié)束狀態(tài),狀態(tài)之間的轉(zhuǎn)換:這種圖形化的流程定義,直觀地描述業(yè)務(wù)流程。JBPM的另一個特色是在持久層使用Hibemate來管理其數(shù)據(jù)庫。這樣,JBPM就將數(shù)據(jù)的管理職能分離出去,自己則專注于商務(wù)邏輯的處理。

2 JBPM工作流管理系統(tǒng)在OA中的應(yīng)用

    2.1 工作流建模

    工作流建??梢詭椭髽I(yè)將實際業(yè)務(wù)流程轉(zhuǎn)化為計算機可以識別的數(shù)字信息,存儲模型,以便工作流運行時調(diào)用,在JBPM中,采用JPDL流程描述語言圖形化建模,如圖1所示。JPDL流程文件保存為processdinination.xml文件。

    在JBPM中,流程定義被封裝成流程檔案。流程檔案被傳送到JPDL流程引擎加以執(zhí)行。JPDL流程引擎負責(zé)遍歷流程圖、執(zhí)行定義的動作、維持流程狀態(tài),并且記錄所有流程事件。JBPM利用狀態(tài)機作為控制狀態(tài)變化的基礎(chǔ),并且擴充活動圖的建模模型。

    工作流建模中,主要包括節(jié)點、任務(wù)定義等。在圖中示例中,用到的節(jié)點與對應(yīng)的節(jié)點任務(wù)有:開始狀態(tài)節(jié)點(start-state),任務(wù)為發(fā)文流程實例化的開始:結(jié)束狀態(tài)節(jié)點(end-state),任務(wù)為發(fā)文實例的結(jié)束;任務(wù)節(jié)點(task'node),任務(wù)為來文登記、擬辦意見、分管主任簽批、分管領(lǐng)導(dǎo)審閱、A、B部門領(lǐng)導(dǎo)審核、主辦人匯總處理、置于信息欄公開瀏覽:判定節(jié)點(decision),任務(wù)為是否公開傳閱;自動節(jié)點(node),任務(wù)為歸檔。

    2.2 工作流應(yīng)用

    2.2.1 工作流基本要素

    工作流基本要素包括參與者、活動、數(shù)據(jù)。參與者是任務(wù)的執(zhí)行者,JBPM目前只需要參與者的ID,對參與者的具體解釋由業(yè)務(wù)應(yīng)用層負責(zé);任務(wù)創(chuàng)建時可以指定任務(wù)的參與者,也可以不指定,在此應(yīng)用中,沒有采用JBPM的.identity組件:活動(任務(wù))是組成流程定義的節(jié)點,流轉(zhuǎn)就是從一個節(jié)點到另一個節(jié)點的行為;數(shù)據(jù)為對活動的說明,數(shù)據(jù)隨著活動的流轉(zhuǎn)從一個節(jié)點轉(zhuǎn)移到另一個節(jié)點,具體表現(xiàn)形式為存儲在數(shù)據(jù)庫中的工作列表,在JBPM中,持久層數(shù)據(jù)庫的管理交由hibernate負責(zé)。

    2.2.2 工作流過程

    (1)流程定義(ProcessDefinition),。主要定義流程的業(yè)務(wù)邏輯,包含業(yè)務(wù)節(jié)點和流程,在圖1中,可以看到是一個有向圖結(jié)構(gòu)。計算機能夠理解的是一個xml文件,在JBPM的特有標記</process—definition>中定義節(jié)點,以及節(jié)點間的流轉(zhuǎn)。業(yè)務(wù)的一次實際流轉(zhuǎn)過程為一個流程實例,流程實例(Processlnstance)直觀的體現(xiàn)就是存儲在數(shù)據(jù)庫里的數(shù)據(jù),有開始時間和結(jié)束時間。

 

圖1. 工作流模型

    (2)流程部署。是把定義好的流程放入計算機系統(tǒng)中。

  

    (5)執(zhí)行流程。流程實例啟動后會產(chǎn)生一系列舊任務(wù)實例信息.這些任務(wù)實例信息就足供參與者來辦理的,為了能找到當前用戶的代辦信息,需要獲取任務(wù)列袁。任務(wù)列表通過如下語句獲?。?/p>

    LisL list=taskMgmtScssion.findTaskInstance(userID)

    根據(jù)某個用戶的ID找到用過戶列表,找到列表后調(diào)出任務(wù)就可以辦理了。

    (6)完成任務(wù)。流程調(diào)用TaskInstancc接口end()方法來站束當前的任務(wù),和任務(wù)開始時樣,任務(wù)的站束時間會被填寫,接著下一個節(jié)點初始化開始。當前任務(wù)的結(jié)束和下一個流程節(jié)點的開始是在一個事物內(nèi)完成,從而保證了數(shù)據(jù)的完整性。

    2.2.3 人工選擇流程的走向

    前面定義公文流轉(zhuǎn)文什的時候.在“是否公開傳閱”節(jié)點,有兩個路由可以選擇,一個路由是轉(zhuǎn)到“分管領(lǐng)導(dǎo)審批”節(jié)點,一個是轉(zhuǎn)到“置于信息公開欄瀏覽”節(jié)點。在xml定義流程代碼中.具體表現(xiàn)為此節(jié)點處有兩條transition語句,可以人工選擇流程的走向。

    2.2.4 程序自動選擇流程走向

    通過設(shè)置decision節(jié)點來自動選擇流欄走向,在xmI定義流程代碼中,具體表現(xiàn)為在decision節(jié)點中定義JBPM特有的</condilion>標記來實現(xiàn)選擇條件的判斷,從而實現(xiàn)流程走向的自動選擇。

    2.2.5 使用泳道為多個任務(wù)指定相同的參與者

    當一個人處理多個任務(wù),為了避免jaca類的過度膨脹,JBPM提供了泳道(Swimlane)的方式用來解決這一問題。

    2.2.6 會簽的應(yīng)用

    在OA中,為了科學(xué)決策和避免腐敗,對于某些任務(wù)需要多個用戶共同完成,這就是JBPM中的會簽技術(shù)。在圖1中,A部門和B部門領(lǐng)導(dǎo)都批準公文后,任務(wù)才完成,交由主辦人匯總。在這里可以通過Action動態(tài)創(chuàng)建TaskInstance來“會整”。

3 結(jié)束語

    JBPM工作流系統(tǒng)應(yīng)用于OA系統(tǒng)當中,使得OA有關(guān)流轉(zhuǎn)問題容易實現(xiàn)。JBPM的開放性、可擴展性、圖形化建模等特性,在處理這些工作流模型時,可以快速靈活地部署,及時滿足客戶的需求,是一個理想的工作流引擎。

發(fā)布:2007-04-13 10:30    編輯:泛普軟件 · xiaona    [打印此頁]    [關(guān)閉]
相關(guān)文章:
目標計劃管理軟件
聯(lián)系方式

成都公司:成都市成華區(qū)建設(shè)南路160號1層9號

重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓

咨詢:400-8352-114

加微信,免費獲取試用系統(tǒng)

QQ在線咨詢

泛普協(xié)同OA其他應(yīng)用

信息管理系統(tǒng) 桌面日程安排軟件 日程管理軟件 知識管理系統(tǒng) 時間管理軟件 目標管理軟件 計劃軟件 任務(wù)管理軟件 工作流管理系統(tǒng) 工作計劃軟件 工作日志管理軟件 工作任務(wù)管理軟件 協(xié)同管理軟件 協(xié)同OA