




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一 JPPDL流程定义义proccesss-deefinnitiion(流程定定义)流程定义义的根节节点,是是所有节节点的父父节点名称类型数量描述namee属性可选的流程的名名称。swimmlanne元素0.*流程中使使用的泳泳道。泳泳道表示示流程角角色,它它们被用用于任务务分配。starrt-sstatte元素0.1流程起始始状态。注意,没有起起始状态态的流程程是合法法的,但但是不能能被执行行。end-staate|staate|nodde|ttaskk-noode|proocesss-sstatte|ssupeer-sstatte|fforkk|jooin|deccisiion元素0.*流
2、程定义义的节点点。注意意,没有有节点的的流程是是合法的的,但是是不能被被执行。evennt元素0.*作为一个个容器服服务于动动作的流流程事件件。actiion|scrriptt|crreatte-ttimeer|ccanccel-timmer元素0.*全局定义义的的动动作,可可以在事事件和转转换中引引用。注注意,为为了被引引用,这这些动作作必须指指定名称称。taskk元素0.*全局定义义的任务务,可以以在动作作中使用用。exceeptiion-hanndleer元素0.*一个异常常处理器器列表,用于这这个流程程定义中中的委托托类所抛抛出的所所有异常常。nodee(自动动节点)这种节点点和Stt
3、atee相反,也称自自动节点点。当业业务程序序实例执执行到这这个节点点,不会会停止执执行。而而是会继继续往下下执行。如果该该节点存存在多个个离开转转向。那那么,就就会执行行其中的的第一个个离开转转向,在在Nodde状态态中,不不需要外外部参与与者的参参与,业业务流程程的这个个部分是是自动的的、即时时完成的的。名称类型数量描述actiion|scrriptt|crreatte-ttimeer|ccanccel-timmer事件1用于表示示这个节节点行为为的定制制动作。普通节点点元素请参考普普通节点点元素。starrt-sstatte(开开始状态态)starrt-sstatte是我我们整个个流程的
4、的开始节节点,所所有的流流程实例例从这里里开始。名称类型数量描述Namee属性可选的节点的名名称。Taskk元素0.1起始一个个流程实实例的任任务,或或者用来来捕获流流程发起起者Evennt元素0.*支持的事事件类型型:nnodee-leeavee。trannsittionn元素0.*离开转换换,每个个离开节节点的转转换必须须有一个个不同的的名称。exceeptiion-hanndleer元素0.*一个异常常处理器器列表,用于这这个流程程节点中中的委托托类所抛抛出的所所有异常常。end-staate(结束节节点)对于每一一个流程程定义都都会有一一个结束束节点,与开始始节点对对应名称类型数量描述
5、Namee属性必需的结束状态态的名称称。evennt元素0.*支持的事事件类型型:nnodee-ennterr。exceeptiion-hanndleer元素0.*一个异常常处理器器列表,用于这这个流程程节点中中的委托托类所抛抛出的所所有异常常。statte(状状态)Staate节节点也叫叫手工节节点,进进入到这这种节点点,整个个流程的的执行就就会中断断。直到到系统外外参与者者发起继继续执行行的命令令,即调调用siignaal或endd方法,业务程程序实例例的执行行才能够够继续下下去。名称类型数量描述namee属性必需的节点的名名称。asynnc属性truue|ffalsse,默认是是fall
6、se如果设置置为trrue,这个节节点将会会异步执执行。请请参考”异步执执行”章节。trannsittionn元素0.*离开转换换。每个个离开节节点的转转换必须须有一个个不同的的名称,最多只只允许所所有离开开转换中中的一个个没有名名称。第第一个转转换被指指定为默默认转换换,当离离开节点点而没有有指定转转换时,默认转转换发生生。evennt元素0.*支持的事事件类型型:nnodee-ennterr|noode-leaave。exceeptiion-hanndleer元素0.*一个异常常处理器器列表,用于这这个流程程节点中中的委托托类所抛抛出的所所有异常常。timeer元素0.*指定一个个定时器器
7、,用来来监视节节点中的的一个执执行所持持续的时时间。taskk-noode (任务务节点)其性质和和nodde节点点一样,在没有有tassk的时时候,也也都是自自动执行行,不等等待。ttaskk-noode被被归类为为一个等等待节点点,是指指在taask-nodde中的的tassk列表表中的ttaskk没有全全部执行行完之前前,它会会一直等等待。TTaskk可以在在tassk-nnodee节点下下定义,也可以以挂在pproccesss-deefinnitiion节节点下。最普遍遍的方式式是在ttaskk-noode节节点下定定义一个个或多个个任务。默认情情况下,流程在在tassk-nnodee
8、节点会会处于等等待状态态,直到到所有的的任务被被执行完完毕。TTaskk的执行行是按顺顺序执行行的,任任务都完完成后,tokken仍仍然不会会指向后后面的节节点;需需要自己己手动调调用prroceessIInsttancce.ssignnal()才会会驱动流流程到下下面的节节点。名称类型数量描述signnal属性可选的unssyncchroonizzed|nevver|firrst|firrst-waiit|llastt|laast-waiit,默认是是lasst。siggnall指定了了任务的的完成对对流程执执行继续续的影响响。creaate-tassks属性可选的yess|noo|trru
9、e|fallse,默认认是trrue。当需要要在运行行时通过过计算来来决定哪哪个任务务将被创创建时,可以设设置为ffalsse,如如果这样样的话,在noode-entter事事件上加加一个动动作,在在动作中中创建任任务,并并且把ccreaate-tassks设设置为ffalsse。end-tassks属性可选的yess|noo|trrue|fallse,默认认是faalsee。如果果设置eend-tassks为为truue,在在离开节节点时,所有打打开的任任务将被被结束。taskk元素0.*当执行到到达本节节点时所所应被创创建的任任务。 HYPERLINK l _普通节点点元素 普通通节点元元
10、素请参考 HYPERLINK l _普普通节点点元素 普通通节点元元素。为了帮助助读者理理解taask-nodde节点点的siignaal属性性,这里里举例如如下:对于这样样的流程程定义: 这里没有有定义ssignnal属属性的值值,这就就表明当当节点中中的三个个任务都都完成后后,流程程才进入入后面的的节点当表表明tookenn不会在在本节点点停留,而是直直接到后后面的节节点当表表明三个个任务都都完成后后,tookenn仍然不不会指向向后面的的节点;需要自自己手动动调用pproccesssInsstannce.siggnall()才才会驱动动流程到到下面的的节点当表表明只要要有一个个任务完完成
11、后,tokken就就指向后后面的节节点当表明明当第一一个任务务实例完完成时继继续执行行;当在在a节点入入口处没没有任务务创建时时,tookenn在a任务节节点处等等待,直直到任务务被创建建或完成成。当时,这是默默认值,和不设设置siignaal属性性的情况况相同。当时,当当最后一一个任务务实例完完成时候候继续执执行下去去。当a这个任任务节点点没有任任务被建建立时,任务节节点等待待直到任任务被建建立。forkk(分支支)一个foork把把一个执执行路线线分割成成多个执执行路线线. 默认认分支的的行为是是为每个个离开分分支转换换建立一一个子令令牌,在令牌牌要到达达的分支支之间建建立一个个父母-子女
12、关关系名称类型数量描述namee属性必需的节点的名名称。asynnc属性truue|ffalsse,默认是是fallse如果设置置为trrue,这个节节点将会会异步执执行。请请参考”异步执执行”章节。trannsittionn元素0.*离开转换换。每个个离开节节点的转转换必须须有一个个不同的的名称,最多只只允许所所有离开开转换中中的一个个没有名名称。第第一个转转换被指指定为默默认转换换,当离离开节点点而没有有指定转转换时,默认转转换发生生。evennt元素0.*支持的事事件类型型:nnodee-ennterr|noode-leaave。exceeptiion-hanndleer元素0.*一个异
13、常常处理器器列表,用于这这个流程程节点中中的委托托类所抛抛出的所所有异常常。timeer元素0.*指定一个个定时器器,用来来监视节节点中的的一个执执行所持持续的时时间。joinn(联合合)默认联合合(jooin)假设所所有来自自同一个个父母的的子令牌牌联合,当在上上使用fforkk(分支支)这个情情形就出出现了并并且所有有令牌分分支建立立,并且且到达同同一个联联合(jjoinn)。当当全部令令牌都进进入联合合的时候候联合就就结束了了,然后后联合将将检查父父母-子女,当所有有兄弟令令牌到达达联合(joiin),父母令令牌将传传播(唯一的的)离开转转换,当当还有兄兄弟令牌牌活动时时,联合合的行为为
14、将作为为等待状状态。名称类型数量描述namee属性必需的节点的名名称。asynnc属性truue|ffalsse,默认是是fallse如果设置置为trrue,这个节节点将会会异步执执行。trannsittionn元素0.*离开转换换。每个个离开节节点的转转换必须须有一个个不同的的名称,最多只只允许所所有离开开转换中中的一个个没有名名称。第第一个转转换被指指定为默默认转换换,当离离开节点点而没有有指定转转换时,默认转转换发生生。evennt元素0.*支持的事事件类型型:nnodee-ennterr|noode-leaave。exceeptiion-hanndleer元素0.*一个异常常处理器器列
15、表,用于这这个流程程节点中中的委托托类所抛抛出的所所有异常常。timeer元素0.*指定一个个定时器器,用来来监视节节点中的的一个执执行所持持续的时时间。对于Jooin节节点,我我们知道道默认是是要等到到所有分分支都到到了流程程才能往往下继续续走,要要改变这这一情况况,我们们可以通通过给该该节点加加Acttionn的方法法改变该该Joiin节点点的Diiscrrimiinattor,就可以以使只要要有一个个分支到到达流程程就可以以继续执执行的效效果了deciisioon(决决策)一个deecissionn用以决决定在多多个执行行路径中中哪个才才可以被被执行。如果你你是一个个程序员员,把它它可以
16、理理解成sswittch casse结构构即可,一个ddeciisioon能够够具有许许多离开开的trranssitiion。名称类型数量描述handdlerr元素要么指定定“haandller”元素,或者在在转换上上指定条条件。一个orrg.jjbpmm.jppdl.Deff.DeecissionnHanndleer的实实现名称称。trannsittionn元素0.*离开转换换。决策策的离开开转换可可以被扩扩展为拥拥有一个个条件,决策会会查找条条件计算算为trrue的的第一个个转换,没有条条件的转转换被认认为计算算为trrue(为了建建模“ootheerwiise”分支)。请参参考 HYPE
17、RLINK l _condition coondiitioon元素素。 HYPERLINK et/fckeditor/editor/fckeditor.html?InstanceName=ctl00_ContentPlaceHolder1_EntryEditor1_FCKEditor&Toolbar=Default l _普通节点点元素 普通通节点元元素请参考 HYPERLINK ryEditor1_FCKEditor&Toolbar=Default l _普普通节点点元素 普通通节点元元素。Handdlerr所指定定的DeecissionnHanndleer的实实现类里里的deecidde方
18、法法返回一一个字符符串,表表示要执执行哪个个traansiitioontrannsittionn(转换换)转换用来来指定节节点之间间的连接接。trranssitiion元元素放在在nodde里面面,那么么这个ttrannsittionn就会从从这个节节点出离离开。名称类型数量描述namee属性可选的转换的名名称。注注意,每每个节点点的离开开转换必必须有一一个不同同的名称称。to属性必需的目标节点点的分级级名称,表示将将要达到到的那个个节点名名称. actiion|scrriptt|creeatee-tiimerr|canncell-tiimerr元素0.*发生转换换时将要要执行的的动作。注意,
19、转换的的动作无无需放入入事件(因为只只有一个个事件)。exceeptiion-hanndleer元素0.*一个异常常处理器器列表,用于这这个流程程节点中中的委托托类所抛抛出的所所有异常常。evennt(事事件)JBPMM定义了了一系列列与工作作流节点点元素相相关联的的事件,例如,流程实实例运行行过程中中,可以以触发节节点进入入(noode-entter)、节点点离开(nodde-lleavve)、流程启启动(pproccesss-sttartt)、流流程结束束(prroceess-endd)、任任务创建建(taask-creeatee)、任务务分派(tassk-aassiign)、任务务启动(
20、tassk-sstarrt)等等事件。在流程定定义时,JBPPM的事事件均与与acttionn绑定。事件的的触发将将导致相相应acctioons的的执行。名称类型数量描述typee属性必需的表示相对对于事件件要放置置的元素素事件类类型。actiion|scrriptt|crreatte-ttimeer|canccel-timmer元素0.*在这个事事件上将将要执行行的动作作列表。actiion(动作)一个acctioon是一一段jaava代代码。在在流程执执行期间间在一些些事件之之上定义义,这样样会在相相关事件件触发时时自动在在工作流流引擎上上执行。名称类型数量描述namee属性必需的动作的名
21、名称。当当动作被被指定名名称后,它们可可以在流流程定义义中被查查出,这这对于运运行时动动作以及及仅一次次声明动动作是有有用的。classs属性或者用rref-namme,或或者用eexprresssionn。实现orrg.jjbpmm.grraphh.deef.AActiionHHanddlerr接口的的类的全全名。ref-namme属性或者用cclasss。所引用动动作的名名称。如如果指定定一个引引用动作作,则本本动作不不需要再再做处理理。exprresssionn属性或者指定定一个cclasss,或或者reef-nnamee。一个解决决一个方方法的jjPDLL表达式式。acceept-pr
22、oppagaatedd-evventts属性可选的yess|noo|trrue|fallse,默认认是yees|ttruee。如果果设置为为fallse,则动作作仅在本本动作元元素的触触发事件件上被执执行。更更多信息息,请参参考“ HYPERLINK l _事件传传播 第9.55.4 事件传传播”。conffig-typpe属性可选的 HYPERLINK ontentPlaceHolder1_EntryEditor1_FCKEditor&Toolbar=Default l _配置类类型fiieldd ffielld| HYPERLINK l _配置类类型beean beean| HYPERLI
23、NK l _配置类类型coonsttrucctorr cconsstruuctoor| HYPERLINK ?InstanceName=ctl00_ContentPlaceHolder1_EntryEditor1_FCKEditor&Toolbar=Default l _配置类类型coonfiigurratiion-prooperrty coonfiigurratiion-prooperrty。指定定动作对对象将被被怎样创创建以及及本元素素的内容容怎样象象配置信信息那样样被动作作对象所所使用。asynnc属性truue|ffalsse默认faalsee,这意意味着动动作将在在当前执执行的线线程
24、中被被执行。如果设设置为ttruee,一个个消息将将被发送送到命令令执行器器,并且且执行器器组件将将在一个个独立的的事务中中同步执执行动作作。请参参考”异步执执行”章节。内容可选的actiion的的内容可可以被作作为你定定制动作作实现的的配置信信息,这这是考虑虑到可重重用的委委托类的的创建。有关委委托配置置的更多多信息,请参考考“ HYPERLINK l _委托配配置 第16.2.33节委托托配置”。scriipt(脚本)Scriipt里里是动作作执行的的beaanshhelll脚本.名称类型数量描述namee属性可选的脚本动作作的名称称。当动动作被指指定名称称后,它它们可以以在流程程定义中中
25、被查出出,这对对于运行行时动作作以及仅仅一次声声明动作作是有用用的。Acceept-proopaggateed-eveentss属性可选的0.*yess|noo|trrue|fallse,默认认是yees|ttruee。如果果设置为为fallse,则动作作仅在本本动作元元素的触触发事件件上被执执行.exprresssionn元素0.1beannsheell脚脚本。如如果你没没有指定定 HYPERLINK l _variable varriabble元元素,可可以写表表达式作作为脚本本元素的的内容(忽略eexprresssionn元素标标签)。variiablle元素0.*脚本所需需变量。如果没
26、没有指定定变量,则当前前令牌的的所有变变量将被被装载到到脚本,当你想想要限制制装载到到脚本中中的变量量数量时时使用vvariiablle。exprresssionn(表达达式)Exprresssionn里可书书写Beeansshelll脚本本名称类型数量描述内容一个beeansshelll脚本本。variiablle(变变量)一个是变变量是一一种keey-vvaluue对。它与过过程实例例(一次次过程执执行)相相关联。Keyy是javva.llangg.sttrinng,vallue是是任何jjavaa类型的的任何ppojoo。所以以任何是是javva类型型,即使使不给jjbpmm知道也也能被
27、应应用到变变量中。JBPPM的流流程变量量在尽量量模仿jjavaa.uttil.mapp的语义义。这一一点可以以通过JJBPMM的APII来了解解。也就就是说一一个变量量只能当当它被插插入时被被赋值,任何jjavaa类型都都可以作作为变量量中的vvaluue。名称类型数量描述namee属性必需的流程变量量的名称称。acceess属性可选的默认是rreadd,wrritee,用逗逗号分割割的一个个访问列列表。迄迄今为止止,使用用的访问问仅为rreadd,wriite和和reqquirred。mappped-namme属性可选的默认是变变量的名名称。用用来指定定变量名名称被映映射的名名称,mmap
28、pped-namme的含含义依赖赖于这个个元素所所被使用用的上下下文。对对于一个个脚本,将是一一个脚本本变量名名称;对对于一个个任务控控制器,将是任任务表单单参数的的标签;对于一一个prroceess-staate,将是在在子流程程中使用用的变量量名称。handdlerr(句柄柄)Handdlerr是在定定义一个个deccisiion时时需要为为其定义义一个DDeciisioonHaandller时时采用。名称类型数量描述exprresssionn属性或者用cclasss一个jPPDL表表达式,返回结结果被用用toSStriing()方法法转换为为字符串串,结果果字符串串应该与与某个离离开转换
29、换匹配。classs属性或者用rref-namme实现了oorg.jbppm.ggrapph.nnodee.DeecissionnHanndleer接口口的类的的全名。Conffig-typpe属性可选的 HYPERLINK ault l _配置类类型fiieldd ffielld| HYPERLINK l _配置类类型beean beean| HYPERLINK r/fckeditor.html?InstanceName=ctl00_ContentPlaceHolder1_EntryEditor1_FCKEditor&Toolbar=Default l _配置类类型coonsttruccto
30、rr cconsstruuctoor| HYPERLINK CKEditor&Toolbar=Default l _配置类类型coonfiigurratiion-prooperrty coonfiigurratiion-prooperrty。指定定动作对对象将被被怎样创创建以及及本元素素的内容容怎样象象配置信信息那样样被动作作对象所所使用。内容可选的Actiion里里的内容容可以用用来帮助助结合我我们的业业务来处处理我们们的流程程,同时我我们可以以在Acctioon里加加上业务务处理逻逻辑,以更好好的利用用流程.timeer(定定时器)定时器ttimeer可以以被用于于deccisiion f
31、orrk jjoinn noode proocesss-sstatte sstatte ssupeer-sstatte ttaskk-noode,可以设设置开始始时间ddueddatee和频率率reppeatt,定时时器动作作可以是是所支持持的任何何动作元元素,如如acttionn或scrriptt。timeer 还还有一个个很重要要的属性性canncell-evventt,这个个是tiimerr和tassk结合合时使用用的,任任务定时时器的ccanccel-eveent可可以被定定制。默默认情况况下,当当任务被被结束时时(=完成)任务上上的定时时器将被被取消,这是通通过在定定时器上上使用cc
32、anccel-eveent属属性,流流程开发发者可以以定制诸诸如taask- asssiggn或tassk-sstarrt。canncell-evventt支持多多个事件件,通过过在属性性中指定定一个用用逗号分分割的列列表,可可以组合合canncell-evventt 的类类型。名称类型数量描述namee属性可选的定时器的的名称。如果没没有指定定名称,则采用用外部的的节点名名称。注注意,每每个定时时器应该该有一个个唯一的的名称。dueddatee属性必需的所指定的的定时器器创建到到定时器器执行之之间的期期限(可可以用业业务时间间来表示示)。repeeat属性可选的durratiion|yess
33、|trrue当一个个定时器器在预期期时间执执行后,“reepeaat”可可选项指指定了在在离开节节点之前前重复的的执行定定时器之之间的期期限。如如果指定定为trrue或或fallse,则与ddueddatee相同的的期限被被使用。trannsittionn属性可选的当定时器器执行、定时器器事件触触发后以以及执行行动作时时时所使使用的转转换名称称。canccel-eveent属性可选的这个属性性只用在在任务的的定时器器中,它它指定了了定时器器将被取取消的事事件。默默认是ttaskk-ennd事件件,但是是也可以以被设置置为如ttaskk-asssiggn或tassk-sstarrt。cannce
34、ll-evventt的类型型也可以以通过指指定一个个用逗号号分割的的列表被被组合。actiion|scrriptt|creaate-timmer|canccel-timmer元素0.*当定时器器被触发发时所应应被执行行的动作作。creaate-timmer(创建定定时器)Creaate-timmer是是定时器器的创建建名称类型数量描述namee属性可选的定时器的的名称。这个名名称可被被用于用用一个ccanccel-timmer动动作取消消定时器器。dueddatee属性必需的所指定的的定时器器创建到到定时器器执行之之间的期期限(可可以用业业务时间间来表示示)。请请参考“ HYPERLINK i
35、tor/editor/fckeditor.html?InstanceName=ctl00_ContentPlaceHolder1_EntryEditor1_FCKEditor&Toolbar=Default l _期限 第14.1节期期限”中的语语法。repeeat属性可选的durratiion|yees|trrue当一一个定时时器在预预期时间间执行后后,“rrepeeat”可选项项指定了了在离开开节点之之前重复复的执行行定时器器之间的的期限。如果指指定为ttruee或yesse,则则与duuedaate相相同的期期限被使使用。请请参考“ HYPERLINK l _期限 第14.1节期期限”的
36、语法法。trannsittionn属性可选的当定时器器执行、定时器器事件触触发后以以及执行行动作时时时(如如果要)所获取取的转换换名称。canccel-timmer(取消定定时器)Canccel-timmer是是定时器器的取消消名称类型数量描述namee属性可选的要被取消消的定时时器的名名称。taskk(任务务)Taskk 是是是流程定定义里的的一部分分,它决决定了ttaskk innstaancee的创建建和分配配名称类型数量描述namee属性可选的任务的名名称。命命名的任任可以被被引用并并且可以以通过TTaskkMgmmtDeefinnitiion被被查出。blocckinng属性可选的y
37、ess|noo|trrue|fallse 如果果bloockiing设设置为ttruee,当任任务没有有结束时时节点不不能被离离开(必必须要通通过taaskIInsttancce.eend()方法法离开节节点);如果设设置为ffalsse(默默认),允许用用户通过过siggnall继续执执行和离离开节点点。默认认设置为为fallse,因为通通常是由由用户接接口来强强制阻塞塞。signnalllingg属性可选的yess|noo|trrue|fallse,默认认是trrue。如果设设置siignaalliing为为fallse,则任务务没有触触发令牌牌继续的的能力。dueddatee属性可选的延
38、迟时间间(任务务执行的的的延迟迟时间)。请见见业务日日历中的的解释。swimmlanne属性可选的引用一个个 HYPERLINK l _swimlane swiimlaane,如果在在任务上上指定了了一个sswimmlanne,则则asssignnmennt将被被忽略。priooritty属性可选的higghesst,hhighh,noormaal,llow,lowwestt之一一。作为为选择,可以为为priioriity指指定任何何整数,供参考考:(hhighhestt=1,lowwestt=5)。 HYPERLINK l _assignment assiignmmentt元素可选的描写一个
39、个 HYPERLINK l _委托 委托,该该委托将将在任务务被创建建时把任任务分配配给一个个参与者者。evennt元素0.*支持的事事件类型型:ttaskk-crreatte|ttaskk-sttartt|taask-asssignn|taask-endd。为为了任务务分配,我们特特别的为为TasskInnstaancee添加了了一个非非持久化化的属性性preevioousAActoorIdd。exceeptiion-hanndleer元素0.*一个异常常处理器器列表,用于这这个流程程节点中中的委托托类所抛抛出的所所有异常常。timeer元素0.*指定一个个监视本本任务执执行期限限的一个个定
40、时器器。对于于任务定定时器特特殊的是是可以指指定caanceel-eevennt,canncell-evventt默认是是tassk-eend,但是它它可以被被自定义义如taask-asssignn或tassk-sstarrt。conttrolllerr元素0.1指定流程程变量怎怎样被转转换为任任务表单单参数。任务表表单参数数有用户户界面使使用,用用力向用用户表现现一个任任务表单单。swimmlanne(泳泳道)实际应用用中,一一个人是是一个流流程中多多个Taask的的参与者者(acctorr)的情情况是很很常见的的。在jjbpmm中通过过创建一一个swwimllanee并且把把swiimla
41、ane赋赋给一个个tassk的方方式来设设置当前前tassk的参参与者(acttor)。一个个业务流流程中的的swiimlaane可可以被看看做为一一个参与与者的参参与者对对象的名名称,当当然它不不一定是是固定的的某个人人,它可可以是一一个用户户组,一一个特定定用户的的角色等等。首次次执行到到达一个个Tassk,赋赋给该TTaskk的一个个swiimlaane就就会算出出参与者者(acctorr)。名称类型数量描述namee属性必需的泳道的名名称。泳泳道可以以被引用用并且可可以通过过TasskMggmtDDefiinittionn被查出出。assiignmmentt元素1.1指定泳道道的分配配
42、。这个个分配在在本泳道道中的第第一个任任务实例例被创建建时完成成。assiignmmentt(委派派)当流程执执行到某某个Taask的的时候,引时流流程引挚挚要调用用相应的的swiimlaane或或asssignnmennt将当当前的ttaskk分配(委派)给某个个参与者者,外部部参与者者可以是是一个人人也可以以是某个个系统等等。名称类型数量描述exprresssionn属性可选的由于历史史原因,这个属属性的表表达式不不是 HYPERLINK l _表达达式 jPDDL表达达式,而而是对jjBPMM身份组组件的一一个分配配表达式式。actoor-iid属性可选的一个acctorrId,可以与与
43、poooledd-acctorrs协同同使用。acttor-id被被作为 HYPERLINK l _表表达式 一个个表达式式,因此此你可以以引用一一个固定定的acctorrId,如acctorr-idd=”bbobtthebbuiller”;或者者你可以以引用一一个可以以返回一一个字符符串的属属性或方方法,如如acttor-id=”myyVarr.acctorrId”,这将将调用任任务实例例变量“myVVar”上的geetAcctorrId方方法。Poolled-acttorss属性可选的一个逗号号分割的的acttorIId列表表,可以以与acctorr-idd协同使使用。一一个固定定的参与与
44、者池可可以指定定如下:poooledd-acctorrs=”chiicaggobuullss,poointterssistterss”。 poooleed-aactoors被被作为 HYPERLINK or/fckeditor.html?InstanceName=ctl00_ContentPlaceHolder1_EntryEditor1_FCKEditor&Toolbar=Default l _表表达式 一个个表达式式,因此此你可以以引用一一个返回回Strringg、Colllecctioon、或或一个逗逗号分割割的池中中的参与与者列表表的属性性或方法法。classs属性可选的一个实现现or
45、gg.jbbpm.tasskmggmt.deff.AsssiggnmeentHHanddlerr接口的的类的全全名称。conffig-typpe属性可选的 HYPERLINK l _配置类类型fiieldd ffielld| HYPERLINK ame=ctl00_ContentPlaceHolder1_EntryEditor1_FCKEditor&Toolbar=Default l _配置类类型beean beean| HYPERLINK l _配置类类型coonsttrucctorr cconsstruuctoor| HYPERLINK l _配置类类型coonfiigurratiion-
46、prooperrty coonfiigurratiion-prooperrty。指定定分配处处理器对对象(aassiignmmentt-haandller-objjectt)对象象将被怎怎样创建建以及本本元素的的内容怎怎样象配配置信息息那样被被分配处处理器对对象所使使用。内容可选的assiignmmentt元素的的内容可可以被作作为分配配处理器器(AsssiggnmeentHHanddlerr)实现现的配置置信息,这是考考虑到可可重用的的委托类类的创建建。conttrolllerr(控制制器)在任务执执行时,可能需需要读、写流程程变量;在任务务完成并并提交时时,可能能需要写写流程变变量。为为此
47、,jjBPMM提供了了任务变变量的概念念。在某某些情况况下,任任务变量量和流程程变量并并非简单单的一一一对应关关系,例例如,三三个流程程变量代代表三个个月的销销售额,任务变变量只需需要它们们的平均均值。为为实现任任务与流流程实例例之间的的信息交交流,jjBPMM设置了任任务控制制器机制制。该机机制也采采用递进进模式:首先,jBPPM提供供基本(默认)的任务务控制器器;如果果不敷使使用,二二次开发发人员可可以使用用自定义义的任务务控制器器。 jjBPMM的任务务控制器器机制在在流程变变量和任任务变量量之间架架起了一一座桥梁梁。名称类型数量描述classs属性可选的一个实现现orgg.jbbpm.
48、tasskmggmt.deff.TaaskCConttrolllerrHanndleer接口口的类的的全名称称。Conffig-typpe属性可选的 HYPERLINK l _配置类类型fiieldd ffielld| HYPERLINK ContentPlaceHolder1_EntryEditor1_FCKEditor&Toolbar=Default l _配置类类型beean beean| HYPERLINK l _配置类类型coonsttrucctorr cconsstruuctoor| HYPERLINK l _配置类类型coonfiigurratiion-prooperrty co
49、onfiigurratiion-prooperrty。指定定分配处处理器对对象(aassiignmmentt-haandller-objjectt)对象象将被怎怎样创建建以及本本元素的的内容怎怎样象配配置信息息那样被被分配处处理器对对象所使使用。内容conttrolllerr元素的的内容要要么是指指定的任任务控制制处理器器的配置置信息(如果指指定了cclasss属性性),要要么必须须是一个个varriabble元元素列表表(如果果没有指指定任务务控制器器)。variiablle元素0.*如果没有有通过cclasss属性性指定任任务控制制处理器器,则cconttrolllerr元素的的内容必必须
50、是变变量列表表。proccesss-sttatee 子流流程proccesss-sttatee是JBPPM提供供的用来来处理子子流程的的节点,一个pproccesss-sttatee只能对对应一个个子流程程,究竟竟指到哪哪个子流流程可以以在prroceess-staate的的acttionn里指定定,当ttokeen执行行到指定定的子流流程时,子流程程就已经经启动,不用像像启动主主流程一一样手工工启动子子流程。其它部部分的处处理就和和普通的的流程没没有区别别了。名称类型数量描述namee属性必需的名称。Sub-proocesss元素只能定义义一个子流程variiablle变量0*Variiab
51、lle是用用来指定定如何把把数据从从父流程程coppy到子子流程sub-proocesss 子子流程名称类型数量描述namme属性必需的子流程程的名称称verssionn属性可选子流程的的版本。如果没没有指定定该属性性,默认认将会采采且该子子流程的的最后一一个版本本condditiion 条件名称类型数量描述内容或属性性表达式必需的conndittionn元素的的内容是是一个计计算结果果为布尔尔值的jjPDLL表达式式。决策策采用第第一个表表达式处处理结果果为trrue的的转换(按在pproccesssdeffiniitioon.xxml中中的顺序序),如如果没有有条件处处理结果果为trrue
52、,则采用用默认离离开转换换(也就就是第一一个)。exceeptiion-hanndleer 异异常处理理Jbpmm的异常常处理机机制仅仅仅集中于于javva异常常,流程程定义本本身的执执行不会会导致什什么异常常,只有有在执行行委托类类时才会会导致异异常。在在流程定定义(pproccesss-deefinnitiionss)添加加的exxcepptioon-hhanddlerr对整个个流程起起作用、节点(noddes)上添加加异常只只对当前前的节点点起作用用(同时时如果在在proocesss-ddefiinittionns里也也设置了了exccepttionn-haandller那那么将不不会再
53、执执行prroceess-deffiniitioons里里的exxcepptioon-hhanddlerr),和和转换(traansiitioons)添加eexceeptiion-hanndleer只对对当前的的traansiitioons起起作用(同时如如果在pproccesss-deefinnitiionss里也设设置了eexceeptiion-hanndleer那么么将不会会再执行行proocesss-ddefiinittionns里的的exccepttionn-haandller),可以以指定一一个异常常处理(exccepttionn-haandllerss)清单单,每个个异常处处理(
54、eexceeptiion-hanndleer)有有一个动动作列表表,当在在委托类类中发生生异常时时,会在在流程元元素的父父层次搜搜索一个个适当的的异常处处理(eexceeptiion-hanndleer),当它被被搜索到到,则异异常处理理(exxcepptioon-hhanddlerr)的动动作将被被执行。注意,Jbppm的异异常处理理机制与与javva异常常处理不不完全相相似。在在javva中,一个捕捕获的异异常可以以影响控控制流,而在JJbpmm中,流流程不会会被Jbbpm异异常处理理机制所所改变。异常要要么被捕捕获,要要么不捕捕获,没没有被捕捕获的异异常被抛抛向客户户端(例例如客户户端调
55、用用tokken.siggnall()),而被被捕获的的异常则则是通过过Jbppm的exccepttionn-haandller,对于被被捕获的的异常,图执行行仍会继继续,就就像没有有异常发发生一样样。在处处理异常常的动作作中,可可以使用用Tokken.settNodde(NNodee noode)把令牌牌放入图图中的任任何节点点。名称类型数量描述exceeptiion-claass属性可选的指定与本本异常处处理器所所匹配的的javva tthroowabble类类,如果果这个没没有指定定这个属属性,则则它匹配配所有异异常(jjavaa.laang.Thrrowaablee)。actiion元
56、素1.*当异常被被异常处处理器捕捕获时将将要执行行的动作作列表。二 HYPERLINK XPPDL之之流程定定义元模模型XPDLL元模型型定义了了流程定定义里所所包含的的实体、它们的的关系以以及属性性,其中中属性不不仅仅为为了执行行需要,很多属属性是为为了统计计与监控控的需要要。2.1 包(PPackkagee)流程模型型包含许许多作用用域大于于流程定定义的实实体,例例如参与与者声明明、应用用程序声声明和相相关数据据元素,它们可可能被多多个流程程定义所所引用。为了避避免每个个流程定定义都重重复定义义这些实实体,XXPDLL引入包包的概念念,包作作为流程程定义的的容器,对流程程定义按按照关联联性
57、进行行分组。在包上上定义的的实体被被其包含含的流程程定义继继承,同同时,包包能够为为所属流流程定义义声明一一系列的的通用属属性,例例如作者者、版本本号、状状态等。XPDLL里的包包等价于于BPMMN里的的业务流流程图(Bussineess Proocesss DDiaggramm)。2.2 泳道(Swiimlaaness)泳道被用用来对流流程定义义和活动动进行布布局。我我们使用用泳道在在流程级级别上定定义参与与者信息息(部门门、公司司),在在活动级级别上定定义执行行者信息息(角色色、人员员)。我我们使用用一系列列非重叠叠的长方方形来描描述泳道道,这些些长方形形称为池池(Poool),同时时,池
58、又又被细分分为一系系列的子子泳道(Lanne)。如下图图2-66所示:图 2-6泳道道同样的在在下图中中描述了了一个包包含贷款款应用流流程的池池。池中中没有道道。流程程可以是是可重用用的子流流程或内内嵌的子子流程。要注意迁迁移(顺顺序流)可以穿穿越同一一个池中中的道。迁移可可能不会会穿越池池。2.3 流程定定义(PProccesss Deefinnitiion)流程定义义是对流流程的建建模和描描述,为为流程中中的其他他实体提提供上下下文信息息。其属属性包括括创建时时间、作作者、初初始化参参数、执执行优先先级、时时间约束束、仿真真信息等等。Xpdll2.11文档包包含对流流程集(包)的的流程定定
59、义。XXml文文档不仅仅被模型型工具、模拟工工具和执执行工具具使用,它同样样为baam报表表工具提提供了基基本信息息,特别别是为OOLAPP立体报报表技术术提供了了维度和和变量信信息。在这里我我们描述述了使用用管理工工具发送送xpddl流程程定义到到分析工工具并传传达能捕捕捉执行行的详细细情况的的日志事事件流的的企业流流程管理理系统。分析工工具根据据流程定定义、参参与者和和队列信信息来构构造数据据库和OOLAPP立方。分析工工具处理理事件来来更新数数据库中中实际和和维度上上的表,并且利利用exxcell和(或或)其他他拥有的的流程以以及企业业智能工工具立体体处理事事件来完完成对切切片和切切块查看看数据的的交互的的准备。一个可供供选择的的数据展展示的方方法显示示了流程程定义的的视觉环环境中选选择的数数据。这这个可以以由历史史展示或或动画执执行系统统或模拟拟运行来来实现。2.4活活动(AActiivitty)活动是流流程中的的一个步步骤,一一个基本本活动具具有属性性。这些些属性提提供了在在这一步步骤中谁谁可以执执行这个个活动、什么应应用或WWeb服服务会被被调用、正在工工作的对对象的哪哪些内容容被使用用了以及及(或)被改变变了等信信息。参参与者(资源)和应用用可能会会定义在在一个流流程中,或者被被定义在在企业流流程模型型的整个个流程集集中。工工作对象象的内容容同样可可以定义义在一个
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《A day in the park》作业设计方案
- 个人消防责任书
- 协议合同和加盟合同范本
- 医疗器材加工合同范本
- 中药炮制工中级习题库+参考答案
- 生物制药复习题+答案
- 农艺工中级模考试题(含答案)
- 接触网中级工测试题
- 七律长征 教案教学设计
- 危废佣金合同范本
- 部编人教版四年级下册道德与法治 第6课 有多少浪费本可避免 教学课件PPT
- 精神卫生医联体服务平台
- 2023年北京春季流感中医药防治方案(试行)、春季流感治疗相关中成药推荐目录
- 重庆市渝北区大湾镇招录村综合服务专干模拟检测试卷【共500题含答案解析】
- GB/T 5915-1993仔猪、生长肥育猪配合饲料
- 压花艺术课件
- DB32T4220-2022消防设施物联网系统技术规范-(高清版)
- (新版)老年人健康管理理论考试题库(含答案)
- 感应加热操作规程
- 煤气设施安全检查表(修订)
- XX省血液调配管理办法
评论
0/150
提交评论