jBPM詳解-工作流管理系統(tǒng)_第1頁
jBPM詳解-工作流管理系統(tǒng)_第2頁
jBPM詳解-工作流管理系統(tǒng)_第3頁
jBPM詳解-工作流管理系統(tǒng)_第4頁
jBPM詳解-工作流管理系統(tǒng)_第5頁
已閱讀5頁,還剩58頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、J2EE工作流管理系統(tǒng)jBPM詳解(一)一、jBPM入門簡介 概述 工作流業(yè)務(wù)流流程管理技術(shù)術(shù)是基于SOOA技術(shù)實現(xiàn)現(xiàn)的一個核心心部分。使用用工作流能夠夠在軟件開發(fā)發(fā)和業(yè)務(wù)兩個個層次受益: 1、方便開發(fā)發(fā) 工作流管理系系統(tǒng)能夠簡化化企業(yè)級軟件件開發(fā)甚至維維護。 降低開發(fā)風風險 - 通通過使用狀態(tài)態(tài)和動作這樣樣的術(shù)語,業(yè)業(yè)務(wù)分析師和和開發(fā)人員使使用同一種語語言交談。這這樣開發(fā)人員員就不必將用用戶需求轉(zhuǎn)化化成軟件設(shè)計計了。 實現(xiàn)的集中中統(tǒng)一 -業(yè)業(yè)務(wù)流程經(jīng)常常變化,使用用工作流系統(tǒng)統(tǒng)的最大好處處是:業(yè)務(wù)流流程的實現(xiàn)代代碼,不再是是散落在各種種各樣的系統(tǒng)統(tǒng)中 。 加快應(yīng)用用開發(fā) - 你的軟件不不用再

2、關(guān)注流流程的參與者者,開發(fā)起來來更快,代碼碼更容易維護護。 2、業(yè)務(wù)流程程管理 (BBPM) 在自動化業(yè)務(wù)務(wù)流程之前,分分析并將它們們規(guī)格化是一一件艱苦但會會有很好回報報的工作: 提高效率 - 許多流流程在自動化化過程中會去去除一些不必必要的步驟較較好的流程控控制 - 通通過標準的工工作方法和跟跟蹤審計,提提高了業(yè)務(wù)流流程的管理 改進客戶戶服務(wù) - 因為流程的的一致性,提提高了對客戶戶響應(yīng)的可預預見性 靈活 - 跨越流程的的軟件控制,使使流程可以按按照業(yè)務(wù)的需需要重新設(shè)計計。 業(yè)業(yè)務(wù)流程改進進 - 對流流程的關(guān)注,使使它們趨向于于流暢和簡單單 但從長遠的角角度,工作流流流程管理技技術(shù)的研究可可

3、為兩個階段段進行:1.目前解決華華研今后新項項目中復雜業(yè)業(yè)務(wù)流程如何何使用工作流流引擎技術(shù)進進行實現(xiàn)的問問題。 2.上升到面面向服務(wù)體系系架構(gòu),實現(xiàn)現(xiàn)各個服務(wù)之之間的業(yè)務(wù)流流程。 jBPM,全全稱是 HYPERLINK / Javva Bussinesss Proccess MManageement,是是一種基于JJ2EE的輕輕量級工作流流管理系統(tǒng)。jjBPM是公公開源代碼項項目,它使用用要遵循 AApachee Liceense. jBPM在22004年110月18日日,發(fā)布了22.0版本,并并在同一天加加入了JBooss,成為為了JBosss企業(yè)中間間件平臺的一一個組成部分分,它的名稱稱也

4、改成JBBoss jjBPM.隨隨著jBPMM加入JBooss組織,jjBPM也將將進入一個全全新的發(fā)展時時代,它的前前景是十分光光明的。 JBoss jBPM 只有最小的的倚賴性,它它可以很容易易的作為jaava庫來使使用。當然它它也可以用在在訪問量很大大的J2EEE 群應(yīng)用 HYPERLINK / 服服務(wù)器環(huán)境中中。 JBooss jBBPM 可以以同任何數(shù)據(jù)據(jù)庫配置可以以部署在任何何應(yīng)用 HYPERLINK / 服務(wù)器器上。 jBPM 最最大的特色就就是它的商務(wù)務(wù)邏輯定義沒沒有采用目前前的一些規(guī)范范,如WfMMC XPDDL, BPPML, eebXML, BPEL44WS等,而而是采用

