zoukankan      html  css  js  c++  java
  • 工作流数据模式-基于数据的路由模式7种

    版权声明:工作流模式版权归 Workflow Patterns 组 织 ( http://www.workflowpatterns.com ) 所 有 。 经 Workflow Patterns授权,中文简体版由辛鹏和荣浩翻译。未经译者书面许可,不得将该中文简体版用于商业目的。

    基于数据的路由模式共有7种,讨论数据对流程实例执行所产生的影响。

    1. 活动执行条件——数据存在:根据数据是否可用决定活动是否可以执行。
    2. 活动执行条件——数据值:根据数据是否等于指定值决定活动是否可以执行。
    3. 活动完成条件——数据存在:根据数据是否可用决定活动是否能够执行完成。
    4. 活动完成条件——数据值:根据数据是否等于指定值决定活动是否能够执行完成。 1. 基于事件的活动触发:外部事件能够触发活动的执行并传递数据。
    5. 基于数据的活动触发:通过数据反映的流程实例状态能够触发活动的执行。
    6. 基于数据的路由:数据能够决定流程的路由。

    图C-54 基于数据的路由模式

    活动执行条件——数据存在(WDP_34: Task Precondition – Data Existence)

    描述

    数据是否可用能够作为活动的执行条件。只有满足执行条件活动才可执行。

    图C-55 活动执行条件-数据存在

    应用

    在执行活动时,设定活动执行的前提条件,只有满足条件时才能执行该活动。这个条件反映 出活动对前续活动执行结果、流程实例状态的依赖。当无法满足活动的执行条件时,有5种行为 可以选择:推迟活动的执行直至满足条件、为活动设置不满足条件时的默认行为、跳过该活动的 执行、与该活动参与者交互由参与者做出决定和终止当前流程实例的执行。

    活动执行条件——数据值(WDP_35: Task Precondition – Data Value)

    描述

    数据是否等于指定值能够作为活动的执行条件。只有满足执行条件的活动才可执行。

    活动完成条件——数据存在(WDP_36: Task Postcondition – Data Existence)

    描述

    数据是否可用能够作为活动的完成条件。只有满足完成条件的活动才表明执行完毕。

    图C-56 活动完成条件-数据存在

    应用

    在执行活动时,设定活动执行的完成条件,只有满足条件时该活动才算完成。这个条件反映出对活动执行结果的期望。当无法满足活动的完成条件时,有2种行为可以选择:重新/继续执行
    该活动直至满足条件为止;将该活动标识为未完成挂起并继续执行后续活动。

    活动完成条件——数据值(WDP_37: Task Postcondition – Data Value)

    描述

    数据是否等于指定值能够作为活动的完成条件。只有满足完成条件的活动才表明执行完毕。

    基于事件的活动触发(WDP_38: Event-based Task Trigger)

    描述

    外部事件能够触发活动实例的执行并给活动实例传递数据。

    图C-57 基于事件的活动触发

    应用

    流程实例的执行能够响应外部环境发生的变化,并对变化作出反应。

    该模式对应于控制模式里的触发模式(WCP_23和WCP_24)。存在3种应用场景,如图C-57所示。触发流程的第一个活动(活动A),其等价于触发一个新的流程实例;触发流程实例中一个等待中的活动(活动B),若活动不处于等待状态那么有两种情况:事件丢失(瞬态触发)、事件持久化等待消费(持久化触发);触发流程中与主流程隔离的单独活动(活动C),设计该活动的目的是消费特定的外部事件。

    基于数据的活动触发(WDP_39: Data-based Task Trigger)

    描述

    数据能够作为活动的触发条件。我们为活动指定基于数据的表达式,当该表达式求值为真时即触发活动的执行。

    图C-58 基于数据的活动触发

    基于数据的路由(WDP_40: Data-based Routing)

    描述

    数据能够影响流程的路由。我们为XOR-split或OR-split的后续分支指定基于数据的路由表达式,当表达式求值为真时即触发对应分支的路由。

    图C-59 基于数据的路由

    本文来源:http://www.cnblogs.com/x3d/,转载请注明。
  • 相关阅读:
    机器学习之数据预处理
    使用Python一步一步地来进行数据分析总结
    深入对比数据科学工具箱:Python和R之争
    机器学习算法中的过拟合与欠拟合
    监督学习与无监督学习
    Python数据分析之pandas学习
    Python数据分析之numpy学习
    Dart语言学习(二) Dart的常量和变量
    Dart语言学习(一)为什么学习Dart?
    iOS项目中集成Flutter的最新适配升级
  • 原文地址:https://www.cnblogs.com/x3d/p/15451388.html
Copyright © 2011-2022 走看看