




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、J2EE工作流管理系統jBPM詳解(一)一、jBPM入門簡介 概述 工作流業務流流程管理技術術是基于SOOA技術實現現的一個核心心部分。使用用工作流能夠夠在軟件開發發和業務兩個個層次受益: 1、方便開發發 工作流管理系系統能夠簡化化企業級軟件件開發甚至維維護。 降低開發風風險 - 通通過使用狀態態和動作這樣樣的術語,業業務分析師和和開發人員使使用同一種語語言交談。這這樣開發人員員就不必將用用戶需求轉化化成軟件設計計了。 實現的集中中統一 -業業務流程經常常變化,使用用工作流系統統的最大好處處是:業務流流程的實現代代碼,不再是是散落在各種種各樣的系統統中 。 加快應用用開發 - 你的軟件不不用再
2、關注流流程的參與者者,開發起來來更快,代碼碼更容易維護護。 2、業務流程程管理 (BBPM) 在自動化業務務流程之前,分分析并將它們們規格化是一一件艱苦但會會有很好回報報的工作: 提高效率 - 許多流流程在自動化化過程中會去去除一些不必必要的步驟較較好的流程控控制 - 通通過標準的工工作方法和跟跟蹤審計,提提高了業務流流程的管理 改進客戶戶服務 - 因為流程的的一致性,提提高了對客戶戶響應的可預預見性 靈活 - 跨越流程的的軟件控制,使使流程可以按按照業務的需需要重新設計計。 業業務流程改進進 - 對流流程的關注,使使它們趨向于于流暢和簡單單 但從長遠的角角度,工作流流流程管理技技術的研究可可
3、為兩個階段段進行:1.目前解決華華研今后新項項目中復雜業業務流程如何何使用工作流流引擎技術進進行實現的問問題。 2.上升到面面向服務體系系架構,實現現各個服務之之間的業務流流程。 jBPM,全全稱是 HYPERLINK / Javva Bussinesss Proccess MManageement,是是一種基于JJ2EE的輕輕量級工作流流管理系統。jjBPM是公公開源代碼項項目,它使用用要遵循 AApachee Liceense. jBPM在22004年110月18日日,發布了22.0版本,并并在同一天加加入了JBooss,成為為了JBosss企業中間間件平臺的一一個組成部分分,它的名稱稱也
4、改成JBBoss jjBPM.隨隨著jBPMM加入JBooss組織,jjBPM也將將進入一個全全新的發展時時代,它的前前景是十分光光明的。 JBoss jBPM 只有最小的的倚賴性,它它可以很容易易的作為jaava庫來使使用。當然它它也可以用在在訪問量很大大的J2EEE 群應用 HYPERLINK / 服服務器環境中中。 JBooss jBBPM 可以以同任何數據據庫配置可以以部署在任何何應用 HYPERLINK / 服務器器上。 jBPM 最最大的特色就就是它的商務務邏輯定義沒沒有采用目前前的一些規范范,如WfMMC XPDDL, BPPML, eebXML, BPEL44WS等,而而是采用
5、了它它自己定義的的JBosss jBPMM Proccess ddefiniition languuage (jjPdl)。jjPdl認為為一個商務流流程可以被看看作是一個UUML狀態圖圖。jPdll就是詳細定定義了這個狀狀態圖的每個個部分,如起起始、結束狀狀態,狀態之之間的轉換等等。 jBPM的另另一個特色是是它使用Hiibernaate來管理理它的數據庫庫。Hibeernatee是目前 HYPERLINK / Jaava領域最最好的一種數數據持久層解解決方案。通通過Hibeernatee,jBPMM將數據的管管理職能分離離出去,自己己專注于商務務邏輯的處理理。(具體選選型報告可參參考工作流
6、技技術選型評估估報告)。 本文檔主要是是工作流研究究小組關于開開源工作流引引擎jbpmm的研究成果果總結。內容容包括工作流流研究場景的的介紹、jbbpm的環境境配置,并包包括以下六個個研究主題: JBPM同同開發如何結結合,又如何何保持獨立性性;對應用系系統的設計實實現有什么樣樣的制約 用戶/角色色如何同應用用系統結合,變變化又如何處處理 流程程中每個活動動,如何動態態指定執行者者 類似傳傳閱功能如何何實現 子子流程如何實實現 流程程執行步驟耗耗時閥值和自自動提醒設置置 jBPPM當前版本本的穩定性評評估術語、定義和縮縮略語應用場景 本場景是從房房地產營銷系系統的需求中中提取出來的的,在房地產
7、產項目中,客客戶選戶購房房的過程是一一個非常典型型的工作流場場景。我們將將這一過程提提取出來,作作為jbpmm技術研究的的場景。 在購房過程中中,會有以下下人員參與。 客戶:購房的主體 銷售人員:在購房過程中指導看房,購房。 銷售經理:確定認購信息。 財務人員:收取定金。 客服人員:打印收據,打印客戶認購書。 客戶購房的過程可以描述如下。 客戶來到售樓中心,銷售人員進行接待。 客戶向銷售人員提供預先申請的服務號。 銷售人員確認服務號是否有效,如果無效現場給出一個新的服務號。 銷售人員引導客戶選房。 客戶確定戶型,房號。 銷售人員錄入客戶認購資料。 銷售人員確認認購資料填寫完整。 銷售人員將認購
8、資料提交給銷售經理審批。 確定是否可以獲得優惠,如果客戶是一次交清房款,獲得0.1%優惠。 交上級經理審批。 銷售人員引導客戶到財務處交納定金。 交納定金后,客服人員打印收據。 客服人員打印認購書。 為了使用研究究的場景更有有代表性,揉揉合其他典型型的工作流應應用場景,將將上面的流程程作一些刪改改。 客戶認購的流流程改為: 客戶確定定購房,銷售售人員錄入認認購資料。 提交認購購資料,必須須保證錄入資資料的完整性性。 提交交審核,按總總金額進行分分類審核。如如果金額小于于50萬銷售售經理審核即即可,大于550萬還要上上級經理兩人人同時審核通通過。 審審批完成,客客戶到財務處處交納定金。 客服人員
9、為客戶打印收據,打印認購書,認購完成。上面的流程中一一些異常情況況(流程中的的一些分支),在這里先先不作考慮,如如,客戶在交交納定金之前前可以隨時放放棄認購。 客戶的認購要要錄入的資料料內容包括:客戶姓名,房房號,定金,總總金額,流程程號等,這里里僅選取幾個個重要的數據據作為保存對對象。保存錄錄入資料時自自動取得一個個流程號,任任何時候,可可以根據此流流程號跟蹤流流程狀態,所所以在保存認認購資料時要要記錄流程號號。通用的標標準規范 jjBPM 是是個功能全面面的Workkflow Enginne,融合了了4大功能:Workfflow,BBPM,BPPEL,PaageFloow。它自己己有個BP
10、EEL擴展,采采用jbosss Hibbernatte實現,它它使用自定義義的自定義標標準jpdll,不支持目目前公開的工工作流(業務務流程)標準準,如: 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標準(非標標準組織通過過的標準)。技術方案 由于于公司采取的的架構是ejjb3+taapestrry4架構,所所以我們的場場景實現架構構也是基于以以上架構進行行實現的(ttapesttry4+eejb3+jjbpm3.2),我們們所采取的jjbpm版本本是3.2,這這也是目前jjbpm最新新的版本。這這里我們使用用jbosss作為我們的的web服務務器開發環境 這這里我們是采采用
12、ecliipse3.2開發工具具進行開發,TTapesttry4+eejb3的開開發環境配置置和以往的項項目配置基本本保持一致,這這里就不再進進行詳細介紹紹,關鍵就是是jbpm33.2的配置置方法。 我們從jBooss官方網網站(htttp:/wwww.jbboss.oorg)上 HYPERLINK / 下下載jbpmm-jpdll-suitte-3.22.GA.zzip,最新新的版本是33.2.GAA,這個包括括: jbpm-serveer , 預預先配置的jjboss 應用服務器器. jjbpm-ddesignner , jBPM流流程圖形化設設計器的ecclipsee 插件 . jjbp
13、m-ddb , jjBPM 數數據庫兼容包包 (參看下下面). jbpmm , 核心心jbpm組組件包括庫和和用戶手冊. jbbpm-bppel , JBosss jBPMM BPELL 擴展參考考. 預配置的JBBoss 應應用服務器有有下列安裝組組件: 核核心jBPMM 組件 , 打包作為為JBosss服務檔案 一個包括所有有jBPM 表格的完整整數據庫 : 默認的 hyperrsonicc 數據庫包包含所有的jjBPM 表表格和已經定定義的流程. jBPM 控控制臺webb應用程序 這個可以用用來為jBPPM管理員. jBPMM調度程序 所有定時器器的執行. 調度程序在在新手工具箱箱里配
14、置成了了一個serrvlet.這個Serrvlet會會為產生一個個線程來監視視每個定時器器的執行. 一個流程例子子 已經發布布進了jBPPM 數據庫庫,關于jbbpm-jppdl-suuite-33.2套件包包的具體介紹紹,可以參考考JBosss jBPMM Cookkbook手手冊。 JBoss jBPM 是一個Jaava庫. 因此,它可可以用在任何何java環環境比如weeb 應用程程序,Swiing應用程程序,EJBB,Web Serviice等等,JJBoss jBPM 核心組件被被打包成一個個簡單的Jaava庫文件件.它依賴你你所使用的功功能性, 庫庫 jbpmm-jpdll.jar
15、及及一些相關的的第三方的庫庫比如 . hiberrnate33.2, ddom4j 等等 在我們實現場場景中。要使使用jbpmm,我們首先先需要將jbbpm3.22的包導入我我們的項目當當中, jbbpm3.22的主要包括括兩個包jbbpm-jppdl.jaar和jbppm-ideentityy.jar。而而jbpm-jpdl.jar是jjbpm的核核心包,jbbpm-iddentitty.jarr則是jbppm自帶的用用戶角色權限限管理包。我我們將這兩個個包導入我們們的項目中。(具具體可參考jjbpm的用用戶手冊) 在jbpm中中,流程的定定義主要是編編寫在xmll文件中的,我我們需要將具具
16、體的業務流流程在xmll中定義。所所以我們需要要在項目的根根目錄上新建建一個源目錄錄,這里我們們命名為“pprocessses”,在在該目錄我們們可以保存流流程定義xmml文件。 JBoss jBPM 包括一個圖圖形化的流程程設計工具. 這個設計計器是用來創創作商業流程程的,該圖形形設計器是一一個Ecliipse插件件,圖形化設設計工具最重重要的特性是是它同時支持持業務分析員員和技術開發發人員. 這這樣就可以在在業務流程建建模和實際執執行之間平滑滑轉換。使用用該插件你可可以通過界面面來拖拉描繪繪你的業務流流程,而不需需要靠手寫編編碼來設計。該該插件位于jjbpm-jjpdl-ssuite-3.
17、2.GGA.zipp中,插件的的安裝方法可可以參考ellipse插插件的安裝方方法。安裝完完畢后,我們們下面可以通通過該插件新新建流程設計計文件。步驟如下:1、在在proceesses目目錄中右建選選擇“Neww”“oother” 2、選擇“PProcesss Deffinitiion”,點點擊“Nexxt” 輸入Proccess nname,點點擊完成。打打開設計界面面,我們就可可以在上面根根據我們的業業務來設計工工作流流程文文件。 Jbpm本身身包含很多自自己的jbppm數據庫表表,jBPMM內部使用hhibernnate來管管理它的數據據庫,通過HHibernnate,jjBPM將數數據
18、的管理職職能分離出去去,自己專注注于商務邏輯輯的處理,而而且我們可以以使jBPMM移植在不同同的數據庫.。我們進行行的每一步流流程操作都保保存在jbppm數據表中中,通過調用用jbpm提提供的接口,我我們可以對jjBPM數據據庫進行 HYPERLINK / 存儲儲,更新和檢檢索流程信息息的服務。這這里我們使用用Mysqll5.0數據據庫,下面我我們在項目中中新建一個源源目錄“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應用項目的
53、的web.xxml文件中中定義JbppmConttextFiilter過過濾類,它用用于實現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的配置置已經基本完完成,關于jjbpm詳細細資料大家可可以參考jbbpm用戶指指南,這里就就不多說。子流程的使用 成果介紹 詳細闡述開發發成果 評審審標準:清楚楚介紹開發成成果 當一個流程程的業務邏輯輯非常復雜的的時候,可以以考慮使用子子流程。子流流程和主流程程是相對獨立立的。 設計思路 描述主要的設設計思路,開開發方法以及及技術要點評評審標準:清清晰表達設計計思路和技術術要點 在jbpmm中,我們可可以將一個復復雜的業務流流程文件根據據業務邏輯的的不同劃分為為父流程和子子流程,這樣樣一方面可以以令我們的流流程定義文件件不會設計得得太臃腫,二二來可以方便便我們
55、將來的的維護,只對對需要修改的的流程進行修修改,而不影影響其他流程程。 如何使用 闡述如何結合合項目需要應應用成果進行行開發。這部部分需要詳細細描述,讓其其他開發人員員按照此成果果報告,能夠夠進行一般簡簡單的開發,具具有較強的可可操作性。評評審標準:開開發人員按此此使用說明基基本能應用成成果進行開發發 這里我們介紹紹下關于jbbpm子流程程的使用,這這里我們定義義兩個流程定定義xml文文件,一個是是父流程定義義文件,一個個是子流程定定義文件。這這里我想當執執行完Payyfirstt任務的時候候,jbpmm流程能自動動去我的子流流程文件中去去執行那邊定定義的任務。這里是父流程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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工業固體廢棄物處置方法與成效評估
- 4s店衛生管理制度
- 查驗員培訓班管理制度
- 標準物質及其管理制度
- 校內商鋪招商管理制度
- 校園中心大道管理制度
- 校園廚房安全管理制度
- 校園安全使用管理制度
- 校園技防設施管理制度
- 校園消防宿舍管理制度
- 2023年甘肅省酒泉市中考語文試卷【含答案】
- 湖北襄陽市檢察機關-襄陽市城郊地區檢察院招考聘用67人模擬預測(共500題)筆試參考題庫附答案詳解
- 2023-2024學年河南省濮陽市小學語文五年級期末提升測試題附參考答案和詳細解析
- 延長石油筆試題庫
- 阿里巴巴開店注意事項
- 思想政治理論綜合實踐知到章節答案智慧樹2023年太原理工大學
- 臍灸技術評分標準
- 旅游俄語知到章節答案智慧樹2023年海南外國語職業學院
- 鄉村規劃原理智慧樹知到答案章節測試2023年同濟大學
- ArcGIS高級制圖技術
- 角膜接觸鏡學智慧樹知到答案章節測試2023年山東中醫藥大學
評論
0/150
提交評論