zoukankan      html  css  js  c++  java
  • 驰骋.net工作流程引擎设计开发讲座: 工作流程类型模式

    驰骋.net工作流程引擎设计开发讲座:工作流程类型模式

    我们总结一下流程类型的模式,那有助与我们在开发流程引擎,或者在设计与分析流程是以便可以对号入座,说明:本文尽量用通俗的语言来描述。

    第一种类型:平面流程,也可以称呼它为单线程流程,这种类型的流程在我们工作中非常多,比如:请假流程、报销流程、借款流程、出库流程。它的特点是:整个流程中只有一个流程ID.不允许两个在在同一个时间点处理一件工作,工作是一个步骤接着一个步骤。它的转向是根据一定的条件来完成的。

    第二种类型:分发式流程,也可以叫它为分发式多线程流程。这类的流程开始节点必须是分流节点。结束节点可以是合流节点,也可以是普通节点。比如:周例会流程,销售周总结汇报流程。以“销售部周总结汇报流程”为例来说明,第一部系统定期在周1启动起来流程,把工作(或者说填写销售表)发送给各个销售人员。各个销售人员接受到任务后,发送给销售部经理汇总处理。这类的流程叫分发式多线程流程。

    第三种类型:汇流式流程,也可以称为汇总式多线程流程。这类流程的特点是发起流程的人员是不确定的,但是处理这个事务是成批的。用现实的生活举例:小区门口的邮政信箱,邮寄信件的人是不固定的,我们把每个客户看作一个工作线程,邮递员可以根据需要在规定的时间去收取一次。如果没有一个信件要邮寄,他就不收取为空,也就是不进行下一步。这种类型的结束点,也是不确定的可以是汇总的合流点接受,也可以普通点结束。但是开始点必须是普通的节点。

    第四种类型:唤醒流程,也称为父子流程,一个平面流程在特定的节点上需要唤醒其它的流程。比如:工程管理流程,一般来说有如下几个环节。 签订合同-》实施工程=》验收工程。

    在实施工程这个点上,可以延伸很多的子流程比如:催款流程,派工流程,设计流程。等等。项目经理可以根据需要在任何时间唤醒子流程。工程管理流程叫主流程,催款流程,派工流程。。。则是子流程。这种流程与第二三种模式不同那种,可以称呼为线程,这种也可以叫父子流程。

    唤醒的子流程与手工发起的流程的区别是它有一个流程ID。由流程ID.来确定这种流程

    综上所述:大千世界,各种流程都可以被提炼,归纳,分类,抽象出来这四种模式。你可以把你分析与设计的流程对号入座,驰骋业务流程引擎已经把完全实现这四种工作模式,并且0代码实现。

    如果你是一个工作流程引擎设计人员,分析这四种模式是必须的。


    类别:默认分类 查看评论
  • 相关阅读:
    JavaScript模态对话框类
    事件模块的演变(1)
    html5中可通过document.head获取head元素
    How to search for just a specific file type in Visual Studio code?
    What do 'lazy' and 'greedy' mean in the context of regular expressions?
    正则非获取匹配 Lookahead and Lookbehind ZeroLength Assertions
    regex length 正则长度问题
    Inversion of Control vs Dependency Injection
    How to return View with QueryString in ASP.NET MVC 2?
    今天才发现Google Reader
  • 原文地址:https://www.cnblogs.com/ccflow/p/2040012.html
Copyright © 2011-2022 走看看