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

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

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

咨詢:400-8352-114

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

QQ在線咨詢

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

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

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

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

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

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

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

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

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

    2.1 工作流建模

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

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

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

    2.2 工作流應用

    2.2.1 工作流基本要素

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

    2.2.2 工作流過程

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

 

圖1. 工作流模型

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

  

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

    LisL list=taskMgmtScssion.findTaskInstance(userID)

    根據某個用戶的ID找到用過戶列表,找到列表后調出任務就可以辦理了。

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

    2.2.3 人工選擇流程的走向

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

    2.2.4 程序自動選擇流程走向

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

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

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

    2.2.6 會簽的應用

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

3 結束語

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

發(fā)布:2025-10-15 06:44    編輯:泛普軟件 · xiaona    [打印此頁]    [關閉]

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

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