第5章的内容太多了,所以我分开写了
第 5 章 jPDL
jPDL文件描述的是流程的过程,这篇文章也可以作为jPDL的快速参考文档。
下面是一个jPDL流程文件的例子:
<?xml encoding="utf-8"?>
<process name="Purchase" xmlns="http://jbpm.org/4/jpdl">
<start>
<transition to="Verify supplier" />
</start>
<state name="Verify supplier">
<transition name="Supplier ok" to="Check supplier data" />
<transition name="Supplier not ok" to="Error" />
</state>
<exclusive name="Check supplier data">
<transition name="nok" to="Error" />
<transition name="ok" to="Completed">
</exclusive>
<end name="Completed" />
<end name="Error" />
</process>
5.1. process流程处理
顶级元素(element)是流程处理定义
表 5.1. process流程处理的属性
属性 类型 默认值 是否必须 描述
name名称 文本 必须 在与用户交互时,作为流程名字显示的一个名字或是标签。
key键 字母或数字字符 如果省略,key会被非字母和非数字的字符替换。 可选(optional) 用来辨别不同的流程定义。拥有同一个key的流程会有多个版本。对于所有已发布的流程版本,key:name这种组合都必须是完全一样的。
version版本 整型 比已部署的key相同的流程版本号高1,如果还没有与之相同的key的流程被部署,那么版本就从1开始。 可选 流程的版本号
表 5.2. process流程的元素
元素 个数 描述
description描述 0个或1个 描述文本
activities活动 至少1个 流程中会有很多活动,至少要有1个是启动的活动。
5.2. Activities活动
BPMN(Business Process Modeling Notation,业务流程建模符号):我们在这里不仅涉及了BPMN活动,而且还介绍了BPMN的事件(events)和网关(gateways)
5.2.1. start启动
简单的说是流程启动的流向(execution),准确地说是流程的一个启动活动(activity)。一个流程至少有一个启动(start)活动(activity),一个启动活动必须有一个向外的跳转(transition),这个跳转会在流程启动的时候被执行。
已知的限制:一个流程处理只能有一个启动节点(start)。
表 5.3. start启动的属性
属性 类型 默认值 是否必须 描述
name名称 文本 可选 活动的名字,在启动活动没有内部的跳转(transition)时,name名称是可选的。
表 5.4. start启动的元素
元素 个数 描述
transition跳转 1 向外的跳转
5.2.2. State状态节点
一个等待状态节点。流程处理的流向会在外部触发器调用提供的API之前一直等待。状态节点和其他的活动不一样,它没有其他任何属性或元素。
5.2.2.1. 序列状态节点
让我们看一个用序列连接状态和跳转的例子。
序列状态节点
图 5.1. 序列状态节点
<process name="StateSequence" xmlns="http://jbpm.org/4/jpdl">
<start>
<transition to="a" />
</start>
<state name="a">
<transition to="b" />
</state>
<state name="b">
<transition to="c" />
</state>
<state name="c" />
</process>
下列代码将启动一个流向:
Execution execution = executionService.startProcessInstanceByKey("StateSequence");
创建的流程处理实例会停留在状态节点a的位置,使用signalExecution的方法就会触发一个外部触发器。
String executionId = exectuion.getId();
execution = executionService.signalExectuionById(executionId);
5.2.2.2. 可选择的状态节点
在第2个状态节点的例子里,我们将演示如何使用状态节点实现路径的选择。
状态节点中的选择
图 5.2. 状态节点中的选择
<process name="State" xmlns="http://jbpm.org/4/jpdl">
<start>
<transition to="wait for response" />
</start>
<state name="wait for response">
<transition name="accept" to="submit document" />
<transition name="reject" to="try again" />
</state>
<sate name="submit document" />
<state name="try again" />
让我们在这个流程处理定义里启动一个新的流程实例。
Execution execution = executionService.startProcessInstanceByKey("StateSequence");
现在,流向到达wait for response状态节点了。流向会一直等待到外部触发器的出现。这里的状态节点拥有多个向外的跳转,外部触发器将为向外的跳转提供不同的信号名(signalName),下面我们将提供accept信号名(signalName):
executionService.signalExecutionById(executionId,"accept");
流向会沿着名字是accept的向外的跳转继续进行。同样,当使用reject作为参数触发signalExecutionXxx方法时。流向会沿着名字是reject的向外的跳转继续进行。
分享到:
相关推荐
《jBPM4.0用户指南》:深入解析工作流引擎的核心功能与应用 一、jBPM4.0概述 jBPM4.0是一款先进的业务流程管理(Business Process Management,简称BPM)框架,它基于Java语言,提供了一套完整的解决方案,用于...
这份"jbpm4.0用户指南(中文版)"为国内用户提供了一份详尽的使用手册,帮助理解并操作这个流程管理系统。 jbPM是一个开源的BPM解决方案,它提供了业务流程的建模、部署、执行和监控等功能。jbPM4.0版本在当时具有...
**JBPM4.0用户指南**是一份详细阐述如何使用JBPM(Java Business Process Management)4.0版本的文档,旨在帮助用户理解并有效利用这一流程管理工具。JBPM是一款开源的工作流管理系统,用于设计、执行和管理业务流程...
本手册作为开发者指南,将深入探讨jbpm4.0的核心功能和使用方法,帮助开发者理解和实现流程自动化。 一、jbpm简介 jbpm是一款开源的BPM平台,它支持工作流定义模型(BPMN 2.0)、规则引擎(Drools)和事件处理等...
这个中文手册-用户指南旨在帮助中国用户更好地理解和使用jbpm4.0系统,尤其适合那些希望在不熟悉英文文档的情况下进行学习的开发者和管理员。 首先,我们要了解jbpm的核心概念。jbpm是一个开源的工作流引擎,它支持...
### JBPM4.0 用户指南知识点详解 #### 一、JBPM概述 JBPM(Jakarta Business Process Model)是一款开源的业务流程管理(Business Process Management, BPM)引擎,由JBoss提供支持。它是一个可扩展且高度灵活的...
是我花了好久才找到的资源,开源工作流产品JBPM的开发指南,是本人在学习JPBM过程中所使用的资料,希望能给各位开发者在使用JBPM过程中带来帮助. 想要了解jbpm的不可多得的资料,也是我很多同事都看过的。从配置开发...
**jBPM-4.0中文开发指南** jBPM(Java Business Process Management)是一款开源的工作流管理系统,专为业务流程自动化和管理设计。jBPM 4.0是其一个重要版本,它提供了丰富的功能,包括流程建模、执行、监控和集成...
这个文件是可以打开的,下载后,把文件名中类似这样的:“%E7%94%A8%” 去掉,打开的时候,把“是否每次打开都询问”的勾取消掉。然后文件类容就出来了。
1. **流程定义**:jbPM 4.0使用BPMN(Business Process Modeling Notation)2.0标准进行流程定义,这是一种图形化语言,让开发者可以清晰地描绘出业务流程的各个环节和流转路径。 2. **流程实例管理**:jbPM支持...
这个文件是可以打开的,收集了网上有关jBPM4、jBPM3的资料,是比较完整的
"doc"目录可能包含JBPM4.0的官方文档或开发者指南。这些文档对于理解JBPM的工作原理、API使用和最佳实践至关重要。它们可以帮助开发者快速上手,避免在实际项目中遇到不必要的困扰。 总结来说,JBPM4.0通过PVM和...
总的来说,这份"jbPM 4.0中文文档.pdf"为学习和使用jbPM 提供了全面的指南,无论你是初学者还是有经验的开发者,都能从中受益。通过深入阅读,你可以了解到jbPM 如何帮助你构建灵活、可扩展的业务流程管理系统,提升...
**jbPM 4.0 开发指南** jbPM(Java Business Process Management)是一个开源的工作流管理系统,用于在Java环境中执行业务流程。jbPM 4.0是该框架的一个重要版本,它提供了强大的流程建模、执行和监控能力,旨在...
**jBPM4用户指南入门教程** jBPM4是一个基于Java的企业级工作流管理系统,它为业务流程管理(BPM)提供了全面的解决方案。本教程将引导您逐步了解如何安装配置、使用流程设计器、部署业务归档以及利用服务和jpdl...