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

1 概述

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

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




   
      
   
   
      
   
   
   
      
   

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

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

通用的活动属性:

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

通用的活动元素:

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

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

2 process(流程)

在 jPDL 中 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 类型的活动。

你可能感兴趣的:(说说 jBPM 流程定义语言(1)—— process)