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

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

申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114

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

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

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

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

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

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

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

    2.1 工作流建模

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

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

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

    2.2 工作流應(yīng)用

    2.2.1 工作流基本要素

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

    2.2.2 工作流過(guò)程

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

 

圖1. 工作流模型

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

  

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

    LisL list=taskMgmtScssion.findTaskInstance(userID)

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

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

    2.2.3 人工選擇流程的走向

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

    2.2.4 程序自動(dòng)選擇流程走向

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

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

    當(dāng)一個(gè)人處理多個(gè)任務(wù),為了避免jaca類的過(guò)度膨脹,JBPM提供了泳道(Swimlane)的方式用來(lái)解決這一問(wèn)題。

    2.2.6 會(huì)簽的應(yīng)用

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

3 結(jié)束語(yǔ)

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

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

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

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

咨詢:400-8352-114

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

QQ在線咨詢

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

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