说说 jBPM 流程定义语言(1)—— process

1 概述

jPDL(jBPM Process Define Language,jBPM 流程定义语言)是 jBPM4 独有的、最重要的资产。它的设计目标是尽量精简和尽可能地对开发者友好,即可以很简洁地描述业务流程的定义和图形结构,最终使得业务分析人员和流程开发者能够使用 “同一种语言说话”,极大地减少了他们之间的交流障碍。而且 jPDL 还具有明晰的语义和良好的可扩展性。

一个典型的 jPDL 流程定义文件是这样的:

<?xml version="1.0" encoding="UTF-8"?>

<process name="process" xmlns="http://jbpm.org/4.4/jpdl">
   <start g="502,41,48,48" name="start1">
      <transition g="-56,-22" name="to state1" to="state1"/>
   </start>
   <state g="482,113,92,52" name="state1">
      <transition g="-52,-22" name="to task1" to="task1"/>
   </state>
   <end g="504,313,48,48" name="end1"/>
   <task assignee="Alex" g="481,211,92,52" name="task1">
      <transition g="-50,-22" name="to end1" to="end1"/>
   </task>
</process>

注意: g 属性表示的是元素的坐标,它不是必需的,即便不定义坐标,仍然能够被工作流引擎解析与执行。

几乎所有的活动都会包含以下属性和元素。

通用的活动属性:

属性 类型 默认值 是否必需 描述
name 字符串 必需 活动的名称

通用的活动元素:

元素 个数 描述
transition 0..* 定义活动的流出转移

以后我们会介绍 jPDL 中的各个活动,为了方便识别,我们对活动、属性及元素等名称使用英文原名来描述。

2 process(流程)

在 jPDL 中 process 元素是是每个流程定义文件的顶级元素,即任何流程定义都必须以如下的形式开始和结束:

<process>
...
</process>

process 元素有这些属性:

属性 类型 默认值 是否必需 描述
name 文本 必需 在对最终用户展示和交互时,作为流程显示的标签
key 字母、数字与下划线的组合 如果省略,key 会根据 name 自动生成,name 中的非字母以及非数字的字符会被替换为下划线 可选 用来标识不同的流程定义。拥有同一个 key 的流程定义允许有不同的 version。对于所有已发布的统一流程定义文件的各个版本来说,“key:name” 的组合必须是完全一样的。
version 整型 同一个流程定义(即 “key:name” 相同),后部署的会比先部署流程定义的 version 加 1;如果是第一次部署,version 从 1 开始。 可选 标识同一流程定义的不同版本。

process 元素有这些子元素:

元素 个数 描述
description 0..1 流程的描述
activities 1..* 活动元素组。流程定义中会有很多种不同类型的活动,例如start、state、decision 等,但至少要有 1 个是 start 类型的活动。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,482评论 25 708
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,986评论 19 139
  • 不知为何,最近脑海里总是浮现出一些儿时的画面,或许是潜意识觉得这个日益凉薄的世界让我无力反抗,转向追忆幼时的美好吧...
    月色不朽阅读 305评论 2 1
  • ------那么,然后现在的我,开始先斩后奏! 。。。 写给某年某月已经工作的自己: 现在的我, 离职状态。 持续...
    楼非阅读 207评论 0 1
  • 事实上 很多产后的问题都是孕期和产程造成的 比如:产后痔疮 首先,我们来普及一下女性骨盆的内部结构 子宫,在没有怀...
    劍身有道阅读 1,848评论 3 7