`
ww2
  • 浏览: 416150 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

工作流模式详解之流程控制模式(3)——Synchronizationor

阅读更多

1. 理论模型

  AND分支以后,一个最为普遍的合并方式就是AND合并。

  Synchronization

  这一模型也较为简单,其中合并方式是等待所有的分支都完成了,在进行下一步的任务。 注意,在并发的语义下,可以明显的看到合并后的工作单元和合并前的工作单元,是一个"同步"的关系,因此这一模式的名字,应该是采用了计算机方面的惯用语。这点后面一些模式的名字可能还会看到这种惯用语,譬如 Thread、Instance 等等。

2. 应用

  AND的并发分支,最普遍的汇总方式,是等待所有的分支完成再执行下一步。需要注意的细节是"同步"这个问题,很多时候存在现实业务的考虑,即使是同一个动作,也不一定是非要合并不可。

  这样,AND分支和AND合并的模式组合起来,就可以讲讲实际流程设计的经验了。如一个人力资源:首先填个人简历,A 要对其中的工作经历核实,B 同时要对教育经历核实,然后递交给C(这个角色一般是部门主管) 做出评价。一般的设计考虑是:

  

  变化:

  • 当然,在第一个模式里面提到了,大部分的情况都能退化成顺序模式,像是这里,A、B、C这样顺序执行也没什么不妥。
  • 若考虑实际业务的效率,C 做出评价,不一定要等待 A 、B 都做完才行,只要 A 核实了工作经历,C便可以先作一部分的评价。那这样的情况为了提高业务效率,怎么办?一般可能的是把 C 的工作拆成两部分,然后到下一步再合并,如图:

      

    但是这种情况来说,C的操作相对复杂了,如果把业务拆分后对效率提高的影响不大,则没有必要做出这样的拆分。是否需要拆分牵涉到流程再造的问题,若大家支持,我们还会去开辟专门的栏目论述业务流程再造的各方面配合(包括业务、管理、工作流模式和技术方面的配合而进行的流程再造)。

  • 也是流程再造的问题,考虑到上一个变化的实际业务状况,可以选择用Structured Discriminator模式来替代AND合并模式。Structured Discriminator模式会在后面的文章叙述。

3. 难点

  可以从上面变化的形式看到,这个 AND 合并的难点并非在这个模式本身,也不是它的内部实现复杂。我们需要仔细推敲的是:当使用这一个模式的时候,其要求所有分支完成后才能继续下一个步骤,会不会带来业务效率的浪费。

  如果是在做电子政务的审批流程,那这个问题不太突出,政府的工作效率也足够慢了,再慢那么一点于大局并无显著影响。但是生产流程的设计,或物流流程的部署,则可能带来巨大的浪费损失,不可不慎察之。

分享到:
评论

相关推荐

    通达oa工作流使用详解2008

    通达OA(Tongda Office Automation)是一款国内广泛应用的企业级协同办公系统,其核心功能之一就是工作流管理。本文将详细解析2008年版本的通达OA工作流使用,帮助用户理解和掌握如何有效地利用这一功能提升工作效率...

    工作流模式

    ### 工作流模式知识点详解 #### 一、引言 随着信息技术的发展,工作流管理系统在企业级应用中扮演着越来越重要的角色。然而,不同工作流管理系统之间由于缺乏统一的标准,导致了系统的互操作性较差。为了改善这一...

    资产管理三期系列详解之——数据治理篇.docx

    资产管理三期系列详解之——数据治理篇.docx资产管理三期系列详解之——数据治理篇.docx资产管理三期系列详解之——数据治理篇.docx资产管理三期系列详解之——数据治理篇.docx资产管理三期系列详解之——数据治理篇...

    通达OA2015版工作流使用详解

    工作流是OA系统的核心模块之一,它能够模拟企业内部的各种业务流程,实现审批、流转、跟踪等自动化操作,从而提高工作效率,规范业务流程。 一、工作流定义与重要性 工作流(Workflow)是指在一个组织内,通过人、...

    JavaScript凌厉开发——Ext详解与实践 源码 源代码 part3

    JavaScript凌厉开发——Ext详解与实践 源码 源代码 part3 因为源代码比较大,压缩后76M左右 所以分为四个包上传

    java多线程设计模式详解(PDF及源码)

    目录 漫谈UML UML 类图 类和层次结构的关系 接口与实现 聚合 访问控制 类间的关联性 顺序图 处理流程和对象间的协调 时序图 Introduction 1 Java语言的线程 Java语言的线程 何谓线程 明为追踪处理流程,实则追踪...

    进阶课程㉗丨Apollo控制技术详解——控制理论.pdf

    控制理论是自动驾驶技术的核心组成部分, Apollo控制技术详解——控制理论这篇文章对控制理论进行了详细的解释。 一、控制理论概述 控制理论是研究如何将系统的输出控制在期望的范围内,以实现预期的性能要求。...

    silverlight3工作流实例

    《Silverlight 3工作流实例详解》 Silverlight,作为微软推出的一种富互联网应用程序(RIA)平台,曾经在Web开发领域占据一席之地。尤其在交互性和多媒体展示方面,Silverlight展现出了强大的实力。而在企业级应用...

    J2EE工作流管理系统jBPM详解

    jBPM的核心特性之一是它的流程定义语言——jPdl。jPdl以UML状态图的形式来描述业务流程,涵盖起始、结束状态以及状态间的转换。这种自定义的语言使得jBPM区别于其他遵循WfMC XPDL、BPML、ebXML或BPEL4WS等规范的工作...

    23种设计模式详解

    23种设计模式详解,23种设计模式详解23种设计模式详解23种设计模式详解

    spring的工作流程

    Spring 工作流程详解 Spring 是一个基于 POJO 的轻量级 J2EE 应用框架,它支持一种比较新的编程方法:控制反转(Inversion of Control)。在 J2EE 应用程序中,Spring 可以用来创建工作流引擎,以便更好地组织后端...

    设计模式PPT---25种设计模式详解

    这份名为“设计模式PPT——25种设计模式详解”的资料,显然是一个深入探讨设计模式的教程,它通过PDF格式对25种主要的设计模式进行了详尽的阐述。 首先,我们要理解设计模式的基本概念。设计模式不是代码,而是一种...

    Android编程设计模式之迭代器模式详解

    Android编程设计模式之迭代器模式详解 Android编程设计模式之迭代器模式是Android开发中常用的设计模式之一。迭代器模式(Iterator Pattern)又称为游标(Cursor)模式,是行为型设计模式之一。该模式的主要目的是...

    Java设计模式——工厂设计模式详解

    Java设计模式——工厂设计模式详解 在软件设计中,工厂设计模式是一种常用的设计模式,主要用于实例化有共同接口的类。Java设计模式——工厂设计模式是Java中的一种常用的设计模式,主要用于实例化有共同接口的类。...

    mvc设计模式 详解

    mvc设计思想将一个应用的输入、处理、输出流程按照model、view、controller的方式进行分离,这样一个应用被分成三个层——模型层、视图层、控制层。 视图(view)代表用户交互界面,对于web应用来说,可以概括为...

    设计模式C#描述之——简单工厂模式

    ### 设计模式C#描述之——简单工厂模式 #### 知识点概述 简单工厂模式是一种常用的设计模式,属于创建型模式之一。该模式的主要目的是为了封装产品对象的创建过程,将这一过程从客户端分离出来,使客户端无须关心...

    [原创]JWFDv0.96工作流系统--流程XML文档结构说明

    《JWFDv0.96工作流系统——流程XML文档结构详解》 在IT行业中,工作流系统是企业管理流程自动化的重要工具,它通过定义、执行和管理业务流程,提高组织效率。JWFDv0.96是一款自主研发的工作流系统,其中流程XML文档...

    工作流管理联盟工作流标准

    本文将详细介绍WFMC的工作流过程定义接口——XML Process Definition Language(XML PDL),这是WFMC为工作流系统制定的五个功能接口之一。 #### 二、WFMC与工作流标准 工作流管理联盟(WFMC)成立于1993年,由一群...

    C#设计模式(1)——单例模式.pdf

    ### C#设计模式详解:单例模式 #### 引言 设计模式是在软件工程领域内被广泛采用的一种最佳实践,其目的在于提供通用解决方案以解决在软件设计过程中遇到的常见问题。其中,《Head First 设计模式》是一本广受好评...

Global site tag (gtag.js) - Google Analytics