一个流程定义

{
  listener: Listener.toString(),
  process: {
    nodes: [
      {
        id: 'startEvent_1',
        name: 'Start',
        type: 'startEventNone',
        options: {...},
      },
      {
        id: 'endEvent_1',
        name: 'End',
        type: 'endEventNone',
        options: {...},
      },
    ],
    edges: [
      {
        id: 'edge_1',
        source: 'startEvent_1',
        target: 'endEvent_1',
        // type: 'sequence',
        options: {...},
      },
    ],
  },
};

1. listener/process

一个流程定义包含两个基本部分

  • listener:监听器。可以通过响应不同的流程事件,编写JS脚本来定义流程运行的行为。需要特别说明的是,JS脚本安全沙箱中运行,具体很好的安全性和可控性

  • process: 这是流程定义的主体部分

2. nodes/edges

process包含两个基本部分

  • nodes:活动节点数组
  • edges:转移线数组

3. node

名称 说明
id 活动节点Id
name 活动节点名称
type 活动节点类型。每一个活动节点类型都对应一个Bean提供者组件
options 活动节点配置。由活动节点类型约定各自的配置内容和格式

4. edge

名称 说明
id 转移线Id
source 源节点Id
target 目标节点Id
type 转移线类型,默认为sequence。每一个转移线类型都对应一个Bean提供者组件
options 转移线配置。由转移线类型约定各自的配置内容和格式