5、了它它自己定義的的JBosss jBPMM Proccess ddefiniition languuage (jjPdl)。jjPdl認為為一個商務(wù)流流程可以被看看作是一個UUML狀態(tài)圖圖。jPdll就是詳細定定義了這個狀狀態(tài)圖的每個個部分,如起起始、結(jié)束狀狀態(tài),狀態(tài)之之間的轉(zhuǎn)換等等。 jBPM的另另一個特色是是它使用Hiibernaate來管理理它的數(shù)據(jù)庫庫。Hibeernatee是目前 HYPERLINK / Jaava領(lǐng)域最最好的一種數(shù)數(shù)據(jù)持久層解解決方案。通通過Hibeernatee,jBPMM將數(shù)據(jù)的管管理職能分離離出去,自己己專注于商務(wù)務(wù)邏輯的處理理。(具體選選型報告可參參考工作流

6、技技術(shù)選型評估估報告)。 本文檔主要是是工作流研究究小組關(guān)于開開源工作流引引擎jbpmm的研究成果果總結(jié)。內(nèi)容容包括工作流流研究場景的的介紹、jbbpm的環(huán)境境配置,并包包括以下六個個研究主題: JBPM同同開發(fā)如何結(jié)結(jié)合,又如何何保持獨立性性;對應(yīng)用系系統(tǒng)的設(shè)計實實現(xiàn)有什么樣樣的制約 用戶/角色色如何同應(yīng)用用系統(tǒng)結(jié)合,變變化又如何處處理 流程程中每個活動動,如何動態(tài)態(tài)指定執(zhí)行者者 類似傳傳閱功能如何何實現(xiàn) 子子流程如何實實現(xiàn) 流程程執(zhí)行步驟耗耗時閥值和自自動提醒設(shè)置置 jBPPM當前版本本的穩(wěn)定性評評估術(shù)語、定義和縮縮略語應(yīng)用場景 本場景是從房房地產(chǎn)營銷系系統(tǒng)的需求中中提取出來的的,在房地產(chǎn)

7、產(chǎn)項目中,客客戶選戶購房房的過程是一一個非常典型型的工作流場場景。我們將將這一過程提提取出來,作作為jbpmm技術(shù)研究的的場景。 在購房過程中中,會有以下下人員參與。 客戶:購房的主體 銷售人員:在購房過程中指導看房,購房。 銷售經(jīng)理:確定認購信息。 財務(wù)人員:收取定金。 客服人員:打印收據(jù),打印客戶認購書。 客戶購房的過程可以描述如下。 客戶來到售樓中心,銷售人員進行接待。 客戶向銷售人員提供預先申請的服務(wù)號。 銷售人員確認服務(wù)號是否有效,如果無效現(xiàn)場給出一個新的服務(wù)號。 銷售人員引導客戶選房。 客戶確定戶型,房號。 銷售人員錄入客戶認購資料。 銷售人員確認認購資料填寫完整。 銷售人員將認購

8、資料提交給銷售經(jīng)理審批。 確定是否可以獲得優(yōu)惠,如果客戶是一次交清房款,獲得0.1%優(yōu)惠。 交上級經(jīng)理審批。 銷售人員引導客戶到財務(wù)處交納定金。 交納定金后,客服人員打印收據(jù)。 客服人員打印認購書。 為了使用研究究的場景更有有代表性,揉揉合其他典型型的工作流應(yīng)應(yīng)用場景,將將上面的流程程作一些刪改改。 客戶認購的流流程改為: 客戶確定定購房,銷售售人員錄入認認購資料。 提交認購購資料,必須須保證錄入資資料的完整性性。 提交交審核,按總總金額進行分分類審核。如如果金額小于于50萬銷售售經(jīng)理審核即即可,大于550萬還要上上級經(jīng)理兩人人同時審核通通過。 審審批完成,客客戶到財務(wù)處處交納定金。 客服人員

9、為客戶打印收據(jù),打印認購書,認購完成。上面的流程中一一些異常情況況(流程中的的一些分支),在這里先先不作考慮,如如,客戶在交交納定金之前前可以隨時放放棄認購。 客戶的認購要要錄入的資料料內(nèi)容包括:客戶姓名,房房號,定金,總總金額,流程程號等,這里里僅選取幾個個重要的數(shù)據(jù)據(jù)作為保存對對象。保存錄錄入資料時自自動取得一個個流程號,任任何時候,可可以根據(jù)此流流程號跟蹤流流程狀態(tài),所所以在保存認認購資料時要要記錄流程號號。通用的標標準規(guī)范 jjBPM 是是個功能全面面的Workkflow Enginne,融合了了4大功能:Workfflow,BBPM,BPPEL,PaageFloow。它自己己有個BP

