说说 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字符串必需活动的名称

通用的活动元素:

元素个数描述
transition0…*定义活动的流出转移

以后我们会介绍 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 元素有这些子元素:

元素个数描述
description0…1流程的描述
activities1…*活动元素组。流程定义中会有很多种不同类型的活动,例如start、state、decision 等,但至少要有 1 个是 start 类型的活动。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值