自定义流程

流程包括:事件、活动、流、节点

事件

**Event:流程的状态,无条件执行
属性:id、name
起始
<startEvent id="***" name="***"     />
结束
<endEvent id="***" name="***"     />

活动

activity:单个的任务

属性:id、name、URI

子元素1:input 属性:name、type、UIR
子元素2:output 属性:name、type、UIR

如:决策服务
<activity id="decide1" name="决策服务1" URI="www.baidu.com">
  <input name="Strategy1.xls" type="File" UIR="www.google.com/1" />
  <input name="Result.properties" type="File" UIR="www.google.com/2" />
   <output name="Strategy3.xls" type="File" UIR="www.google.com/3" />
  <output name="Result2.properties" type="File" UIR="www.google.com/4" />
</activity>

flow:箭头
属性:id、name、from、to

<process id="..." name="...">
    <startEvent id="startEvent1" name="***"/>
    <activity id="activity1" name="决策服务1" URI="www.baidu.com">
    <input name="Strategy1.xls" type="File" UIR="www.google.com/1" />
    <input name="Result.properties" type="File" UIR="www.google.com/2" />
    <output name="Strategy3.xls" type="File" UIR="www.google.com/3" />
    <output name="Result2.properties" type="File" UIR="www.google.com/4" />
  </activity>
  <endEvent id="endEvent1" name="***"/>
  <flow id="flow1" name="..." from="startEvent1" to="decide1" />
  <flow id="flow2" name="..." from="decide1" to="endEvent1" />
</process>

节点

Node:支路的交点,控制流向
parallelNode并行节点
属性:id,name

<process id="..." name="...">
    <!--起始事件-->
    <startEvent id="startEvent1" name="Start"/>
    <!--活动1-->
    <activity id="activity1" name="读取策略" URI="www.baidu.com">
        <input name="Strategy1.xls" type="File" UIR="www.google.com/1" />
        <input name="Result.properties" type="File" UIR="www.google.com/2" />
        <output name="Strategy3.xls" type="File" UIR="www.google.com/3" />
        <output name="Result2.properties" type="File" UIR="www.google.com/4" />
    </activity>
    <!--并行节点-->
    <parallelNode id="parallelNode1" name="" />
    <!--活动2-->
    <activity id="activity2" name="执行检测软件" URI="www.baidu.com">
        <input name="Strategy1.xls" type="File" UIR="www.google.com/1" />
        <input name="Result.properties" type="File" UIR="www.google.com/2" />
        <output name="Strategy3.xls" type="File" UIR="www.google.com/3" />
        <output name="Result2.properties" type="File" UIR="www.google.com/4" />
    </activity>
    <!--活动3-->
    <activity id="activity3" name="输出策略" URI="www.baidu.com">
        <input name="Strategy1.xls" type="File" UIR="www.google.com/1" />
        <input name="Result.properties" type="File" UIR="www.google.com/2" />
        <output name="Strategy3.xls" type="File" UIR="www.google.com/3" />
        <output name="Result2.properties" type="File" UIR="www.google.com/4" />
    </activity>
    <!--并行节点-->
    <parallelNode id="parallelNode2" name="" />
    <!--活动4-->
    <activity id="activity4" name="执行决策程序" URI="www.baidu.com">
        <input name="Strategy1.xls" type="File" UIR="www.google.com/1" />
        <input name="Result.properties" type="File" UIR="www.google.com/2" />
        <output name="Strategy3.xls" type="File" UIR="www.google.com/3" />
        <output name="Result2.properties" type="File" UIR="www.google.com/4" />
    </activity>
    <!--结束事件-->
    <endEvent id="endEvent1" name="***"/>
    <!--流-->
    <flow id="flow1" name="..." from="startEvent1" to="activity1" />
    <flow id="flow2" name="..." from="activity1" to="parallelNode1" />
    <flow id="flow3" name="..." from="parallelNode1" to="activity2" />
    <flow id="flow4" name="..." from="activity2" to="parallelNode2" />
    <flow id="flow5" name="..." from="parallelNode1" to="activity3" />
    <flow id="flow6" name="..." from="activity3" to="parallelNode2" />
    <flow id="flow7" name="..." from="parallelNode2" to="activity4" />
    <flow id="flow8" name="..." from="activity4" to="endEvent1" />
</process>

猜你喜欢

转载自www.cnblogs.com/zhaideang/p/12283593.html