jBPM术语.docx

上传人:b****2 文档编号:1729243 上传时间:2023-05-01 格式:DOCX 页数:9 大小:20.12KB
下载 相关 举报
jBPM术语.docx_第1页
第1页 / 共9页
jBPM术语.docx_第2页
第2页 / 共9页
jBPM术语.docx_第3页
第3页 / 共9页
jBPM术语.docx_第4页
第4页 / 共9页
jBPM术语.docx_第5页
第5页 / 共9页
jBPM术语.docx_第6页
第6页 / 共9页
jBPM术语.docx_第7页
第7页 / 共9页
jBPM术语.docx_第8页
第8页 / 共9页
jBPM术语.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

jBPM术语.docx

《jBPM术语.docx》由会员分享,可在线阅读,更多相关《jBPM术语.docx(9页珍藏版)》请在冰点文库上搜索。

jBPM术语.docx

jBPM术语

jBPM术语

jBPM术语

 

JBossJBPM是一个可扩展得工作流管理系统,有直观得流程语言来表示商业流程图得术语比如任务、异步通讯得等待状态、定时器、自动操作等,把这些操作绑在一起,jBPM就有了最强大和易扩展得控制流机制。

第一次接触工作流系统,可能会对一些基本的术语和名词有误解。

如流程实例,流程模版,流程版本等,以及这些名词之间的关系,需要有一个学习和理解的过程。

这些名词和术语也是工作流系统中的通用名词,通过学习和理解后,会对这些术语和名词有一个共同的认识和理解。

 

流程定义(processdefinition)

一个业务过程或过程得规格化描述。

 

流程实例

流程定义的一个运行实体。

 

动作(action)

动作是一段java代码,在流程执行有事件时执行.图在软件需求社区是重要的指示.但是图只是将要生产的软件的一个视图(投射).它隐藏了技术细节.动作是在图形化表示之外加入技术细节的机制.当一个图被放置,它可以用动作来装饰.这就是说java代码可以在不修改图结构的情况下和图关联起来.主要的事件类型是进入节点enteringanode,离开节点leavinganode 和执行转换takingatransition.

 

一个action是一段java代码。

在流程执行期间在一些事件之上定义,这样会在相关事件触发时自动在工作流引擎上执行。

 

流程图

基本的流程定义组成是图和节点.在文件processdefinition.xml定义.每个节点有一个类型state,decision,fork,join,每个节点有一套离开转换.可以给离开节点的转换一个名字来区别.

 

节点

流程图由节点和转换组成.

每个接点有一个指定的类型.节点类型定义当执行到达这个节点的时候将发生什么.jBPM有一套你可以使用的预实现的节点类型.另外,你可以编写自己的定制代码实现你自己的指定的节点行为.

节点责任

每个节点有2个主要责任:

首先,它可以执行传统java代码.典型的传统java代码同节点功能相关.比如.建立一个新的任务实例,发送一个通知,更新数据库.其次,节点服务传播流程执行.

 

节点类型—任务节点(task-node)

任务型接点代表一个或多个可以被人执行的任务.当执行到达一个任务节点,任务实例将在工作流参与者任务清单中被建立.这之后,节点将作为一个等待节点.因此当用户执行他们的任务,任务完成将触发执行继续开始.换句话说,令牌将调用一个新的信号。

任务节点包含0到多个任务。

task-node被归类为一个等待节点,是指在task-node中的task列表中的task没有全部执行完之前,它会一直等待。

 

 

节点类型--状态(state)

状态是一个单纯(bare-bones)等待状态。

它与任务节点的不同是没有任务实例在任何任务清单中建立.这在流程等待外部系统的时候很有用。

比如.以上的节点入口(通过一个在node-enter事件的动作),一个消息将被送到外部系统。

State节点也叫手工节点,进入到这种节点,整个流程的执行就会中断。

直到系统外参与者发起继续执行的命令,即调用signal或end方法,业务程序实例的执行才能够继续下去。

 

节点类型--决策(decision)