10、EEL擴展,采采用jbosss Hibbernatte實現(xiàn),它它使用自定義義的自定義標標準jpdll,不支持目目前公開的工工作流(業(yè)務(wù)務(wù)流程)標準準,如: JCP JSR2008 Javva Bussinesss Inteegratiion JJSR2077 Proccess DDefiniition for JJava OASIIS WSS-BPELL Worrkfloww Manaagemennt Coaalitioon(WFMMC) WWFMC XXPDL Businness PProcesss Mannagemeent Innitiattive (BPMI) BPMMN Obbject

11、 Managgementt Grouup (OMMG) SState Chartt XML (SCXMML) 處理 HYPERLINK 測試階段段的JBosss jBPPM BPEEL擴展準備備支持BPEEL 1.11標準(非標標準組織通過過的標準)。技術(shù)方案 由于于公司采取的的架構(gòu)是ejjb3+taapestrry4架構(gòu),所所以我們的場場景實現(xiàn)架構(gòu)構(gòu)也是基于以以上架構(gòu)進行行實現(xiàn)的(ttapesttry4+eejb3+jjbpm3.2),我們們所采取的jjbpm版本本是3.2,這這也是目前jjbpm最新新的版本。這這里我們使用用jbosss作為我們的的web服務(wù)務(wù)器開發(fā)環(huán)境 這這里我們是采采用

12、ecliipse3.2開發(fā)工具具進行開發(fā),TTapesttry4+eejb3的開開發(fā)環(huán)境配置置和以往的項項目配置基本本保持一致,這這里就不再進進行詳細介紹紹,關(guān)鍵就是是jbpm33.2的配置置方法。 我們從jBooss官方網(wǎng)網(wǎng)站(htttp:/wwww.jbboss.oorg)上 HYPERLINK / 下下載jbpmm-jpdll-suitte-3.22.GA.zzip,最新新的版本是33.2.GAA,這個包括括: jbpm-serveer , 預預先配置的jjboss 應(yīng)用服務(wù)器器. jjbpm-ddesignner , jBPM流流程圖形化設(shè)設(shè)計器的ecclipsee 插件 . jjbp

13、m-ddb , jjBPM 數(shù)數(shù)據(jù)庫兼容包包 (參看下下面). jbpmm , 核心心jbpm組組件包括庫和和用戶手冊. jbbpm-bppel , JBosss jBPMM BPELL 擴展參考考. 預配置的JBBoss 應(yīng)應(yīng)用服務(wù)器有有下列安裝組組件: 核核心jBPMM 組件 , 打包作為為JBosss服務(wù)檔案 一個包括所有有jBPM 表格的完整整數(shù)據(jù)庫 : 默認的 hyperrsonicc 數(shù)據(jù)庫包包含所有的jjBPM 表表格和已經(jīng)定定義的流程. jBPM 控控制臺webb應(yīng)用程序 這個可以用用來為jBPPM管理員. jBPMM調(diào)度程序 所有定時器器的執(zhí)行. 調(diào)度程序在在新手工具箱箱里配

14、置成了了一個serrvlet.這個Serrvlet會會為產(chǎn)生一個個線程來監(jiān)視視每個定時器器的執(zhí)行. 一個流程例子子 已經(jīng)發(fā)布布進了jBPPM 數(shù)據(jù)庫庫,關(guān)于jbbpm-jppdl-suuite-33.2套件包包的具體介紹紹,可以參考考JBosss jBPMM Cookkbook手手冊。 JBoss jBPM 是一個Jaava庫. 因此,它可可以用在任何何java環(huán)環(huán)境比如weeb 應(yīng)用程程序,Swiing應(yīng)用程程序,EJBB,Web Serviice等等,JJBoss jBPM 核心組件被被打包成一個個簡單的Jaava庫文件件.它依賴你你所使用的功功能性, 庫庫 jbpmm-jpdll.jar

15、及及一些相關(guān)的的第三方的庫庫比如 . hiberrnate33.2, ddom4j 等等 在我們實現(xiàn)場場景中。要使使用jbpmm,我們首先先需要將jbbpm3.22的包導入我我們的項目當當中, jbbpm3.22的主要包括括兩個包jbbpm-jppdl.jaar和jbppm-ideentityy.jar。而而jbpm-jpdl.jar是jjbpm的核核心包,jbbpm-iddentitty.jarr則是jbppm自帶的用用戶角色權(quán)限限管理包。我我們將這兩個個包導入我們們的項目中。(具具體可參考jjbpm的用用戶手冊) 在jbpm中中,流程的定定義主要是編編寫在xmll文件中的,我我們需要將具具

