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

工作流系统之三十 流程的静态分支与动态分支

阅读更多

业务流程的流转过程中,经常会有需要并发处理的过程,即流程流转到下一步,同时产生多个当前需要处理的过程,这些过程不分先后处理顺序,只要都处理完成了,最后汇聚到一起,再接着主流程运行,就可以了。例如:一份报销单,填写完成后,同时启动财务部门审核和本部门的审核,这两部分的审核不分先后顺序,只要都完成后,再将结果返回给报销单填写人,继续下面的流转。这种的并行处理的过程,就需要流程引擎支持分支和聚合。

分支又分为 静态的分支 和动态的分支。
静态的分支,即在业务流程建模之初,就能确定好有多少个分支,每个分支的具体流转,具体处理过程。
动态的分支,即在业务流程建模的时候,只能确定好一条分支的模版处理过程,在流程实例运行时,每流程实例根据自己的情况确定本次能产生多少个分支,然后依据分支模版的处理过程,复制出n个并发的分支线路,每分支线路的运行轨迹根据动态分支参数的设置而不尽相同。

 

聚合也分为 静态聚合 和 动态聚合
静态聚合,和静态分支匹配,当有静态的分支并发流转发生后,需要用静态聚合来汇聚并发的线路。
动态聚合,和动态分支匹配,当有动态的分支并发流转发生后,需要用动态聚合来汇聚并发的线路。


静态分支模式:



 

 

动态分支模式:

 

 

 

静态分支里面可以嵌套 静态分支:



 

 

 

动态分支里面也可以嵌套 动态分支:



 

 

 

 

静态分支里面可以嵌套 动态分支 (暂未做示例)

 

 

动态分支里面也可以嵌套 静态分支:



 

 


注意:静态分支,必须用静态聚合来汇聚, 动态分支必须用动态聚合来汇聚。
为了 方便 设置汇聚条件,分支嵌套的时候,避免 内层聚合--到--外层聚合 的 这种流程建模方式,如果业务流程中,确实是内层聚合--到--外层聚合 的流转,那就增加一个 自动步骤的 节点。即 内层聚合--自动步骤--外层聚合。此自动步骤,带有自动执行的方法,当流程流转到这里时,会自动完成此步骤。


静态分支后产生的并发流程,在流程建模时候,和普通的流程节点一样设计。
动态分支后产生的并发流程,有些参数需要在流程实例运行时设置,如动态分支的个数,每分支的步骤执行人等等。

 



 


动态分支节点,在流程建模时,先定义好需要那些参数,在分支模版节点中,引入这些参数。流程实例运行时,各流程实例根据实际情况给参数赋值,分支节点中遇到参数表达式,解释并得到参数值,参与到流程的流转中。

 

 

 

 

 

 

参见  web工作流管理系统开发之二十 动态创建流程多分支节点

  • 大小: 15.4 KB
  • 大小: 19.1 KB
  • 大小: 30.6 KB
  • 大小: 34 KB
  • 大小: 31.8 KB
  • 大小: 28.5 KB
  • 大小: 48.6 KB
0
0
分享到:
评论

