流程定义实体节点说明—jbpm3.x.doc_第1页
流程定义实体节点说明—jbpm3.x.doc_第2页
流程定义实体节点说明—jbpm3.x.doc_第3页
流程定义实体节点说明—jbpm3.x.doc_第4页
流程定义实体节点说明—jbpm3.x.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、先看一例子: 流程定义实体( Process Definition )编号 PD-001对象 流程定义实体( Process Definition ) 描述流程定义实体是对一个流程抽象的对象化定义,如图 -002。一套系统中,用户可以定义 保存多个流程定义实体,如:报销流程定义、请假流程定义、人事录用流程定义等。每个流 程定义还可以有多个不同的版本,如:针对同样的报销流程可以有修订前和修订后的两个流程定义,同时存储于 jPDL 数库中。用户可以通过流程名称和版本号获取相应的流程定义。 在默认请况下,系统启用最新的流程定义。Java 对象 org.jbpm.graph.def.ProcessDe

2、finition数据库表 JBPM_PROCESSDEFINITION 该表存储流程定义的通用信息,如:流程名称、版 本号表关联说明 JBPM_PROCESSDEFINITION 表中,每条记录有自己的数据库流水号ID_JBPM_PROCESSDEFINITION 的外键( Foreign Keys ):startstate_ 同 JBPM_NODE (流程结点)表关联。此外键指向流程定义中的起始结点 ID流程结点( Node )编号 PD-002对象 流程结点( Node)描述流程结点是对流程中的过程环节 /行为的抽象对象化定义,如图 -002 中的每个方框即代 表一个结点。结点有两个主要职

3、责:一,实现某个指定行为,这在 jBPM 中就是执行一段制 定的 Java 代码;二,转递、维持流程的延续,直至达到最终结点。在 jPDL 的结点设计中, 系统开放了充分的用户行为模型,程序员可以基于这些行为接口,实现自定义的业务功能。在 jPDL 中,系统预定义了一系列的 Node 类型,同时也允许程序员开发定义自己的 Node 类型。Java 对象 org.jbpm.graph.def.Node 数据库表 JBPM_NODE 该表存储结点的定义信息。表关联说明 JBPM_NODE 表中,每条记录有自己的数据库流水号ID_JBPM_NODE 的外键( Foreign Keys ): proc

4、essdefinition_ - 此外键说明该 Node 从属的流程定义对象 ID subprocessdefinition_- 此外键指定了一个由该 Node 发起的子流程。在主流程离开当前结点 之前,该子流程必须完成执行过程。 action_ - 此外键指定该结点动作类的 ID superstate_ - 该外键是一个自关联键, 指向结点的上级父结点 ID 。一个子流程中的多个结点 从属于同一个父流程结点。decisiondelegation_ -该外键指定了结点委派的判定类ID (所谓委派判定类是指根据用户的业务逻辑,判定流程的下一个流向的Java Class)流程转向( Transit

5、ions )编号 PD-003对象 流程转向( Transitions)描述流程转向是描述流程中从一个结点到另一个结点的状态转换过程, 因此一个转向一定有 一个源结点和一个目标结点。 在 jPDL 中 transition 的命名是通产是唯一的, 结点依靠 transition 的命名来区别到下一结点的路径, 当一个 Node 中存在有多个同名的 transition 的时候, 第一 个 transition 将会被选中。结点转向的过程中,排在 transition 列表第一位置的即是默认的 transition 。Java 对象 org.jbpm.graph.def.Transition数据

6、库表 JBPM_TRANSITION 该表存储流程定义中的转向对象。表关联说明 JBPM_TRANSITION 表中,每条记录有自己的数据库流水号 ID_JBPM_TRANSITION 的外键( Foreign Keys ): processdefinition_ - 该外键指向 transition 所属的流程定义对象 ID from_ - 该外键指向 transition 的源结点 IDto_ - 该外键指向 transition 的目标结点 ID动作( Actions )编号 PD-004对象 动作( Actions )描述 Actions 是指一系列的在流程事件中运行的 Java 代码

7、。流程图是软件需求的传达的重 要手段,但它只是软件需求的一个投影,隐藏了很多技术实现的细节。 Actions 则是向流程 图添加技术实现细节的一种机制, 它可以很好的补充和修饰流程图。 这意味着在不改变流程 图结构的情况下,可以将 Java的代码与之关联。Actio ns通过事件(Events)同流程绑定, 常用的主要事件包括:进入结点、离开结点、进行转向。请注意,同Events 关联的 Actions和处于Node中的Actio ns是有不同的。处于Events中的Actio ns是通过事件触发执行的,它是典型的观察者模式, 是无法影响流程控制的流向。 而处于 Node 中的 Action

8、则要承担起 流程传递的责任。 此外, Actions 是可以命名的。 可以通过 Actions 的命名在任何地方引用该 Actions 。命名的 Actions 可以作为主流程定义的公用子元素。这个功能可以提高对 Actions 定义的复用。Java 对象 org.jbpm.graph.def.Action数据库表 JBPM_ACTION 该表存储流程定义中的动作对象。表关联说明 JBPM_ACTION 表中,每条记录有自己的数据库流水号 ID_JBPM_ACTION 的外键( Foreign Keys) :processdefinition_ - 指明 action 所属的流程定义 IDev

9、ent_ - 指明 action 绑定的 event IDactiondelegation_ - 指明 action 的委派对象 ID exceptionhandler_ - 指定 action 的异常处理 ID referencedaction_ - 指向当前 action 引用的 action 的 IDtimeraction_ - 指向当前 action 引用的计时器 action事件( Events)编号 PD-005 对象 事件( Events) 描述事件表示流程执行中的某个特定的时刻。 在流程执行的过程中, 通过 jBPM 的引擎触发 事件,这通常发生在 jbpm 计算后续状态的时候