16、體的業(yè)務(wù)流流程在xmll中定義。所所以我們需要要在項目的根根目錄上新建建一個源目錄錄,這里我們們命名為“pprocessses”,在在該目錄我們們可以保存流流程定義xmml文件。 JBoss jBPM 包括一個圖圖形化的流程程設(shè)計工具. 這個設(shè)計計器是用來創(chuàng)創(chuàng)作商業(yè)流程程的,該圖形形設(shè)計器是一一個Ecliipse插件件,圖形化設(shè)設(shè)計工具最重重要的特性是是它同時支持持業(yè)務(wù)分析員員和技術(shù)開發(fā)發(fā)人員. 這這樣就可以在在業(yè)務(wù)流程建建模和實際執(zhí)執(zhí)行之間平滑滑轉(zhuǎn)換。使用用該插件你可可以通過界面面來拖拉描繪繪你的業(yè)務(wù)流流程,而不需需要靠手寫編編碼來設(shè)計。該該插件位于jjbpm-jjpdl-ssuite-3.

17、2.GGA.zipp中,插件的的安裝方法可可以參考ellipse插插件的安裝方方法。安裝完完畢后,我們們下面可以通通過該插件新新建流程設(shè)計計文件。步驟如下:1、在在proceesses目目錄中右建選選擇“Neww”“oother” 2、選擇“PProcesss Deffinitiion”,點點擊“Nexxt” 輸入Proccess nname,點點擊完成。打打開設(shè)計界面面,我們就可可以在上面根根據(jù)我們的業(yè)業(yè)務(wù)來設(shè)計工工作流流程文文件。 Jbpm本身身包含很多自自己的jbppm數(shù)據(jù)庫表表,jBPMM內(nèi)部使用hhibernnate來管管理它的數(shù)據(jù)據(jù)庫,通過HHibernnate,jjBPM將數(shù)數(shù)據(jù)

18、的管理職職能分離出去去,自己專注注于商務(wù)邏輯輯的處理,而而且我們可以以使jBPMM移植在不同同的數(shù)據(jù)庫.。我們進行行的每一步流流程操作都保保存在jbppm數(shù)據(jù)表中中,通過調(diào)用用jbpm提提供的接口,我我們可以對jjBPM數(shù)據(jù)據(jù)庫進行 HYPERLINK / 存儲儲,更新和檢檢索流程信息息的服務(wù)。這這里我們使用用Mysqll5.0數(shù)據(jù)據(jù)庫,下面我我們在項目中中新建一個源源目錄“coonfig.filess”,名字可可以任意,在在該目錄建立立hiberrnate.cfg.xxml文件:hibernaate.cffg.xmll?xml vversioon=1.0 enncodinng=uttf-8?

19、!DOCTYYPE hiibernaate-coonfiguuratioon PUBBLIC -/Hiibernaate/Hiibernaate Coonfiguuratioon DTDD 3.0/EN http:/hibbernatte.souurcefoorge.nnet/hiibernaate-coonfiguuratioon-3.00.dtdhibernnate-cconfigguratiionsessioon-facctory!- hiibernaate diialectt -!-proopertyy namee=hibbernatte.diaalectorg.hiberrnate.

20、dialeect.HSSQLDiaalect/propperty-properrty naame=hhibernnate.ddialecctorg.hibbernatte.diaalect.MySQLLDialeect/propeerty!- JDDBC coonnecttion pproperrties (begiin) =properrty naame=hhibernnate.cconnecction.driveer_claassoorg.hssqldb.jdbcDDriverr/proopertyyproperrty naame=hhibernnate.cconnecction.urlj

21、dbc:hsqlddb:memm:jbpmm/proopertyyproperrty naame=hhibernnate.cconnecction.usernnamesa/pproperrtyproperrty naame=hhibernnate.cconnecction.passwword/proopertyy= JDDBC coonnecttion pproperrties (end) -!- JDDBC coonnecttion ffor MyySQL ddatabaase -properrty naame=cconnecction.driveer_claasscom.myssql.jd

22、dbc.Drriver/propeertyproperrty naame=cconnecction.urljdbc:myysql:/locaalhostt/myjbbpm/propeertyproperrty naame=cconnecction.usernnameroot/proppertyproperrty naame=cconnecction.passwword1234/propperty!- JDDBC coonnecttion ppool (use tthe buuilt-iin) -properrty naame=cconnecction.pool_size1/pproperrty

