`

Workflow模式 (转)

    博客分类:
  • BPM
阅读更多
Workflow模式模式是开发工作流必须了解的知识。
本文档是根据如下资料简单翻译的:
<shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"></shapetype><stroke joinstyle="miter"></stroke> <formulas> </formulas> <f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f> <lock aspectratio="t" v:ext="edit"></lock><shape id="_x0000_i1025" style="WIDTH: 11.25pt; HEIGHT: 11.25pt" alt="::URL::" type="#_x0000_t75"></shape><imagedata o:href="http://www.blogcn.com/images/aurl.gif" src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image001.gif"></imagedata>
http://is.tm.tue.nl/research/patterns/patterns.htm

Basic Control Flow Patterns(基本模式)
1. Sequence 模式
定义:串行模式:在一个工作流中,一个动作在另外一个动作完成后使能。
 <shape id="_x0000_i1026" style="WIDTH: 131.25pt; HEIGHT: 32.25pt" alt="" type="#_x0000_t75" o:button="t" target="_blank" href="http://images.blogcn.com/2005/11/6/10/zhaoshouzhong,20051106183748.gif"></shape> <imagedata o:href="http://images.blogcn.com/2005/11/6/10/zhaoshouzhong,20051106183748.gif" src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image002.gif"></imagedata>举例:单据录入的动作完成后,审核的动作被执行。

2. Parallel Split模式:
定义:并行分支模式(与分支、AND-Split):工作流中的一个节点,在该节点,一个单一的线程被分成多个线程,这些线程可以被并行执行,因此,分支的动作可以被同时执行或者以某种顺序执行。

 

举例:客户付款后,送货和通知客户的动作可以并行执行
3. Synchronization模式:
定义:同步模式,(与汇合、AND-Join):在工作流中的一个点,在该点处,所有并行的子流程或者活动,汇合成一个单一的线程。因此必须所有子流程(活动)执行完成后,才可以执行下一个活动。
前提条件:所有的子流程(活动)仅能被执行一次,不可以重复执行


 
举例:
4. Exclusive Choice 模式:
定义:唯一选择模式(XOR-split):在工作流的一个点,根据选择条件或者工作流控制数据,在多个分支中选择一个分支执行。


5. Simple Merge 模式
定义:简单合并模式(XOR-join):在工作流的一个节点,一个或者多个可选分支非同步到达。只要一个动作完成,就会触发后续动作。
前提条件:这些分支中不存在并行执行的情况。


Advanced Branching and Synchronization Patterns (高级分支、同步模式)
6. Muti-Choice模式:
定义:多选择模式(或分支 OR-split):在工作流中的一个节点,根据条件或者相关控制数据,多个分支被选择。Exclusive Choice 模式仅能选择一个分支
备注:由于某些工作流不支持该模式,因此,可以通过AND-split 模式,XOR-split模式组合来表达。

 
举例:A活动执行完后,根据条件,B活动,C活动被选择执行。

7. Synchronizing Merge模式:
定义:同步合并模式:在工作流中的一个节点,多个被选的分支汇合成一个单一的线程。如果有多于一个的分支被执行,工作流会等待所有的分支执行完成后,才开始下一个动作的执行。

前提条件:在该节点的下一个动作执行前,被选的分支动作仅能被执行一次。


举例:加入A B 被选择执行,只有当B都执行完毕后,动作D才可以被执行。

8. Multi Merge 模式:
定义:重复组合模式:在工作流的一个节点,多个被选分支非同步的聚合。每一个分支完成后,后续的动作都会被执行一次。


举例:如果AB 选择执行,A执行完毕后,D会被跟着执行;B执行完毕后,D也会再执行一次。

9. Discriminator 模式:
鉴别器模式(M-OUT-of-N模式 ):在工作流中的一个节点,在等待N个分支的执行的过程中,只要其中的M个分支完成,它就会触发随后的动作,并忽略其他的分支。


举例:只要B\C\D 三个活动中,有两个活动完成,就会触发E动作。另外一个动作将会被忽略。

Structural Patterns(结构化模式)
10. Arbitrary Cycles模式:
定义:任意循环模式:在工作流的一个节点,一个或者多个活动可以被重复执行。


11. Implicit Termination 模式:
定义:隐式终止模式:在没有其他活动可以执行时,一个子流程应该被终止。当然,前提是不存在死锁的情况。

Patterns involving Multiple Instances (多实例模式)
12. Multiple Instances Without Synchronization 模式:
定义:非同步多实例模式:在一个工作流实例的环境中,一个动作的多个实例可以被创建。也就是说在控制线程外,产生新的线程。这些线程相互独立,不需要同步。

举例:在客户订书的流程中,客户可以对不同的书下单,因此订书的动作存在多个实例,订A书的实例,订B书的实例等等。

13. Multiple Instances With a Priori Design Time Knowledge 
定义:拥有优先设计知识的多实例模式:在一个流程实例中,一个活动被实例化的次数在设计时是可知的。一旦所有已知的实例完成,其他的活动需要被执行。

举例:某个订单,需要三次不同的审核。

14. Multiple Instances With a Priori Runtime Knowledge模式:
定义:拥有优先运行知识的多实例模式:在一个流程实例中,一个活动被实例的话次数在设计时是不可知的,它依赖于流程特性或者资源可用性,仅在流程实例运行时的某个阶段可知。

举例:在一个评审团对科学论文的评审流程中,评审的动作依赖于论文的内容,评审团人员的数量,评审团的信誉。

15. Multiple Instances Without a Priori Runtime Knowledge模式:
定义:无运行知识的多实例模式:在一个流程实例中,一个活动被实例的话次数在设计时是不可知的,在流程运行的过程中也是不可知的。

举例:在100台计算机的运输流程中,每次运输的计算机的个数是不可知的,因此整个的运输次数也是不可知的。

State-based Patterns (基于状态的模式)
16. Deferred Choise 模式:
定义:延期选择模式:在工作流的一个节点,在多个可选分支中,只有一个分支选中。不同于XOR-split模式(选择是显式的,根据条件判断,立即决定分支的选择),可选分支是由环境决定的。不同于AND-split模式,只有一个分支被选择。也就是说一旦环境激活其中的一个分支,其他的分支讲被丢掉。很重要的一点是:直到可选分支中的一条被激活,选择才进行,因此选择的时刻被尽可能的延期。

17. Interleaved Parallel Pattern模式:
定义:交叉并行模式:一组动作以任意的顺序执行。动作执行的顺序,在工作流实例运行时刻决定,不存在两个动作同时运行的情况。

举例:在体检的中,血液检查、视力检查是两个不同的动作,这两个动作的先后顺序可以是随机的,但是一个时刻只可以执行一个动作,不会同时进行。

18. Milestone模式:
定义:里程碑模式:工作流实例的一个动作依赖于某个特定状态,也就是说当某个里程碑到达后,该动作才可以被执行。

举例:在工厂发货前的头两天,客户可以取消订单。


19. Cancel Activity 模式:
定义:活动取消模式:一个使能的活动被设为不可用,即等待一个活动执行的线程被移除。

举例:一个设计通常由两组工程师检查,为了赶进度,其中一组的检查可能被取消

20. Cancel Case模式:
定义:取消案例模式:一个工作流的实例被彻底的移除,也就是说无论是否该实例有动作已经实例化。

举例:在最终法院判决前,起诉人可以撤销上诉。



Workflow
分享到:
评论

相关推荐

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

    FireWorkflow 3 工作流模式实现整理 FireWorkflow 3 是一种流行的工作流引擎,用于实现复杂的业务流程。该引擎提供了多种工作流模式,帮助开发者快速构建企业级应用程序。本文档对 FireWorkflow 3 中各种工作流模式...

    工作流模式(Workflow Patterns)学习参考资料

    工作流模式(Workflow Patterns)是业务流程管理(Business Process Management, BPM)领域中的一种标准化设计模式,它们提供了在系统中实现工作流逻辑的通用方法。这些模式由BPM领域的专家们提炼并归纳,旨在帮助...

    Hue-workflow配置流程

    在保存后,你可以在预览模式下检查流程的逻辑是否正确,各步骤之间是否有正确的依赖关系。 提交Workflow时,可以添加参数。这些参数可以是环境变量,也可以是Workflow内部使用的变量,它们可以动态地改变Workflow的...

    Oracle Workflow Builder

    3. **部署策略**:支持单机部署、集群部署等多种模式,以适应不同规模的应用场景。 4. **版本控制与回滚**:实现对工作流版本的管理,确保在出现问题时能够快速恢复到之前的稳定版本。 #### 七、Oracle Workflow ...

    C# Workflow WCF EXAMPLE

    WCF服务可以使用多种传输协议(如HTTP、TCP等)和消息交换模式(如请求/响应、发布/订阅等),并且支持安全、可靠性和事务处理。 将C# Workflow与WCF结合,可以创建能够动态调整其行为的服务,这些服务可以根据工作...

    Workflow.zip

    WF提供了多种工作流设计模式,如顺序工作流、状态机工作流和活动工作流,以及丰富的内置活动库。开发者可以利用这些工具快速创建符合业务需求的工作流实例。 压缩包中的"Workflow"文件可能是包含示例代码的项目或...

    Workflow Patterns

    工作流模式(Workflow Patterns)是一种用于分析、设计及实现工作流管理系统中的关键功能和需求的结构化方法。该概念由W.M.P. van der Aalst、A.H.M. ter Hofstede、B. Kiepuszewski以及A.P. Barros等人提出。其主要...

    FireWorkFlow开发手册

    理解其源码结构和设计模式对于进行此类开发至关重要。 7. **监控与调试**:监控工作流的运行状态,包括查看流程实例的状态、跟踪任务执行路径等,是确保流程正常运行的关键。此外,开发手册也会介绍如何调试和解决...

    工作流数据模式workflow data patterns

    ### 工作流数据模式(Workflow Data Patterns) #### 概述 本文档旨在探讨与工作流系统中的数据处理相关的各种模式。工作流系统是用于实现复杂、重复性业务流程的工具。尽管工作流系统的共同目标是为了支持这类...

    workflow portlet实例

    综上所述,构建一个基于JSR168的workflow portlet需要对portlet生命周期、MVC模式、工作流引擎、portlet通信以及安全性等多个方面有深入理解。通过不断学习和实践,开发者可以创建出高效、易用且适应企业需求的...

    WorkFlow C++ 工作流图形

    10. **设计模式**:使用设计模式(如工厂模式、观察者模式、装饰器模式等)可以提高代码的可读性和可维护性。 文件列表中的"www.pudn.com.txt"可能是提供资源来源或相关说明的文本文件,而"WorkFlow"可能是实际的源...

    基于C++ Workflow的RPC框架

    在IT领域,RPC(Remote Procedure Call)框架是一种用于分布式系统通信的重要技术,它允许一个程序在...通过理解C++ Workflow的工作原理以及RPC的设计模式,开发者可以利用这个框架开发出高性能的跨进程通信解决方案。

    Visual Studio 2010与WorkFlow应用教程

    工作流设计器支持多种工作流模式,如状态机、顺序流和活动图,满足不同复杂度的业务需求。 本教程将涵盖以下几个关键知识点: 1. **工作流基础**:介绍工作流的基本概念,包括活动(Activity)、工作流实例...

    03-04 WP Notations and Workflow Patterns - White.pdf

    ### 工作流符号与模式 (WP Notations and Workflow Patterns) #### 概述 本文档主要探讨了工作流符号(Notations)与工作流模式(Patterns)在业务流程建模中的应用,尤其聚焦于两种图形化的流程建模符号:BPMN...

    workflow工作流例子(WF4)

    【WF4工作流详解】 WF4,全称为Windows Workflow Foundation 4,是.NET Framework 4.0中的一个组件,用于构建业务流程...这种分离的设计模式使得工作流管理更加灵活,适应性强,非常适合于处理如报销流程等业务场景。

    微软官方workflow例子源码

    微软WF示例集(WF_WCF_Samples)包含了多个工作流相关的案例,涵盖了各种工作流场景和设计模式,旨在帮助开发者快速上手和深入理解WF的核心概念。这些示例通常包括以下几个方面: 1. **基础工作流**:这些示例展示...

    TMS Workflow Studio for 10.2 source修改版本

    这个引擎支持多种工作流模式,如顺序、分支、并行等,并且可以处理各种条件、事件和任务之间的依赖关系。 2. **图形化界面**:工作室提供了一个直观的拖放式界面,使得用户能够通过图形化的方式设计工作流程。这种...

    Windows Workflow in .NET 4 PDF和代码

    本教程将深入探讨Windows Workflow in .NET 4,包括它的核心概念、设计模式以及如何在实际项目中应用。 WF提供了一种声明式的方式来定义和执行业务逻辑,使得流程的创建和维护变得更加直观。通过WF,开发人员可以将...

Global site tag (gtag.js) - Google Analytics