流程-活动节点

  1. 1. 活动包括子流程和任务
  2. 2. 通用属性
  3. 3. 活动与资源的关系
  4. 4. 任务的标示
  5. 5. 任务类图
  6. 6. 任务类型说明
    1. 6.1. 服务任务 Service Task
    2. 6.2. 发送消息任务 Send Task
    3. 6.3. 接收消息的任务 Receive Task
    4. 6.4. 业务规则节点 Business Rule Task
    5. 6.5. 脚本任务 Script Task
    6. 6.6. 人工任务 User Task
    7. 6.7. 操作任务 Manual Task
    8. 6.8. 子流程 Call SubProcess Activity
    9. 6.9. 可被调用的 活动 Call Activity
    10. 6.10. 可被引用的元素 CallableElements
    11. 6.11. 全局任务 Global Task

活动包括子流程和任务

活动类图

通用属性

  1. isForCompensation: boolean = false

    标识此活动是否用于补偿目的的标志。 如果为false,则此活动作为正常执行流的结果执行。如果为true,则此活动仅在检测到补偿事件并在补偿事件可见性作用域下启动时激活

  2. loopCharacteristics: LoopCharac- teristics [0..1]

    一个活动可以执行一次,也可以重复执行。如果是重复的,活动必段定义 loopCharacteristics(如果流程isExecutable属性被设置为true)。

  3. resources: ResourceRole [0..*]

    定义将执行或将负责活动的资源。资源,例如执行者,可以以特定的个人、团体、组织角色或职位或组织的形式指定。

  4. default: SequenceFlow [0..1]

    默认分支, 当其它条件不满足时 默认走该分支, 该分支不用配置条件。

  5. ioSpecification: Input OutputSpecification [0..1]

    定义了活动的输入和输出以及输入集和输出集。

  6. properties: Property [0..*]

    其它属性

  7. boundaryEventRefs: BoundaryEvent [0..*]

    绑定的边界事件

  8. dataInputAssociations: DataIn- putAssociation [0..*]

    可选引用。数据输入关联定义了如何填充活动的输入输出规范的数据输入。

  9. dataOutputAssociations: DataOutputAssociation [0..*]

    可选引用。对数据输出关联.

  10. startQuantity: integer = 1

    缺省值为1。不小于1。这个属性定义了在活动开始之前不能到达的令牌的数量。

  11. completionQuantity: integer = 1

    缺省值为1。不小于1。这个属性定义了从活动中生成的令牌的数量。这个数目的令牌将在任何传出序列流(假设满足任何序列流条件)时发送。

活动与资源的关系

任务的标示

image.png

任务类图

image.png

任务类型说明

服务任务 Service Task

  1. 属性

    绑定一个操作,且有输入与输出
    implementation: string = ##webService
    operationRef: Operation [0..1]
  2. 作用

    调用外部服务
  3. 标示

  4. 类图

发送消息任务 Send Task

  1. 属性

    绑定一个消息, 但不是必须的
    messageRef: Message [0..1]
    operationRef: Operation [0..1]
    implementation: string = ##webService
  2. 作用

    发送消息
  3. 标示

  4. 类图

接收消息的任务 Receive Task

  1. 属性

    绑定一个消息, 但不是必须的
    messageRef: Message [0..1]
    operationRef: Operation [0..1]
    implementation: string = ##webService
    instantiate: boolean = false
  2. 作用

    接收消息, 当接收到消息时自动完成任务;
    通常用于启用一个实例;如果想要触发一个实例,需要将属性 instantiate 设置成 true
  3. 标示

    可作为开始节点 :

业务规则节点 Business Rule Task

  1. 作用

    DMN 任务
  2. 标示

脚本任务 Script Task

  1. 属性

    script:string[0..1] 脚本, 如果没有配置脚本, 当作一个空任务进行执行
    scriptFormat: string[0..1] 脚本格式,该值一定是一个 mime-type 类型, 如果脚本指定了, 该值需要必须配置
  2. 作用

    执行指定的脚本
  3. 标示

人工任务 User Task

  1. 属性

    implementation: string = ##unspecified  一个webservice提供实现
    renderings: Rendering [0..*] 这个属性充当一个hook,它允许bpmn采用者使用bpmn扩展机制来指定任务呈现方式。
  2. 作用

    人员参与完成任务,该节点的实现可以交由业务方根据业务场景自行实现
  3. 标示

  4. 类图



操作任务 Manual Task

  1. 属性

    只继承自Task,无其它属性
  2. 作用

    不被引擎管理,可以理解为不受管的任务,即引擎不管理他的开始和结束;例如: 需要某一个人去给用户安装电话;
  3. 标示

  4. 类图

子流程 Call SubProcess Activity

  1. 属性

    triggeredByEvent: boolean = false 是否有事件触发,即事件子流程
    method: Transaction- Method 事务子流程,该方法是用来提交或取消事务用的,如果是事务子流程,需要两个圈
  2. 作用

    不被引擎管理,可以理解为不受管的任务,即引擎不管理他的开始和结束;例如: 需要某一个人去给用户安装电话;
  3. 标示


  1. 类图

  2. 子流程案例

可被调用的 活动 Call Activity

  1. 属性

    calledElement: CallableElement [0..1] : CallableElements,GlobalTask
  2. 作用

    用来引用全局的Task或流程
  3. 标示



  4. 类图

可被引用的元素 CallableElements

全局任务 Global Task