10、。事件总是和流程中的元素绑定,这些元素 包括:流程定义 (process defi niti on )、流程结点 (no de)、流程转向 (tran siti on )禾口任务(task)。 不同的元素会触发不同的事件,拿node元素来说,有 node-enter事件和node-leave事件。事件是action的钩子,一个事件可以回调一系列的action。当jBPM引擎触发事件的时候,事件中绑定的 action 就会被执行。在 jBPM 中,事件模型是可传播的。一个子元素触发的事 件,将逐层向上传播到顶层的流程定义元素。这样的设计使得事件可以被集中化处理。Java 对象 org.jbpm.

11、graph.def. Event数据库表 JBPM_EVENT 该表存储流程定义中的事件对象, 这些事件与相关的 action 绑定。 表关联说明 JBPM_EVENT 表中,每条记录有自己的数据库流水号 ID_JBPM_EVENT 的外键( Foreign Keys):processdefi niti on_ - 指向 eve nt所属的流程定义 IDnode_ - 指向 event 所属的 node IDtransition_ - 指向 event 所属的 transition IDtask_ - 指向 event 所属的任务 ID任务( Task)编号 PD-006对象 任务( Task

12、)描述任务作为流程定义中的一部分,定义了如何创建任务实例( Task instances)以及任务 分配。任务可以在任务结点( Task-Node )和流程定义( process-definition )两个地方定义。通常会在一个任务结点中定义一个或多个的任务。 在这种情况下, 任务结点表示在流程中等 待用户处理的交互操作。 业务流程会停留在任务处, 等待用户完成相应的操作之后继续。 任 务也可在流程定义中声明。通过任务名, 可以找到相应的任务定义,并引用他们。 实际上任 何有命名的任务都可以通过名字被引用。 在整个的流程定义中, 任务名必须是唯一的。 此外, 还可以给任务设定优先级, 这些优

13、先级属性将成为任务实例化时的默认设置。 任务实例可以 在之后的运行中改变优先级。 .Java 对象 org.jbpm.taskmgmt.def.Task 数据库表 JBPM_TASK 该表存储流程定义中声明的任务对象。 表关联说明 JBPM_TASK 表中,每条记录有自己的数据库流水号 ID_JBPM_TASK 的外键( Foreign Keys ): processdefinition_ -指向 task 所属的流程定义 ID taskmgmtdefinition_ - 指向 task 引用的 TaskMgmtDefintion 对象 ID tasknode_ - 指向 task 所属的任务

14、结点 ID startstate_ -指向 task 所属流程的起始结点 ID assignmentdelegation_ - 指定 task 委派处理的 class 对象的 ID swimlane_ - 指定 task 要授权的 swimlane (角色) ID taskcontroller_ - 指定一个 task 赋值的委托类具体化的流程实例模型流程实例中最重要的三个对象:流程实例(Process In sta nee)、令牌(Token)、任务实例(Task Instance) .流程实例( Process Instance)编号 PI-001对象 流程实例( Process Inst

15、ance)描述 流程实例是流程定义的运行时状态,它记录了一个流程运行的起始时间、结束时间等状态信息Java 对象 org.jbpm.graph.exe.ProcessInstance 数据库表 JBPM_PROCESSINSTANCE 该表存储运行时的流程对象信息。 表关联说明 JBPM_PROCESSINSTANCE 表中,每条记录有自己的数据库流水号 ID_JBPM_PROCESSINSTANCE 的外键( Foreign Keys ): processdefinition_ - 该流程实例对应的流程定义的 ID roottoken_ - 该流程实例引用的跟令牌 superprocesst

16、oken_ - 如果当前流程是某个流程实例的子流程,则指向该父流程的 ID令牌( Token )编号 PI-002对象 令牌( Token )描述 令牌代表一个流程执行的路径,它维护着流程定义中各个结点的指针,同时记录了流 程当前执行的位置。Java 对象 org.jbpm.graph.exe.Token数据库表 JBPM_TOKEN 该表存储运行时令牌对象信息,它表示当前流程执行到的位置。 表关联说明 JBPM_TOKEN 表中,每条记录有自己的数据库流水号ID_ JBPM_TOKEN 的外键( Foreign Keys ):processinstance_ - 指向该令牌所属的流程实例的

17、ID 。 subprocessinstance_ - 指向该令牌所属的子流程实例 ID 。 node_ - 令牌所在(所指向的)的当前节点 ID.parent_ - 如果当前令牌是一个分支流程或子流程的令牌,则该值指向其父令牌ID。任务实例( Task Instance)编号 PI-003对象 任务实例( Task Instance)描述一个任务实例对象可以分配给指定的操作者处理, 当任务完成后, 将触发流程继续下行。 任务实例的生命周期很简单,生成实例-开始处理 -任务结束。从弹性设计考虑出发,任务的分配不属于实例生命周期的一部分, 任务是否被分配是不会影响其生命周期过程的。 当 流程进入一个任务结点的时候, 结点上任务被实例化; 用户通过访问系统的界面组件, 获取 自己的任务列表, 可以进行任务委派、 处理或直接结束任务。 任务实例记录着任务创建的时 间、结束时间,这些信息可以通过 TaskInstance 对象中的 getter 方法获取。一个任务实例的 结束时间标识它的完成, 在后绪的任务查询中, 该实例不会被取出, 但实例的记录仍保留于 数据库中。Java 对

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论