23、properrty naame=viider_cclassorg.hibbernatte.cacche.HaashtabbleCaccheProoviderr/propeerty!- usse datta souurce -!- DaataSouurce pproperrties (begiin)properrty naame=hhibernnate.cconnecction.datassourceejava:coomp/ennv/JbppmDS/propeertyDataSouurce pproperrties (end) -!- Drrop annd re-creatte thee dat

24、aabase schemma on starttup -properrty naame=hhbm2dddl.auttocrreate/propperty!- JTTA traansacttion pproperrties (begiin) =properrty naame=hhibernnate.ttransaactionn.facttory_cclassorg.hibbernatte.traansacttion.JJTATraansacttionFaactoryy/proopertyyproperrty naame=hhibernnate.ttransaactionn.manaager_ll

25、ookupp_classsorg.hibbernatte.traansacttion.JJBossTTransaactionnManaggerLoookup/propeerty= JTTA traansacttion pproperrties (end) -!- CMMT traansacttion pproperrties (begiin) =properrty naame=hhibernnate.ttransaactionn.facttory_cclassorg.hibbernatte.traansacttion.CCMTTraansacttionFaactoryy/proopertyyp

26、roperrty naame=hhibernnate.ttransaactionn.manaager_llookupp_classsorg.hibbernatte.traansacttion.JJBossTTransaactionnManaggerLoookup/propeerty= CMMT traansacttion pproperrties (end) -!- looggingg proppertiees (beegin) =properrty naame=hhibernnate.sshow_ssqlttrue/propeertyproperrty naame=hhibernnate.f

27、formatt_sqltruee/proopertyyproperrty naame=hhibernnate.uuse_sqql_commmentsstruue/prropertty= looggingg proppertiees (ennd) -!- # -!- # mappiing fiiles wwith eexternnal deependeenciess # -!- # -!- foollowiing maappingg filee has a deppendenndy onn-!- bbsh-vversioon.jaar. -!- unncommeent thhis iff you

28、 dontt havee bsh on yoour -!- cllasspaath. you wwont be abble too use the -!- sccript elemeent inn proccess ddefiniition filess-mappinng ressourcee=orgg/jbpmm/grapph/acttion/SScriptt.hbm.xml /!- foollowiing maappingg filees havve a ddependdendy on -!- jjbpm-iidentiity.jaar, mmappinng filles-!- off t

29、he plugggable jbpm identtity ccomponnent. -!- Unncommeent thhe folllowinng 3 llines if yoou -!- waant too use the jjBPM iidentiity mggmgt -!- coomponeent.-!- iddentitty mapppingss (beggin) -mappinng ressourcee=orgg/jbpmm/idenntity/User.hbm.xxml /mappinng ressourcee=orgg/jbpmm/idenntity/Groupp.hbm.xm

30、l /mappinng ressourcee=orgg/jbpmm/idenntity/Membeershipp.hbm.xml /!- iddentitty mapppingss (endd) -!- foollowiing maappingg filees havve a ddependdendy on -!- thhe JCRR API -!- jccr mapppingss (beggin) =mappinng ressourcee=orgg/jbpmm/conttext/eexe/vaariablleinsttanc /JcrNNodeInnstancce.hbmm.xml/= jc

31、cr mapppingss (endd) -!- # -!- # jbpm mappiing fiiles # -!- # -!- hqql queeries and ttype ddefs -mappinng ressourcee=orgg/jbpmm/db/hhibernnate.qqueriees.hbmm.xml /!- grraph.ddef maappingg filees -mappinngresourcce=orrg/jbppm/graaph/deef/ProocessDDefiniition.hbm.xxml /mappinng ressourcee=orgg/jbpmm/g

32、rapph/deff/Nodee.hbm.xml /mappinng ressourcee=orgg/jbpmm/grapph/deff/Trannsitioon.hbmm.xml /mappinng ressourcee=orgg/jbpmm/grapph/deff/Evennt.hbmm.xml /mappinng ressourcee=orgg/jbpmm/grapph/deff/Actiion.hbbm.xmll /mappinng ressourcee=orgg/jbpmm/grapph/deff/SupeerStatte.hbmm.xml /mappinng ressourcee=

33、orgg/jbpmm/grapph/deff/ExceeptionnHandller.hbbm.xmll /mappinng ressourcee=orgg/jbpmm/insttantiaation/Deleggationn.hbm.xml /!- grraph.nnode mmappinng filles -mappinng ressourcee=orgg/jbpmm/grapph/nodde/StaartStaate.hbbm.xmll /mappinng ressourcee=orgg/jbpmm/grapph/nodde/EnddStatee.hbm.xml /mappinng re

