一.流程定义
1.流程定义图
2.processdefinition.xml
<?xml version="1.0" encoding="UTF-8"?>
<process-definition
xmlns="" name="decision-test">
<swimlane name="initiator"></swimlane>
<swimlane name="manager"></swimlane>
<swimlane name="boss"></swimlane>
<start-state name="request leave">
<task name="requestleave" swimlane="initiator">
<controller>
<variable name="name" access="read,write,required"></variable>
<variable name="day" access="read,write,required"></variable>
</controller>
</task>
<transition name="" to="day<=3" ></transition>
</start-state>
<decision name="day<=3" expression="#{day le 3 ? 'yes' : 'no'}">
<transition name="no" to="boss confirm"></transition>
<transition name="yes" to="manager confirm"></transition>
</decision>
<task-node name="manager confirm">
<task name="managerconfirm" swimlane="manager">
<controller>
<variable name="name" access="read"></variable>
<variable name="day" access="read"></variable>
<variable name="note1" access="read,write,required"></variable>
</controller>
</task>
<transition name="" to="end"></transition>
</task-node>
<task-node name="boss confirm">
<task name="bossconfirm" swimlane="boss">
<controller>
<variable name="name" access="read"></variable>
<variable name="day" access="read"></variable>
<variable name="note2" access="read,write,required"></variable>
</controller>
</task>
<transition name="" to="end"></transition>
</task-node>
<end-state name="end"></end-state>
</process-definition>
流程中涉及的技术名词:
1. process definition
一个process definition代表了一个正式的业务流程,它以一个流程图为基础。这个流程图由许多node和transition组成。每个node在这个流程图里都有着各自特殊的类型,这些不同的类型决定了node在运行时的不同行为。一个process definition只有一个start state 。
2. process instance
一个process instance(流程实例)即一个process definition(流程定义)的流程执行实例。一个process definition可以对应多个process instance。当一个process instance被创建的时候,一个主执行路径token同时被创建,这个token叫做root token,它指向流程定义的start state</sp>