实际上有两个方法模拟决策.明显的区别在于基于"谁"来做决策.或者有流程来做决策(读:

在流程定义中指明.或者用外部的实体提供决策结果.

当有流程来做一个决策的,就要使用一个决策节点了.有两个基本方式来指明决策的标准.最简单的方式是给转换增加一个条件元素.条件是返回结果是boolean的beanshell脚本表达.在运行时间决策代码会被离开转换反复调用(按照XML指定的顺序),来评估每个条件.第一个转换在条件是'true'的时候发生.可选的,用一个DecisionHandler的实现.在javaclass中决策被计算并且被选择的离开转换由DecisionHandler实现的决策方法(decide-method)返回.

 

 

 节点类型--分支(fork)

一个分支把一个执行路线分割成多个兵法的执行路线.默认分支的行为是为每个离开分支转换建立一个子令牌,在令牌要到达的分支之间建立一个父母-子女关系.

 

 

节点类型--联合(join)

默认联合(join)假设所有来自同一个父母的子令牌联合.当在上使用fork(分支)这个情形就出现了并且所有令牌分支建立,并且到达同一个联合(join).当全部令牌都进入联合的时候,联合就结束了.然后联合将检查父母-子女.当所有兄弟令牌到达联合(join),父母令牌将传播(唯一的)离开转换.当还有兄弟令牌活动时,联合的行为将作为等待状态.

 

节点类型--node

类型节点是你想写在节点中写你自己的代码.节点类型节点期望一个子元素动作.动作(action)在执行到达这个节点时候被执行.你在actionhandler所写的代码可以做任何事情除了它必须负责传播执行。

如果你想使用来实现一些对业务分析员来说非常重要的功能逻辑,可以使用节点..当使用节点时,节点在流程图形表示里是可见的.为了对照,动作(actions)--允许你加入在图形化流程里看不到的对业务分析员不重要的代码.

在Node状态中,不需要外部参与者的参与,业务流程的这个部分是自动的、即时完成的。

 

 

 

 

事件(event)

事件指明流程执行的时刻. jBPM引擎在图执行时会产生事件.这发生在当jbpm计算下一个状态.事件总是同一个流程定义中的元素相关,比如流程定义,节点或转换.绝大多数流程元素能产生不同类型的事件.举例的节点可产生node-enter(节点进入)事件和 和一个节点离开node-leave事件.事件是同动作挂钩的.每个时间有一个动作清单.当jBPM引擎产生一个事件,动作清单就会被执行.

 

任务

任务是流程定义的部分并且定义在流程执行事件任务实例怎样生成和分配。

任务可以在process-definition中用任务节点task-node定义.最常用的方式是用一个task-node定义一个或多个任务.这种情况下task-node代表一个由用户完成的任务并且流程执行将一直等待知道参与者完成这个任务.当参与者完成任务,流程执行将继续.当多个任务在task-node被指定,默认的行为是等待所有的任务被完成.

 

任务实例

任务实例可以被分配给一个actorId(java.lang.String).所有任务实例被保存在数据库中的一张表中(JBPM_TASKINSTANCE).可以通过给定的actorId查询这个表得到所有的任务实例,将会得到特定用户的任务清单.

 

任务实例生命周期

任务实例生命周期是直接了当的:

在建立后,任务实例可以随意的被开始.然后,任务实例可以被结束,意思是任务实例被标记为完成了.任务实例的建立典型的是由流程执行进入一个task-node(通过方法TaskMgmtInstance.createTaskInstance(...)).然后,一个用户接口组件将用TaskMgmtSession.findTaskInstancesByActorId(...)查询数据库得到任务清单tasklists.然后,在收集了用户的输入后,UI组件调用TaskInstance.assign(String),TaskInstance.start() 或TaskInstance.end(...).

 

分配

流程定义包含任务节点. task-node包含0或多个任务.任务是流程定义的静态描述部分.在运行时间,任务导致任务实例的建立.一个任务实例对应着个人任务列表里的一个入口.

在jBPM,推和拉模式的任务分派可以组合使用.流程能计算任务的责任并把它"推"到他/她的任务清单里(tasklist).或者另外的方法,把任务分配给参与者池,这种情况下池中的每一个参与者可以"拉"任务并且把它们放到参与者个人的任务清单中(tasklist).

 

泳道(swimlane)

泳道(swimlane)是流程角色.这是用来指明在一个流程中要完成多个任务中的同一个参与者的机制.在第一个任务实例为给定的swimlane建立后,参与者将被同一个流程里所有随后都处于同一个swimlane中的任务记住.swimlane因此有一个分派并且所有引用一个swimlane的任务将不会指定一个分配。

 

任务事件

任务有动作关联.有4个标准任务事件类型定义:

task-create,task-assign,task-start和task-end.

 

工作流引擎:

抽象的业务流程设计模型,负责业务流程的定义,解释和运转。

工作流模版:

用工作流引擎的基本概念和路由过程表示出一个业务办理过程,这个过程通常是用xml格式的文件来记录的,这个xml文件,就是工作流模版,也可以说是流程模版。

工作流名称:

就是工作流模版文件的名称。

也可以叫流程名称。

工作流版本:

工作流模版的版本,也可以叫流程版本。

在工作流系统中,对工作流模版有个版本管理,新建一个工作流模版时候,它的工作流模版是.1。

当再次做修改的时候,可以选择创建新的版本,如.2。

       因为一旦业务流程模版投入使用了,有了运行的流程实例了,再次对业务流程做的修改,就需要更新到新的版本中,原来的流程版本还需要存在,原来的流程定义信息,按版本仍然能查询到。

新的修改在新的版本中。

     流程名称+流程版本是唯一标识一个业务流程的。

工作流建模:

利用流程设计器将业务处理过程用工作流的节点方式表示出来,就是工作流建模,也可以说是流程建模。

工作流节点:

是工作流引擎的设计基本节点,一个节点表示一个业务处理过程,在流程设计器中,会有相应的表示方式。

流程实例:

按照工作流模版定义的处理过程启动运行的业务处理过程,即流程实例。

利用建立好的业务流程模版,可以多次启动流程实例,一个流程实例即一个业务处理过程。

如请假审批的流程,张三填写他的请假单,启动一个审批流程实例。

李四也填写一个自己的清单单,也是启动了一条流程实例。

流程实例id:

每条启动的流程实例,在工作流引擎中,都会对应一个流程实例id,来唯一标识这条流程实例。

轨迹id:

轨迹id通常是指流程节点的运行轨迹id,当一个节点在流程实例中被反复运行的时候(如循环路由,自由流),每次到达这个节点的时候,都会产生一个轨迹id,trace_id,唯一标识这次的运行轨迹。

业务数据:

流程中每个节点上处理的业务记录等。

通常流程数据和业务数据是有关联的。

流程设计器:

利用工作流引擎的设计基本节点和概念给业务流程建模的可视化编辑工具,就是流程设计器。

当前步骤:

流程实例未结束前,正运行到的当前节点,为当前步骤。

历史步骤:

流程实例运行完成的节点,都认为是历史步骤。

流程实例运行轨迹:

每条流程实例在工作流模版的节点上运行的轨迹。

流程实例监控:

监控每个流程实例在各个节点的运行情况。

任务:

每条流程实例在运行到流程的各个节点时,会产生一些待执行的任务信息。

有任务名称,描述,和参与人,完成人等任务的基本信息。

通过任务链接到待处理的业务过程。

任务参与人:

任务信息的参与人,能够查看到任务的相关人。

任务执行人:

可执行任务的操作人。

任务工单:

任务派发下来的工单。

串行路由:

业务建模中,节点按顺序一个一个的往后串联的方式。

并行路由:

业务建模中,节点并行的方式往后链接。

条件路由:

业务建模中,按设置的条件为真,链接一个路由方式,条件为false,往后链接一个路由方式。

在流程实例运行时,只会执行一条路由,即条件要么=true,要么=false.

分支:

业务建模中,平行分支的节点路由方式。

合并:

业务建模中,将平行分支的节点路由再合并起来的路由方式。

子流程:

为一个独立的业务流程,嵌入到主流程中。

循环路由:

在节点间或同一个节点上循环执行的路由方式。

自由流:

流程实例不按照流程模版中预定义好的节点顺序往下执行,而是可以自由的跳转。

回退流:

流程实例不按照流程模版中预定义好的节点顺序往下执行,而是回退到曾经运行过的任意节点上。

业务补偿类:

在流程发生自由跳转的时候,需要辅助执行一些业务处理过程来对业务数据进行修改。

这里只是列出一些常用的工作流系统中的术语,不体现流程引擎的设计基本概念。

特别是流程模版,流程实例,业务数据这之间的关联和区别:

流程模版,是将业务处理过程用工作流引擎的支持的方式表示出来的一个模版文件。

流程实例,按照工作流模版定义的处理过程启动并运行的业务处理过程,通常对应一条主业务数据。

一条流程实例在流程引擎中会有一个唯一的流程实例id,通常命名为wf_id,在业务数据的主业务表中,也需要建立一个wf_id字段,来和流程实例关联上。

例如请假审批的流程,请假单,就是业务主表。

报销单,报销单的主表,就是业务主表。

根据需要,可能在业务表中,还可能会增加轨迹id字段,来进一步控制业务数据与工作流数据的关联。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2