34、ssourcee=orgg/jbpmm/grapph/nodde/ProocessSState.hbm.xxml /mappinng ressourcee=orgg/jbpmm/grapph/nodde/Deccisionn.hbm.xml /mappinng ressourcee=orgg/jbpmm/grapph/nodde/Forrk.hbmm.xml /mappinng ressourcee=orgg/jbpmm/grapph/nodde/Joiin.hbmm.xml /mappinng ressourcee=orgg/jbpmm/grapph/nodde/Staate.hbbm.xm

35、ll /mappinng ressourcee=orgg/jbpmm/grapph/nodde/TasskNodee.hbm.xml /!- coontextt.def mappiing fiiles -mappinngresourcce=orrg/jbppm/conntext/def/CContexxtDefiinitioon.hbmm.xml /mappinng ressourcee=orgg/jbpmm/conttext/ddef/VaariablleAcceess.hbbm.xmll /!- taaskmgmmt.deff mappping ffiles -mappinngresour

36、cce=orrg/jbppm/tasskmgmtt/def/TaskMMgmtDeefinittion.hhbm.xmml /mappinng ressourcee=orgg/jbpmm/taskkmgmt/def/SSwimlaane.hbbm.xmll /mappinng ressourcee=orgg/jbpmm/taskkmgmt/def/TTask.hhbm.xmml /mappinngresourcce=orrg/jbppm/tasskmgmtt/def/TaskCControoller.hbm.xxml /!- moodule.def mmappinng filles -mapp

37、inngresourcce=orrg/jbppm/moddule/ddef/MooduleDDefiniition.hbm.xxml /!- byytes mmappinng filles -mappinng ressourcee=orgg/jbpmm/bytees/BytteArraay.hbmm.xml /!- fiile.deef mappping filess -mappinng ressourcee=orgg/jbpmm/filee/def/FileDDefiniition.hbm.xxml /!- sccheduller.deef mappping filess -mappinng

38、resourcce=orrg/jbppm/schheduleer/deff/CreaateTimmerActtion.hhbm.xmml /mappinngresourcce=orrg/jbppm/schheduleer/deff/CanccelTimmerActtion.hhbm.xmml /!- grraph.eexe maappingg filees -mappinng ressourcee=orgg/jbpmm/grapph/exee/Commment.hhbm.xmml /mappinng ressourcee=orgg/jbpmm/grapph/exee/ProccessInnst

39、ancce.hbmm.xml /mappinng ressourcee=orgg/jbpmm/grapph/exee/Tokeen.hbmm.xml /mappinng ressourcee=orgg/jbpmm/grapph/exee/RunttimeAcction.hbm.xxml /!- moodule.exe mmappinng filles -mappinng ressourcee=orgg/jbpmm/moduule/exxe/ModduleInnstancce.hbmm.xml /!- coontextt.exe mappiing fiiles -mappinngresourcc

40、e=orrg/jbppm/conntext/exe/CContexxtInsttance.hbm.xxml /mappinngresourcce=orrg/jbppm/conntext/exe/TTokenVVariabbleMapp.hbm.xml /mappinngresourcce=orrg/jbppm/conntext/exe/VVariabbleInsstancee.hbm.xml /mappinngresourcce=orrg/jbppm/conntext/exe/vvariabbleinsstancee/ByteeArrayyInstaance.hhbm.xmml /mappin

41、ngresourcce=orrg/jbppm/conntext/exe/vvariabbleinsstancee/DateeInstaance.hhbm.xmml /mappinngresourcce=orrg/jbppm/conntext/exe/vvariabbleinsstancee/DoubbleInsstancee.hbm.xml /mappinngresourcce=orrg/jbppm/conntext/exe/vvariabbleinsstancee/HibeernateeLongIInstannce.hbbm.xmll /mappinngresourcce=orrg/jbpp

42、m/conntext/exe/vvariabbleinsstancee/HibeernateeStrinngInsttance.hbm.xxml /mappinngresourcce=orrg/jbppm/conntext/exe/vvariabbleinsstancee/LonggInstaance.hhbm.xmml /mappinngresourcce=orrg/jbppm/conntext/exe/vvariabbleinsstancee/NulllInstaance.hhbm.xmml /mappinngresourcce=orrg/jbppm/conntext/exe/vvaria

43、bbleinsstancee/StriingInsstancee.hbm.xml /!- joob mappping filess -mappinng ressourcee=orgg/jbpmm/job/Job.hhbm.xmml /mappinng ressourcee=orgg/jbpmm/job/Timerr.hbm.xml /mappinng ressourcee=orgg/jbpmm/job/ExecuuteNoddeJob.hbm.xxml /mappinng ressourcee=orgg/jbpmm/job/ExecuuteActtionJoob.hbmm.xml /!- ta

