`
iuottp
  • 浏览: 169703 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

工作流的20种模式

    博客分类:
  • JAVA
阅读更多

 from : http://tech.ddvip.com/2008-09/122060587060855_3.html

 

   1. 顺序(Sequence)

  工作流中的各个活动在同一个进程中按顺序依次执行。

  例子:在“发送货物”之后“发送单据”。

  2. 平行拆分(Parallel Split)

  工作流中从一个线程中的一个点拆分为在多个线程中平行执行的多个活动。

  例子:活动“付款”激活了“发送货物”以及“通知顾客”的执行。

  3. 同步(Synchronization)

  工作流中的多个活动在一个点上汇合成一个线程。

  例子:活动“归档”在“发票”和“收款”全部完成后被激活。

  4. 排他选择(Exclusive Choice)

  工作流中的一个点,基于决定或者工作流中的数据,流向若干个分支中的一个。

  5. 单合并(Single Merge)

  工作流程中的一个点在两个或者多个分支发生非同步的汇合时执行。它假设这些分支中不存在平行执行的情况。

  例子:在收到支付或者确认信用之后,汽车被交付给顾客。

  6. 多选(Multi-choice)

  工作流中的一个点,基于决定或者工作流中的数据,流向若干个分支中的几个。

  7. 平行合并(Synchronize Merge)

  工作流程中的多个路径在一个点被汇合成一个单一的进程。如果多于一个的路径到达了,活动线程就需要进行同步。如果只有一个路径到达,那么其它的路径应该非同步的重新会聚。该模式假设在一个分支被激活后,不会在等待其它分支完成的过程中再次被激活。

  这种模式的难点在于决定在哪些分支到达后启动活动。

  8. 多合并(Multi-merge)

  工作流程中的多个分支在一个点进行非同步的汇聚。如果多于一个的分支被激活——可能是并发的——每个进入分支的每个活动都在合并之后启动新的活动。

<!-- 分页 -->
  9. 鉴别器(Discriminator)

  鉴别器是工作流中的一个点,它等待进入分支中的一个完成,然后才激活其后的活动序列。从那个时刻开始,它等待所有剩余的分支完成,并且“忽略”它们。一旦所有的分支都已被触发,它就会重置自己,以便能被再次触发。

  例子:在三个分支中的任意两个到达之后启动后面的活动。

  10. 强制循环(Arbitrary Cycles)

  工作流中的一个点可以让一个或多个活动反复的执行。

  11. 隐式终止(Implicit Termination)

  一个子过程应该在没有什么事情可做的时候被停下来。换句话说,在工作流中没有别的活动在执行并且没有活动可被激活的时候终止。

  12. 非同步的多实例(Multiple Instances Without Synchronization)

  在一个工作流的内部中,可以创建一个活动的多个实例,当然,这需要对新产生的线程的控制能力。

  13. 在设计期间预先确定的多实例(Multiple Instances With a Priori Design Time Knowledge)

  在特定过程中的特定活动的数量是在设计时就被确定的。一旦所有的实例都完成了,其它的活动应该被启动。

  例子:有关危险品的请求需要三个不同的审核。

  14. 在运行期预先确定的多实例(Multiple Instances With a Priori Runtime Knowledge)

  在一个活动能够被多次激活的这种情况下,在指定情况下的指定活动的实例数量可能取决于情况的特性或者资源的可用性。但是,在活动被创建之前,在运行中的某个阶段,这个数量是可以预知的。一旦所有的实例都完成了,其它的活动应该被启动。

  例子:在预定旅行的过程中,如果旅途包含多个飞行的话,活动“预定机票”会被多次执行。如果所有预定都完成了,发票会被发送给客户。

  15. 无法在运行期预先确定的多实例(Multiple Instances With a Priori Runtime Knowledge)

  在一个活动能够被多次激活的这种情况下,在指定情况下的指定活动的实例数量无论是在设计时或者运行时都不能在活动的实例被创建之前预先确定。但是,在活动被创建之前,在运行中的某个阶段,这个数量是可以预知的。一旦所有的实例都完成了,其它的活动应该被启动。这个模式和模式14的区别在于,在某些实例运行结束之后,新的实例仍能被创建。

  16. 延迟选择(Deferred Choice)

  工作流中的一个点,有一个或多个分支已经被选择。与XOR拆分相比,并没有明确的选择,但是,选择是取决于环境的。与AND拆分相比,两者中只有一个被执行。这意味着一旦环境启动了其中的一个,另一个就被取消。要注意,选择是被延迟到两个分支中的一个真正开始执行时,也就是说,选择是可以尽可能的推后的。

  例子:在收到货物之后,有两种方法可以将其送到。选择取决于相关资源的可用性。因此,选择会被推迟到直到其中一个资源可用为止。

  17. 交替平行路由(Interleaved Parallel Routing)

  一组活动以任意的顺序执行,每个活动都被执行,他们的顺序是在运行时决定的,并且在任意一个时刻都不会有两个活动在执行。

  18. 里程碑(Milestone)

  一个活动能否执行取决于一个指定的状态。也就是说,只有在到达一个特定的未过期的里程碑时,活动才被执行。

  例子:一个顾客只有在进行六个月以上的飞行之后才能声明自己的飞行里程。

  19. 取消活动(Cancel Activity)

  一个可执行的活动被强制失效了,也就是说,一个正在等待执行的活动所在线程被移除了。

  例子:如果顾客取消了一个请求,那么与之相关的活动也被取消了。

 

  20. 取消实例(Cancel Case)

  一个活动的实例被完全消除了。

分享到:
评论

相关推荐

    工作流概述、工作流模式介绍

    - **定义**:工作流模式是指在工作流模型中反复出现的特定连接关系或结构模式。 - **作用**:通过对这些模式的研究和总结,可以更有效地设计和优化工作流过程。 ### 分布式工作流技术 随着信息技术的发展,尤其是...

    工作流模式

    21个工作流模式可能包括上述每种模式的不同变体和组合,以适应不同行业的具体需求。例如,审批流程可能结合了顺序流、分支和用户交互模式,而供应链管理可能运用事件驱动和并行流模式。 在实际应用中,工作流管理...

    FireWorkflow_3_各种工作流模式的实现整理.pdf

    顺序、分支、汇聚是 FireWorkflow 3 中三种基本的工作流模式。 1. 顺序流程 顺序流程指的是流程元素之间的顺序关系,例如 Activity A -&gt; Activity B -&gt; Activity C。 2. 分支流程 分支流程指的是流程元素之间的...

    工作流资料+DEMO源代码

    工作流管理系统(Workflow Management System, WfMS)则是一种软件工具,它支持工作流的定义、执行和监控。工作流管理系统通常包括工作流定义语言、工作流引擎、用户界面以及与企业其他系统的集成接口。 在...

    [JWFD开源工作流]为实现智能工作流的跳跃模式而做的一些设计和思考

    这篇博文——"为实现智能工作流的跳跃模式而做的一些设计和思考"深入探讨了如何在工作流系统中引入跳跃模式,以增强系统的智能化和适应性。 跳跃模式是工作流设计中的一个重要概念,它允许在流程执行过程中根据特定...

    工作流回退模式设计分析

    ### 工作流回退模式设计分析 #### 回退的概念与重要性 在现代企业信息化建设中,工作流管理已成为提升工作效率、优化业务流程的关键技术之一。而在工作流的实际应用过程中,不可避免地会遇到需要回退的情况。所谓*...

    流程的永恒之道-工作流及BPM技术的理论、规范、模式及最佳实践

    在模式方面,常见的工作流模式有顺序流、并行流、条件分支、循环等。而在BPM中,有如事件驱动、服务导向、流程编排等模式。理解这些模式有助于设计出适应各种业务需求的流程。 "流程的永恒之道"这本书可能涵盖了...

    工作流数据模式workflow data patterns

    除了数据模式外,工作流系统还涉及其他两种重要的模式类型:控制模式和资源模式。 - **控制模式**:这些模式侧重于流程执行的逻辑结构,如分支、循环和条件判断等。它们定义了工作流如何按照预设的规则进行推进。 -...

    工作流和DevExpress

    在IT领域,工作流技术广泛应用于各种业务系统,如ERP、CRM、HRM等,为企业提供了一种标准化、规范化的工作模式。 DevExpress是一款强大的.NET开发工具集,涵盖了多种UI控件、报表、数据分析以及工作流组件。它为...

    工作流日志中的工作流模式图挖掘技术研究

    作流挖掘技术能够从系统的执行日志中构建出过程,大部分过程挖掘方法都使用了一种图形化的...讨论了工作流模式图挖掘,它实际上是工作流挖掘的一种扩展;对其中所涉及 的问题进行了剖析,并介绍了一种模式图挖掘算法。

    WorkFlow C++ 工作流图形

    该库的核心目标是提供一种方式,让开发者能够用图形化的方式设计和执行工作流。通过图形界面,用户可以直观地创建、编辑和可视化工作流模型,这些模型由各种工作流元素组成,如任务、决策节点、并行处理和循环等。在...

    JsonFlow工作流已支持Vue3技术栈,一套前端代码支持钉钉简单模式与专业模式,并提供两套可选UI界面支持移动端APP办公

    JsonFlow工作流已支持Vue3技术栈,一套前端代码同时支持钉钉简单模式与专业模式,并提供两套可选UI界面,同时适配PC、Pad、H5多端显示,支持移动端APP办公。JsonFlow提供文档和配套视频,功能描述清晰简洁,学习成本...

    论文研究-工作流日志中的工作流模式图挖掘技术研究.pdf

    工作流挖掘技术能够从系统的执行日志中构建出过程,大部分过程挖掘方法都使用了一种图形化的...讨论了工作流模式图挖掘,它实际上是工作流挖掘的一种扩展;对其中所涉及的问题进行了剖析,并介绍了一种模式图挖掘算法。

    工作流解析工作流解析

    总结来说,Spring通过其IoC和DI机制,提供了一种轻量级的工作流实现方法,允许开发者将复杂的处理流程拆分为独立的活动,并通过容器进行协调。这种工作流策略在简单的场景下尤其有效,能够简化代码,增强系统的可...

    用着色Petri网建模工作流模式

    1. **支持20种工作流模式**:研究结果表明,基于着色Petri网的工作流建模语言能够很好地支持由Wil van der Aalst提出的20种工作流模式。这其中包括了基本的控制流模式(如顺序执行、并行执行)以及高级模式(如多重...

Global site tag (gtag.js) - Google Analytics