基于JBPM的協(xié)同設(shè)計(jì)工作流管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
基于JBPM的協(xié)同設(shè)計(jì)工作流管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
基于JBPM的協(xié)同設(shè)計(jì)工作流管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
基于JBPM的協(xié)同設(shè)計(jì)工作流管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
基于JBPM的協(xié)同設(shè)計(jì)工作流管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

壘!!蘭生!翌竺基于JBPM的協(xié)同設(shè)計(jì)工作流管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)DesignOnJBPM-basedwOrk們OwmanagementsystemOfCO¨abOratiVedeSignci陀uit周德儉L2。劉電霆2.一,郭磊2ZHOUDe.jianl一。LIUDian.tin92.-,GUOLei2(1.廣西工學(xué)院機(jī)械工程系.柳州545006:2.桂林工學(xué)院電子與計(jì)算機(jī)系。桂林541004;3.西安電子科技大學(xué)機(jī)電工程學(xué)院,西安710071)搞要:在協(xié)同設(shè)計(jì)中采用工作流管理技術(shù),可以減少業(yè)務(wù)過(guò)程中間環(huán)節(jié)的人為因素的影響,提高活動(dòng)之間的協(xié)調(diào)和控制的效率,減少協(xié)作過(guò)程中的沖突和混亂,從而達(dá)到企業(yè)協(xié)同設(shè)計(jì)過(guò)程效率的最大化。本文針對(duì)異地協(xié)同設(shè)計(jì)的特點(diǎn),提出了一種基于Jbpm的協(xié)同設(shè)計(jì)工作流管理系統(tǒng)體系結(jié)構(gòu),對(duì)該系統(tǒng)作了相應(yīng)的分析和設(shè)計(jì),并給出了其主要組成部分的運(yùn)行測(cè)試工作界面。從運(yùn)行結(jié)果分析表明:該系統(tǒng)結(jié)構(gòu)的實(shí)現(xiàn)具有良好的可移植性、可擴(kuò)展性和可維護(hù)性。關(guān)鍵詞:協(xié)同設(shè)計(jì)I工作流;Jbpm;MVc中圖分類(lèi)號(hào):TP301文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009—0134(2009)03一0116—040引言協(xié)同設(shè)計(jì)是一種通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)把處于不同地域的多種異構(gòu)資源緊密聯(lián)系在一起,快速、及時(shí)地為企業(yè)解決制造產(chǎn)品設(shè)計(jì)中的技術(shù)問(wèn)題,共同進(jìn)行產(chǎn)品設(shè)計(jì)的技術(shù);它是一個(gè)強(qiáng)調(diào)多主體、協(xié)同性、共同性和靈活性的過(guò)程。而工作流技術(shù)通過(guò)將工作分解成定義良好的任務(wù)、角色,按照一定的規(guī)則和過(guò)程來(lái)執(zhí)行這些任務(wù)并對(duì)它們進(jìn)行監(jiān)控,從而提高辦事效率uJ。目前,許多學(xué)者主要研究基于web的工作流管理系統(tǒng),雖然提出了不同的體系結(jié)構(gòu),沒(méi)有考慮系統(tǒng)應(yīng)同時(shí)具有可擴(kuò)展性、維護(hù)性和跨平臺(tái)性等;而對(duì)協(xié)同設(shè)計(jì)工作流管理系統(tǒng)的研究,則更多的在于分析系統(tǒng)的功能模塊∞】。針對(duì)以上不足,結(jié)合Jbpm(JavaBusinessProcess系統(tǒng)的整體架構(gòu)采用目前流行的MVC(Modl—View?Con仃01)模式進(jìn)行設(shè)計(jì),不僅實(shí)現(xiàn)了功能模塊和顯示模塊的分離,同時(shí)還提高了系統(tǒng)的可維護(hù)性、可擴(kuò)展性、可移植性和組件的可復(fù)用性等。而MVC采用S仃Ilts來(lái)實(shí)現(xiàn),它是使用Servlet和JSP技術(shù)的一個(gè)比較好的MVC框架,提供了對(duì)開(kāi)發(fā)MVC系統(tǒng)的底層支持。系統(tǒng)的整體架構(gòu)如下圖l所示:囂圖1S仃uts實(shí)現(xiàn)的系統(tǒng)MVC模式1.2系統(tǒng)體系結(jié)構(gòu)系統(tǒng)采用持久層框架Hibemate,只需簡(jiǎn)單地修改其配置參數(shù),即可實(shí)現(xiàn)底層數(shù)據(jù)庫(kù)的切換,又由于Jbpm是一個(gè)java庫(kù),解決了工作流引擎的跨平臺(tái)性使用,使得本工作流管理系統(tǒng)可應(yīng)用在不同的操作系統(tǒng)之間,后臺(tái)的數(shù)據(jù)庫(kù)也可以任意切換。系統(tǒng)的體系結(jié)構(gòu)如下圖2所示。MaIlagement)‘71等特點(diǎn),本文提出了一種基于Jbpm工作流引擎、以MVC模式設(shè)計(jì)的異地協(xié)同設(shè)計(jì)工作流管理系統(tǒng)體系結(jié)構(gòu)。1系統(tǒng)設(shè)計(jì)與分析1.1系統(tǒng)的整體架構(gòu)收稽日囊:2009.02.09基盒項(xiàng)目:廣話制造系統(tǒng)與先進(jìn)制造技術(shù)重點(diǎn)實(shí)驗(yàn)室開(kāi)放課題(桂科能07109008-024.K)。廣西科學(xué)研究與技術(shù)開(kāi)發(fā)計(jì)劃項(xiàng)目(桂科攻071900l一17)作者簡(jiǎn)介:周德儉(1954一),男,博士,教授,研究方向?yàn)橹圃熳詣?dòng)化與信息化。【116l第31卷第3期2009—03萬(wàn)方數(shù)據(jù)J1mmAPT1fj[.Jbpm工作流引擎¨jIHibe刪他數(shù)據(jù)庫(kù)映射{【nF=二二=≥F:二=二=≥I工作流數(shù)據(jù)l應(yīng)用數(shù)據(jù)I圖2系統(tǒng)體系結(jié)構(gòu)圖其中,乃pm工作流引擎是系統(tǒng)的核心模塊,其主要功能是解釋?zhuān)剩校模潭x的流程過(guò)程文件,為過(guò)程實(shí)例提供運(yùn)行時(shí)環(huán)境,調(diào)度過(guò)程實(shí)例的運(yùn)行,并提供協(xié)同設(shè)計(jì)系統(tǒng)、管理監(jiān)控工具的接口,協(xié)調(diào)工作流系統(tǒng)的正常運(yùn)行,這些接口是以API形式來(lái)提供的,工作流管理監(jiān)控的功能主要完成對(duì)工作流的動(dòng)態(tài)監(jiān)控實(shí)現(xiàn)工作流程變更通知、設(shè)計(jì)任務(wù)狀態(tài)的監(jiān)控與提醒,以及設(shè)計(jì)項(xiàng)目進(jìn)度實(shí)時(shí)監(jiān)控的方法與策略,為Intemet環(huán)境下協(xié)同設(shè)計(jì)過(guò)程的動(dòng)態(tài)規(guī)劃與管理提供有效的途徑;本系統(tǒng)利用Hibemate提供的HQL面向?qū)ο蟛樵?xún)語(yǔ)言,在對(duì)象數(shù)據(jù)和關(guān)系型數(shù)據(jù)庫(kù)之間構(gòu)建了一條快速、高效、便捷的溝通渠道,從而實(shí)現(xiàn)在不同操作系統(tǒng)之間切換。2系統(tǒng)實(shí)現(xiàn)2.1工作流模型的建立Jbpm的流程建模采用的是改良的眥活動(dòng)圖,它定義了自己的流程定義語(yǔ)言JPDL來(lái)精確描UML活動(dòng)圖的每一個(gè)部分,采用的是XJⅥL格式的。利用Eclipse的圖形化流程設(shè)計(jì)工具,可以得到異地協(xié)同設(shè)計(jì)的工作流程圖,如右圖3所示:2.2系統(tǒng)數(shù)據(jù)庫(kù)的設(shè)計(jì)實(shí)現(xiàn)系統(tǒng)采用Mysql數(shù)據(jù)庫(kù)存儲(chǔ)工作流數(shù)據(jù)和應(yīng)用數(shù)據(jù),對(duì)于工作流數(shù)據(jù)的存儲(chǔ),Jbpm自帶了數(shù)據(jù)庫(kù)表初始化腳本。利用這個(gè)初始化腳本就可以產(chǎn)生相應(yīng)的數(shù)據(jù)庫(kù)表,而對(duì)于應(yīng)用數(shù)據(jù)的存儲(chǔ),要自建數(shù)據(jù)庫(kù)表。萬(wàn)方數(shù)據(jù)圖3異地協(xié)同設(shè)計(jì)的工作流程圖首先要建立與數(shù)據(jù)庫(kù)的連接。打開(kāi)MySql數(shù)據(jù)庫(kù),假設(shè)Mysql數(shù)據(jù)庫(kù)的用戶(hù)名為刪,密碼1234。創(chuàng)建名為JBPM的數(shù)據(jù)庫(kù),然后修改src,config.files底下的Hibemate.c絕.xml文件。將連接數(shù)據(jù)庫(kù)的部分換成Mysql數(shù)據(jù)庫(kù)的內(nèi)容如下:<!一jdbccoIlIlectionpropenies一><prOpertyname=“hibernate.dialect”>org.1libemate.dialect.MySQLDialect《卻roperty><propertyname=“hibernate.cOnnection.“Vef_class”>com皿ysql.jdbc.C?。帧蓿?,pmpert),><propertyname=“hibemate.connection.url竹>jdbc:Inysql:饑ocalhost:3306/JBPM郇rope?。荆迹穑颍铮穑澹颍簦睿幔恚澹健埃瑁椋猓澹颍睿幔簦澹悖铮睿睿澹悖簦椋铮睿酰螅澹礓ze”>r00t‘卻ropeny><propertyname=“hibernate.connection.password”>123劃pmpert),>接著,連接數(shù)據(jù)庫(kù)。用Mysql的前臺(tái)工具MysqlQueryBrowser載入JBPM自帶了初始化腳本,初始化JBPM數(shù)據(jù)庫(kù)產(chǎn)生工作流數(shù)據(jù)表。如流程定義表和任務(wù)實(shí)例表:JBPM—_PROCESSDE咖TIONJBPMTASKINSTANCE然后,把定義好的流程定義文件prIocessdefini.tion.xml部署到剛剛初始化好的Jppm數(shù)據(jù)庫(kù),以下是部署的代碼,它可以寫(xiě)在一個(gè)簡(jiǎn)單的Java類(lèi)中:publiccl私sDeploy第31卷第3期200曠03【1仃l{publicstaticVoidmain(String【】args)throwsFileNotFoundException{JbpmConfigurationconfig=JbpmConfiguration.geⅡnstaIlce();JbpmcontextjbpmContext=config.createJbpmContext();InputStr.e鋤is=newFileInputStre鋤(“processes/processdefinition.xml”);ProcessDefinitionpd=ProcessDefinition.parseXmlInputS仃e鋤(is);,bpmContext.deployProcessDefinition(pd);JbpmContext.close();1)這時(shí),連接Mysql,查詢(xún)JBPM—PROCESSDE-FINITION表,會(huì)發(fā)現(xiàn)多了一條記錄,說(shuō)明已經(jīng)成功的把流程定義文件部署到數(shù)據(jù)庫(kù)中,隨著流程的進(jìn)行,工作流程數(shù)據(jù)會(huì)自動(dòng)的存入到其他的表中。再建立應(yīng)用數(shù)據(jù)庫(kù),并建立用戶(hù)信息表(User_Info)、項(xiàng)目信息表(Xm_Info)、任務(wù)信息表(Rwjnfo)、任務(wù)進(jìn)度表(Jindu-Info)和領(lǐng)取任務(wù)信息表(GetRwjnfo)等應(yīng)用數(shù)據(jù)庫(kù)表。2.3協(xié)同設(shè)計(jì)過(guò)程監(jiān)控管理的設(shè)計(jì)實(shí)現(xiàn)2.3.1項(xiàng)目設(shè)計(jì)過(guò)程的監(jiān)控管理采用Monit耐ngBe鋤.Java來(lái)實(shí)現(xiàn)監(jiān)控流程的功能。以”M鋤ger”身份登錄,并點(diǎn)擊流程監(jiān)控功能,所示頁(yè)面如下圖4所示:圖4項(xiàng)目監(jiān)控流程實(shí)例圖2.3.2項(xiàng)目及任務(wù)的狀態(tài)監(jiān)控該功能主要是在項(xiàng)目執(zhí)行過(guò)程中時(shí)刻監(jiān)視項(xiàng)目及任務(wù)的進(jìn)展情況,使項(xiàng)目負(fù)責(zé)人和管理員能夠隨時(shí)查看項(xiàng)目和子任務(wù)進(jìn)度等信息;另外,還具有報(bào)【118l第31卷第3期2009~03萬(wàn)方數(shù)據(jù)警功能,一旦某些任務(wù)超過(guò)完成期限,能夠以電子郵件的方式及時(shí)通知任務(wù)負(fù)責(zé)人和項(xiàng)目負(fù)責(zé)人,以便及時(shí)做出調(diào)整。通過(guò)實(shí)時(shí)地獲取應(yīng)用數(shù)據(jù)庫(kù)中項(xiàng)目定義的時(shí)間數(shù)據(jù)或項(xiàng)目子任務(wù)的時(shí)間數(shù)據(jù)與當(dāng)前時(shí)間比較來(lái)計(jì)算項(xiàng)目或子任務(wù)的進(jìn)度情況,以條形圖表示的項(xiàng)目進(jìn)度,進(jìn)度以紅色的百分比表示,如下圖5所示:圖5項(xiàng)目進(jìn)度圖2.4任務(wù)管理的設(shè)計(jì)實(shí)現(xiàn)任務(wù)執(zhí)行引擎是整個(gè)任務(wù)管理的核心,實(shí)際上它是一個(gè)項(xiàng)目實(shí)施過(guò)程的任務(wù)調(diào)度器。它的作用是根據(jù)過(guò)程執(zhí)行的情況,判斷各個(gè)任務(wù)的出發(fā)條件,不斷將激活的任務(wù)和必要的數(shù)據(jù)分發(fā)給各個(gè)設(shè)計(jì)者,對(duì)于任務(wù)表的管理是有后臺(tái)業(yè)務(wù)邏輯層的JaVaBe鋤:TaskBean.Java能根據(jù)角色的不同從數(shù)據(jù)庫(kù)取不同的工作流任務(wù),把它們顯示在用戶(hù)的任務(wù)表中。例如,以項(xiàng)目負(fù)責(zé)人的角色登錄系統(tǒng),開(kāi)始新的工作流程,其代碼如下:ProcessDefinitiOnpfocessDefinition=graphSession.findLatestProcessDefinition(“collabor撕ve”);PrOcessInstanceprocessInstance=newProcessInstance(processDefinition);processInstance.getContextInstance().createVariable(“usem鋤es”,ss);TaskInstancetaskInstance=prOcessInstance.getTaskMgmtInstallce().createStanTaskInstance();項(xiàng)目管理包括:定義項(xiàng)目、分解項(xiàng)目、任務(wù)分派、領(lǐng)取任務(wù)、協(xié)同設(shè)計(jì)、申請(qǐng)審批、審批等各個(gè)環(huán)節(jié)。由于篇幅有限,以上任務(wù)管理的具體實(shí)現(xiàn)程序和運(yùn)行界面未列出。3系統(tǒng)運(yùn)行測(cè)試通過(guò)系統(tǒng)設(shè)計(jì)和代碼的編寫(xiě),完成了系統(tǒng)的開(kāi)發(fā),既可作為模塊嵌入相應(yīng)的網(wǎng)絡(luò)化制造平臺(tái)中,又可以獨(dú)立運(yùn)行,由于界面比較多,下面列出系統(tǒng)運(yùn)行的一些主要頁(yè)面。在地址里輸入http:饑ocalhos咖ollab/indexl.jsp,圖6是登錄界面:輸入項(xiàng)目信息后,數(shù)據(jù)會(huì)保存到后臺(tái)的數(shù)據(jù)庫(kù)中,如圖9。流程將自動(dòng)進(jìn)入下個(gè)環(huán)節(jié)。圖9表Ⅺnjnfo的記錄4結(jié)束語(yǔ)工作流管理技術(shù)應(yīng)用于制造業(yè)信息化的前景光明,它可以給制造企業(yè)進(jìn)行網(wǎng)絡(luò)化制造提供良好的工作流程管理的運(yùn)行平臺(tái)。本文提出了一種協(xié)同設(shè)計(jì)過(guò)程管理系統(tǒng)的體系結(jié)構(gòu),并描述了該結(jié)構(gòu)的各個(gè)組成部分。系統(tǒng)整體上采用struts+圖6用戶(hù)登錄界面Jbpm+Hibemate開(kāi)發(fā)技術(shù),系統(tǒng)面向應(yīng)用需求,遵循工作流系統(tǒng)相關(guān)標(biāo)準(zhǔn)并結(jié)合網(wǎng)絡(luò)的特點(diǎn),與以往的系統(tǒng)相比具有更好的開(kāi)放性、可重用性和跨平臺(tái)性。參考文獻(xiàn)【1】范玉顧.工作流管理技術(shù)基礎(chǔ)fM】.北京,清華大學(xué)出版社,2001.以項(xiàng)目負(fù)責(zé)人身份登錄成功后,進(jìn)入圖7,這時(shí)項(xiàng)目負(fù)責(zé)人可以開(kāi)始一個(gè)新的流程?!荆病吭瑖?guó)強(qiáng),郭偉.網(wǎng)絡(luò)化協(xié)同設(shè)計(jì)制造中的柔性工作流管理研究[J】.計(jì)算機(jī)集成制造系統(tǒng),2003,9(12):20-23。圖7開(kāi)始新的工作流程【3】丁建軍,楊岳,羅意平.基于工作流管理的遠(yuǎn)程協(xié)同設(shè)計(jì)系統(tǒng)研究【J】.制造業(yè)自動(dòng)化,2004,26(3):21?25.【4】王堅(jiān)。李巍麗.基于web的可視化工作流建模與解析【J】.同濟(jì)大學(xué)學(xué)報(bào),2007,35(10):1406-1010.【5】來(lái)鋒,張春海.一種基于web服務(wù)的工作流過(guò)程模型【J】.計(jì)算機(jī)應(yīng)用。2008,28(6):315-317.【6】Ch州esV.Trappey,AmyJ.C.Trappey,Ching-J即Huallg,C.C.Ku.Thedesignofa開(kāi)始一個(gè)新的工作流程后,將進(jìn)入定義項(xiàng)目的環(huán)節(jié),如網(wǎng)8所示:JADE.basedautonomousworknowm柚agementsystemforcollaboratiVeSoCdesigIl叨.ExpenSystemswitllApplic州ons,IIlPress,Co巾ectedPro(’f’2008.【7】JBossJbpm3.OU∞rGuide.JBoss,2005.圖8輸入項(xiàng)目相關(guān)信息也^^出血^山^也血血啦趣血皿也血4血血^血血血廣告索引上海思博機(jī)械電氣有限公司……刊花德州恒力電機(jī)有限責(zé)任公司……封面上海天安軸承有限公司…………封二北京微達(dá)電子技術(shù)有限責(zé)任公司………………封三中創(chuàng)國(guó)技(北京)科技發(fā)展有限公司……………封底第12屆武漢國(guó)際工業(yè)控制自動(dòng)化及儀器儀表展覽會(huì)………前彩l深圳市業(yè)??萍及l(fā)展有限公司………………前彩2正泰電器………箭彩3萬(wàn)可電子(天津)有限公司……前彩4第31卷第3期20。9—03【119J萬(wàn)方數(shù)據(jù)HYPERLINK"/retype/zoom/583a40fb0242a8956bece41f?pn=5&x=0&y=186&raww=27&rawh=15&o=png_6_0_0_300_156_27_15_753_1099.5&type=pic&aimh=15&md5sum=b6bb9a8724671061a37ab6910667a85e&sign=b6

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論