44、askmgmmt.exee mappping ffiles -mappinngresourcce=orrg/jbppm/tasskmgmtt/exe/TaskMMgmtInnstancce.hbmm.xml /mappinng ressourcee=orgg/jbpmm/taskkmgmt/exe/TTaskInnstancce.hbmm.xml /mappinng ressourcee=orgg/jbpmm/taskkmgmt/exe/PPooleddActorr.hbm.xml /mappinngresourcce=orrg/jbppm/tasskmgmtt/exe/SwimllaneIn

45、nstancce.hbmm.xml /!- looggingg mappping ffiles -mappinng ressourcee=orgg/jbpmm/loggging/llog/PrrocesssLog.hhbm.xmml /mappinng ressourcee=orgg/jbpmm/loggging/llog/MeessageeLog.hhbm.xmml /mappinng ressourcee=orgg/jbpmm/loggging/llog/CoomposiiteLogg.hbm.xml /mappinng ressourcee=orgg/jbpmm/grapph/logg/

46、ActiionLogg.hbm.xml /mappinng ressourcee=orgg/jbpmm/grapph/logg/NodeeLog.hhbm.xmml /mappinngresourcce=orrg/jbppm/graaph/loog/ProocessIInstannceCreeateLoog.hbmm.xml /mappinngresourcce=orrg/jbppm/graaph/loog/ProocessIInstannceEnddLog.hhbm.xmml /mappinng ressourcee=orgg/jbpmm/grapph/logg/ProccessSttate

47、Loog.hbmm.xml /mappinng ressourcee=orgg/jbpmm/grapph/logg/SignnalLogg.hbm.xml /mappinng ressourcee=orgg/jbpmm/grapph/logg/TokeenCreaateLogg.hbm.xml /mappinng ressourcee=orgg/jbpmm/grapph/logg/TokeenEndLLog.hbbm.xmll /mappinng ressourcee=orgg/jbpmm/grapph/logg/TrannsitioonLog.hbm.xxml /mappinng resso

48、urcee=orgg/jbpmm/conttext/llog/VaariablleLog.hbm.xxml /mappinngresourcce=orrg/jbppm/conntext/log/VVariabbleCreeateLoog.hbmm.xml /mappinngresourcce=orrg/jbppm/conntext/log/VVariabbleDelleteLoog.hbmm.xml /mappinngresourcce=orrg/jbppm/conntext/log/VVariabbleUpddateLoog.hbmm.xml /mappinngresourcce=orrg/

49、jbppm/conntext/log/vvariabbleinsstancee/ByteeArrayyUpdatteLog.hbm.xxml /mappinngresourcce=orrg/jbppm/conntext/log/vvariabbleinsstancee/DateeUpdatteLog.hbm.xxml /mappinngresourcce=orrg/jbppm/conntext/log/vvariabbleinsstancee/DoubbleUpddateLoog.hbmm.xml /mappinngresourcce=orrg/jbppm/conntext/log/vvari

50、abbleinsstancee/HibeernateeLongUUpdateeLog.hhbm.xmml /mappinngresourcce=orrg/jbppm/conntext/log/vvariabbleinsstancee/HibeernateeStrinngUpdaateLogg.hbm.xml /mappinng resouurce=org/jjbpm/ccontexxt/logg/variiableiinstannce/LoongUpddateLoog.hbmm.xml /mappinng resouurce=org/jjbpm/ccontexxt/logg/variiable

51、iinstannce/SttringUUpdateeLog.hhbm.xmml /mappinng ressourcee=orgg/jbpmm/taskkmgmt/log/TTaskLoog.hbmm.xml /mappinng ressourcee=orgg/jbpmm/taskkmgmt/log/TTaskCrreateLLog.hbbm.xmll /mappinng ressourcee=orgg/jbpmm/taskkmgmt/log/TTaskAsssignLLog.hbbm.xmll /mappinng ressourcee=orgg/jbpmm/taskkmgmt/log/TTa

52、skEnndLog.hbm.xxml /mappinng ressourcee=orgg/jbpmm/taskkmgmt/log/SSwimlaaneLogg.hbm.xml /mappinngresourcce=orrg/jbppm/tasskmgmtt/log/SwimllaneCrreateLLog.hbbm.xmll / mapppingresourcce=orrg/jbppm/tasskmgmtt/log/SwimllaneAsssignLLog.hbbm.xmll /sessiion-faactoryy/hiberrnate-confiigurattion 我們在webb應(yīng)用項目的

