jBPM详解-工作流管理系统_第1页
jBPM详解-工作流管理系统_第2页
jBPM详解-工作流管理系统_第3页
jBPM详解-工作流管理系统_第4页
jBPM详解-工作流管理系统_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论