相关推荐

    php 工作流源码

    在IT行业中,工作流(Workflow)是一种用于管理组织内业务过程的方法,它通过定义、实施和自动化业务规则来实现流程的有序流转。PHP作为一种流行的开源脚本语言,被广泛应用于Web开发,包括构建工作流系统。这个...

    WFMC工作流参考模型

    流程定义是静态的,描述了工作流应该如何运行,包括任务顺序、条件分支和角色分配。过程模型则是动态的,反映了实际运行中的流程实例。两者之间的交互体现在,流程定义指导过程模型的执行,而过程模型的执行情况又...

    java工作流

    Java工作流是一个重要的软件开发概念,它涉及到在企业信息系统中自动化和管理业务流程。工作流管理系统(Workflow Management System,WFMS)使用Java技术可以实现灵活、可扩展且跨平台的解决方案。本文将深入探讨...

    关于对工作流的模型的研究的综述

    1. **灵活性不足**:大多数现有模型都是基于“静态”过程定义的,这意味着它们无法根据工作流实例的运行状况动态调整配置、控制和数据信息。 2. **适应性差**:随着企业管理模式和组织结构的变化,现有的工作流模型...

    SunFlow工作流用户手册

    工作流引擎是SunFlow的核心组件之一,它负责解释和执行工作流定义。通过定义各种活动和路由规则,工作流引擎能够自动地处理业务流程。 **2.2 界面描述** 工作流引擎的用户界面通常包括以下部分: - **控制台**:...

    轻量级工作流引擎

    标题与描述中的“轻量级工作流引擎”指的是在IT领域中,特别是在企业级应用开发中,用于管理和自动化业务流程的一种高效、灵活且资源占用低的解决方案。这种引擎旨在简化复杂的业务逻辑,通过标准化和自动化的流程...

    wxWinter的开源.net工作流系统帮助文档

    过年了向所有学习WF,关注我的博客的朋友们问个好,发布一个我用WF开发的工作流平台,供大家参考 这个平台适合于以审批为主业务的工作环境,可以做为一个产品直接使用(已有公司在项目中直接使用了这个平台). 这...

    JavaScript写的工作流设计器

    3. **保存与导出**:设计好的工作流可以被保存为XML格式,这是一种结构化的数据交换格式,便于跨平台和系统之间的数据传输。 4. **后台集成**:尽管本设计器的后台默认使用Spring MVC框架,但用户可以根据需要替换为...

    工作流制作过程

    3. **创建工作流服务**: 如果工作流需要与外部系统交互,如Web服务、数据库,可以通过WF创建工作流服务,实现数据的输入输出和业务逻辑的调用。 4. **编译与部署**: 完成设计后,将工作流编译为DLL文件,然后部署到...

    工作流 管理 基础-----

    工作流管理基础是信息化系统中一个关键的概念,它涉及到企业或组织内部的业务流程自动化、优化和监控。本文将深入探讨工作流管理的基础知识,帮助读者理解其核心概念、应用场景以及实现方式。 工作流(Workflow)...

    基于工作流技术的构件模型研究.doc

    工作流技术在软件开发中扮演着重要的角色,特别是在构建能够灵活适应变化的业务流程系统时。基于工作流技术的构件模型研究旨在解决传统构件模型在业务流程建模方面的不足,提高软件复用和流程管理的效率。构件模型是...

    activiti工作流项目

    【标题】"activiti工作流项目"是一个基于Java技术栈实现的工作流管理系统示例,它集成了SpringMVC、Hibernate和Activiti等关键组件。这个项目旨在演示如何在实际应用中利用Activiti来构建动态表单和处理各种流程审批...

    Java 轻量级工作流引擎框架开发文档

    综上所述,Snaker框架提供了一套全面的工具,从流程设计、部署到执行,简化了工作流系统的开发流程,特别适合小型项目或对复杂性要求不高的场景。通过Eclipse插件和Web设计器,开发者可以方便地进行流程设计和管理,...

    .Net中工作流 helper源码

    在.NET框架中,工作流(Workflow)是一种用于构建和执行长期运行、有状态业务流程的编程模型。工作流Helper源码通常包含了一系列辅助类和方法,帮助开发者更方便地管理和操作工作流实例。这些助手类可能包括创建工作...

    《工作流管理技术基础》第五章

    本章节主要介绍了工作流管理系统(Workflow Management System, WfMS)中的关键概念和技术细节,特别是在设计、实施以及管理流程方面的重要考虑因素。通过对这些核心知识点的学习,读者能够更好地理解如何有效地构建...

    ilog-elixir工作流源代码

    ilog-elixir是一款基于Elixir语言的工作流管理系统,它提供了强大的流程定义和执行能力,用于在企业级应用中实现复杂的业务流程自动化。Elixir是一种函数式编程语言,它运行在Erlang虚拟机(BEAM)上,具备高并发、...

    权限管理工作流2018最新版

    《权限管理工作流2018最新版》是一个专注于权限管理的软件系统,它包含了完整的框架源码、数据库架构以及相关的数据脚本,旨在提供高效、安全的权限分配和管理功能。下面将对这个系统的各个组成部分进行详细介绍。 ...

    基于Petri网工作流模型的分析报告.doc

    总的来说,基于Petri网的工作流模型分析是一种强大的工具,它能够深入理解流程的动态行为,检测潜在的问题,并支持流程优化。通过将复杂的业务流程抽象为简洁的Petri网模型,可以更直观地理解和改进流程设计,从而...

    雨田静态分析系统V1.1

    控制流分析是静态分析的核心部分,它研究程序中各个语句的执行顺序,通过构建控制流图(CFG)来理解函数或整个程序的控制流程。雨田系统能够显示每个函数的控制流图,这使得开发者可以直观地看到程序的逻辑结构,找...

Global site tag (gtag.js) - Google Analytics