53、的web.xxml文件中中定義JbppmConttextFiilter過過濾類,它用用于實現(xiàn)JBBPMCONNTEXT 的初始化 filtter filteer-nammeJbppmConttextFiilter/filtter-naame filteer-claassorrg.jbppm.webb.JbpmmConteextFillter/filteer-claass /fillter filtter-maappingg filteer-nammeJbppmConttextFiilter/filtter-naame url-ppatterrn/*/url-patteern/filteer-m

54、appping 到這里,jbbpm的配置置已經(jīng)基本完完成,關(guān)于jjbpm詳細細資料大家可可以參考jbbpm用戶指指南,這里就就不多說。子流程的使用 成果介紹 詳細闡述開發(fā)發(fā)成果 評審審標準:清楚楚介紹開發(fā)成成果 當一個流程程的業(yè)務(wù)邏輯輯非常復雜的的時候,可以以考慮使用子子流程。子流流程和主流程程是相對獨立立的。 設(shè)計思路 描述主要的設(shè)設(shè)計思路,開開發(fā)方法以及及技術(shù)要點評評審標準:清清晰表達設(shè)計計思路和技術(shù)術(shù)要點 在jbpmm中,我們可可以將一個復復雜的業(yè)務(wù)流流程文件根據(jù)據(jù)業(yè)務(wù)邏輯的的不同劃分為為父流程和子子流程,這樣樣一方面可以以令我們的流流程定義文件件不會設(shè)計得得太臃腫,二二來可以方便便我們

55、將來的的維護,只對對需要修改的的流程進行修修改,而不影影響其他流程程。 如何使用 闡述如何結(jié)合合項目需要應(yīng)應(yīng)用成果進行行開發(fā)。這部部分需要詳細細描述,讓其其他開發(fā)人員員按照此成果果報告,能夠夠進行一般簡簡單的開發(fā),具具有較強的可可操作性。評評審標準:開開發(fā)人員按此此使用說明基基本能應(yīng)用成成果進行開發(fā)發(fā) 這里我們介紹紹下關(guān)于jbbpm子流程程的使用,這這里我們定義義兩個流程定定義xml文文件,一個是是父流程定義義文件,一個個是子流程定定義文件。這這里我想當執(zhí)執(zhí)行完P(guān)ayyfirstt任務(wù)的時候候,jbpmm流程能自動動去我的子流流程文件中去去執(zhí)行那邊定定義的任務(wù)。這里是父流程pprocesssd

56、efiinitioon.xmll?xml vversioon=1.0 enncodinng=UTTF-8?processs-deffinitiion xmmlns=urn:jjbpm.oorg:jppdl-3.2 naame=mmyapp。task-nnode nname=PayFiirsttask nname=PayFiirstTaask sswimlaane=ffinancce/tasktransiition name=get housee conttract to=subprrocesssactionn namee=acttionclass=com.mmyapp.actioon.Mess

57、sageAActionnHandllermessaggeHas payy firsst bullk of moneyy. Priint coonstraact noow!/messaage/actioon/transsitionn/task-nodeprocesss-staate naame=ssubproocesssub-prrocesss namee=subbproceessdeffinitiion/transiition to=eend/trannsitioon/proceess-sttatetask-nnode nname=pass roundd for perussal signal

58、=lastt-waitt creeate-ttasks=falssetask nname=perussalassignnment actorr-id=#proocessSStarteer/assiggnmentt/taskevent type=nodee-enteeractionn namee=creeateInnstancce class=com.mmyapp.actioon.CreeateTaaskInsstanceeActioon/actioon/eventttransiition name=backkto tto=OnnePerssonAuddit/transsitionn/task-

59、node/proceess-deefinittion 可以看到,上上面我們使用用到了,在jjbpm中,pprocesss-staate標簽代代表的是引用用子流程。這這里我們接著著定義子流程程文件。 子流程subbproceessdeffinitiion定義文文件?xml vversioon=1.0 enncodinng=UTTF-8?processs-deffinitiion xmmlns=urn:jjbpm.oorg:jppdl-3.2 name=ssubproocessddefiniitionswimlaane naame=sservicceassignnment actorr-id=se

60、rviice1 /swimllanestart-statee namee=subbStartttransiition to=PPrintCContraact/trannsitioon/startt-stattetask-nnode nname=PrinttContrracttask nname=PrinttContrractTaask sswimlaane=sservicce/tasktransiition name=PrinntConttract to=endactionn namee=acttionclass=com.mmyapp.actioon.MesssageAActionnHandl

溫馨提示

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

評論

0/150

提交評論