企业级工作流引擎概述

合集下载

工作流引擎介绍工作流引擎技术架构

工作流引擎介绍工作流引擎技术架构

工作流引擎介绍工作流引擎技术架构工作流引擎是一种将工作流程转换为计算机可执行的流程的软件系统。

它允许用户通过图形化界面设计工作流程,并通过规则引擎和执行引擎实现工作流程的自动化执行和管理。

工作流引擎的设计是基于商业流程管理(BPM)理念的,它提供了一种能够将工作从一个任务转移到另一个任务的方式,从而提高工作效率和效果。

2.规则引擎:用于根据定义的规则和条件来自动决策工作流程中的走向和下一步操作。

规则引擎通常基于一套规则语言或表达式,可以动态地调整和优化工作流程的执行。

3.执行引擎:负责实际执行和管理工作流程。

执行引擎根据工作流程定义的顺序和条件,逐步执行工作流程的各个步骤,并将结果传递给下一步骤。

4.通信接口:用于与其他系统或应用程序进行交互。

通信接口可以接收和发送消息、数据和事件,从而实现工作流程与外部系统的集成和交互。

5.监控和报告模块:用于实时监控和跟踪工作流程的执行情况,并生成相应的报告和统计数据。

监控和报告模块可以显示工作流程的进度、延迟、错误和资源利用等信息。

6.安全和权限控制:用于管理和控制工作流程的访问权限和安全性。

安全和权限控制模块可以限制用户对工作流程的访问和操作,确保只有经过授权的用户才能执行和管理工作流程。

2.定义规则和条件:使用规则引擎定义工作流程中的规则和条件,以实现自动决策和分支。

3.配置和集成外部系统:使用通信接口将工作流程与其他系统或应用程序进行集成,以实现数据和消息的交换和共享。

4.执行和管理工作流程:使用执行引擎逐步执行和管理工作流程的各个步骤,并将结果传递给下一步骤。

5.监控和报告工作流程:使用监控和报告模块实时监控和跟踪工作流程的执行情况,并生成相应的报告和统计数据。

1.业务流程管理:工作流引擎可以用于自动化和管理各种业务流程,如销售、采购、审批、投诉处理等。

它可以帮助企业提高工作效率和质量,并加快决策和执行速度。

2.工作协同和协作:工作流引擎可以用于协调和协作多个部门或团队之间的工作,如项目管理、文档审批、会议安排等。

流程引擎详细描述

流程引擎详细描述

流程引擎详细描述一、什么是流程引擎?流程引擎(Process Engine)是一种软件技术,它提供一系列的逻辑和方法,用于管理业务流程的各个方面。

其主要功能是对流程进行控制、执行、监测和管理,帮助企业提升流程质量和效率。

二、流程引擎的原理流程引擎是基于工作流技术构建的。

其基本原理是将企业的业务流程抽象成一系列的节点和连线,并根据业务规则设置节点的执行条件,然后将其以逻辑图的形式表示出来。

之后,根据流程引擎的逻辑和规则,执行实际的业务流程。

三、流程引擎的组成流程引擎主要由以下几个组成部分构成:1. 流程设计器(Process Designer)流程设计器是用来设计流程图的工具,它通常提供了一系列的节点、连线和规则,方便用户从画布中拖拽出工业流程图。

此外,流程设计器还可以支持对节点属性、流程变量、流程规则等信息的配置,以便流程引擎在执行时准确理解和执行业务流程。

2. 流程管理器(Process Manager)流程管理器是负责流程引擎的运行和管理的核心模块。

它通常包含了流程调度、流程执行、数据管理等功能,并且可以轻松地控制和监测所有流程的执行情况和性能指标。

3. 流程执行引擎(Process Execution Engine)流程执行引擎负责将流程图的节点和规则翻译成计算机可以执行的代码,并将其按照流程图的指示进行执行,实现业务流程的自动化。

4. 流程监测器(Process Monitor)流程监测器可以帮助用户对流程进行监测和分析。

它可以提供实时的流程状态和各种报表图表,方便用户获得流程运行情况,识别流程瓶颈和优化业务质量。

四、流程引擎的优势1. 流程可视化。

流程引擎允许用户将业务流程可视化,在不同节点添加详细的信息和注释。

这种可视化的方式更加直观、易于理解和操作。

2. 流程自动化。

流程引擎帮助企业实现了业务流程的自动化。

这样可以减少错误、提高工作效率,同时,流程引擎还可以通过规则和规范对流程进行监控,从而能够更好地保障业务流程的结果。

bpm 流程引擎 相关概念-概述说明以及解释

bpm 流程引擎 相关概念-概述说明以及解释

bpm 流程引擎相关概念-概述说明以及解释1.引言1.1 概述概述在当今数字化时代,企业面临着日益复杂的业务流程和信息交互,如何高效地管理和优化这些流程变得至关重要。

业务流程管理(BPM)作为一种管理方法和技术工具,帮助企业对其业务流程进行建模、执行、监控和优化,从而提高组织的效率和灵活性。

流程引擎作为BPM系统的核心组件之一,通过将业务规则和流程模型整合在一起,实现了自动化的业务流程执行和监控。

它提供了一个可视化的界面,让企业用户能够方便地创建、修改和部署业务流程,使得企业能够更加灵活地应对市场变化和客户需求。

本文将深入探讨BPM流程引擎的相关概念,包括BPM的定义、流程引擎的作用以及不同类型的BPM流程引擎分类,旨在帮助读者更好地了解和应用BPM流程引擎技术,提升企业的竞争力和创新能力。

1.2 文章结构本文主要分为引言、正文和结论三部分。

在引言部分,将对BPM流程引擎相关概念进行概述,介绍文章的结构和目的。

在正文部分,将深入探讨BPM概念、流程引擎的作用以及BPM流程引擎的分类。

最后,在结论部分,对文章进行总结,展望BPM流程引擎的应用前景,并提出结语。

通过这样的结构安排,将有助于读者全面了解BPM流程引擎的相关概念,以及其在实际应用中的重要性和发展趋势。

1.3 目的本文的目的是介绍与讨论BPM流程引擎相关概念,以帮助读者更好地理解和认识BPM流程引擎的基本原理、作用和分类。

通过对BPM概念、流程引擎作用和分类的探讨,读者可以深入了解BPM流程管理技术在企业中的重要性和应用价值,同时也可以为读者提供在实际业务应用中选择适合的流程引擎提供一定的借鉴和参考。

希望本文能够帮助读者更好地理解BPM流程引擎,为企业管理和业务流程优化提供一定的指导和帮助。

2.正文2.1 BPM概念:BPM全称为Business Process Management,即业务流程管理。

BPM是一种通过对业务流程进行建模、分析、优化和监控的方法,以实现业务效率和质量的持续改进。

工作流引擎介绍

工作流引擎介绍

工作流引擎介绍咨微ZW-OBPS业务平台Ziwei-operation brace plane system(以下简称ZW-OBPS)是公司经过10年的研发,以软件构件引擎为核心,采用以业务流程驱动,面向服务(SOA)的基础应用框架技术,构建通用业务支撑开发平台,使业务开发从事务对象开发转变面向配置开发的质变模式,为您“随需应变”和“量身定制”,实现业务系统建设的高效率、高品质、低难度、低成本的实施和开发模式。

咨微OBPS业务平台有四大引擎组成:业务集成整合引擎、流程引擎、业务系统开发引擎、文档知识管理引擎。

1.流程引擎功能综述流程是公司管理(人才、流程、知识、资金)的四大要素之一,是企业组织架构的体现,是企业管理制度及管理思想的表现。

如公司的费用审批需要部门经理、财务主管、副总、总经理审批,具体要到那一级审批是公司的管理制度规定的。

管理制度是企业中最为复杂文档,涵盖企业管理每一个方面,如资金管理、薪资管理、考核管理、计划管理、文档管理等等。

流程审批分为两大类:行政办公流程和业务处理流程。

行政办公流程各行业各公司有比较大的共性,如人事审批类流程、财务类审批流程、办公类审批流程、销售类审批流程;业务处理流程各公司相差很大,不同的业务处理方式不同,流程复杂,会与各种业务系统进行数据的交互,对数据的展示和数据处理能力要求高。

咨微流程引擎提供可视化流程、表单统一的设计工具,以有向图方式设计各种类型的表单,控制各节点数据采集和流程的处理,实现包括公文、业务的各种过程控制;提供标准的组件开发接口;使用二次开发函数实现与业务系统的数据动态交互。

流程引擎覆盖了符合中国用户特点的政府、企业事业单位和专业领域工作流业务系统的需求。

基于平台无关性和XML的工作流引擎适合不同行业用户、不同类型的应用系统。

2.咨微流程引擎特点1)强大的自定义功能:企业很方便的定制与业务规则一致的工作流程,流程将按照业务规则进行流转。

自定义功能有审批表单、流转控制和权限控制。

工作流引擎(Workflow Engine )

工作流引擎(Workflow Engine )

工作流引擎(Workflow Engine )所谓工作流引擎是指workflow作为应用系统的一部分,并为之提供对各应用系统有决定作用的根据角色、分工和条件的不同决定信息传递路由、内容等级等核心解决方案。

工作流引擎(Workflow Engine )什么是工作流引擎(Workflow Engine )例如开发一个系统最关键的部分不是系统的界面,也不是和数据库之间的信息交换,而是如何根据业务逻辑开发出符合实际需要的程序逻辑并确保其稳定性、易维护性(模块化和结构化)和弹性(容易根据实际业务逻辑的变化作出程序上的变动,例如决策权的改变、组织结构的变动和由于业务方向的变化产生的全新业务逻辑等等)。

Workflow 引擎解决的就是这个问题:如果应用程序缺乏强大的逻辑层,势必变得容易出错(信息的路由错误、死循环等等)。

就好比一辆汽车,外表做得再漂亮,如果发动机有问题就只是一个摆设。

应用系统的弹性就好比引擎转速方面的性能,加速到100 公里需要1 个小时(业务流程发生变动需要进行半年的程序修改)还能叫好车吗?引擎动不动就熄火(程序因为逻辑的问题陷入死循环)的车还敢开吗?工作流解决方案与传统管理软件的关系传统的管理软件注重解决企业应用层现存的问题(例如提高企业的资源配置率或提高单一员工的生产效率)。

例如:EXCEL 可以提高员工画表格的效率、财务软件可以规范财务人员的工作并提高账目查询的效率、CRM 可以规范客户管理从而使客户资源掌握在公司手中而不是被一部分业务人员把持并提高客户响应时间、ERP 解决的是如何配置企业资源:使企业的人力资源、财力资源和物资资源能够根据业务的需求实现最大化配置。

workflow 关注的是如何缩短流程闲置时间,从而提高企业的业务处理能力并使企业能够关注于真正对企业有意义的增值业务上。

从建立企业神经系统的角度也许更能理解两者的区别。

传统软件不能解决工作流的问题,例如ERP 关注的是企业的资源配置,但不可能解决资源传输过程中的损耗和降低传输(流程)的成本;同样workflow也不能完全解决传统管理软件所能解决的问题,例如对生产管理的MRP 系统所能解决的生产过程控制通过workflow很难实现。

BPM流程引擎介绍

BPM流程引擎介绍

BPM流程引擎介绍BPM流程引擎(Business Process Management,简称BPM)是一种用于管理和执行业务流程的软件工具。

它通过自动化和集成业务流程,帮助企业优化运营效率、降低成本和提升客户满意度。

BPM流程引擎可以跟踪和监控业务流程中的每个步骤,并提供实时的可视化和报告。

BPM流程引擎的核心功能包括流程建模、流程执行和流程优化。

首先,流程建模是指将业务流程从实际操作中抽象出来,并以图形化的方式呈现。

这样做的好处是可以更直观地理解和分析业务流程,并在需要时进行修改和优化。

流程建模可以通过拖拽和连接工作流元素来完成,通常支持BPMN(Business Process Model and Notation)标准。

其次,流程执行是指根据已建模的业务流程实际运行企业的业务流程。

BPM流程引擎可以自动执行流程中的每个步骤,并提供任务分配、通知和协作等功能。

通过集成系统和应用程序,BPM流程引擎可以自动触发和处理相关的业务操作。

例如,在一个采购流程中,BPM流程引擎可以自动发送采购订单给供应商,并跟踪订单的状态和交货日期。

最后,流程优化是指通过分析和改进业务流程,实现企业运营效率的提升。

BPM流程引擎可以收集和整理大量的流程执行数据,并进行分析和报告。

这些报告可以用于发现瓶颈和优化机会,从而改进业务流程,提高生产效率。

此外,BPM流程引擎还可以提供实时的监控和控制,以确保业务流程按照预期方式运行。

除了核心功能,BPM流程引擎通常还提供其他辅助功能,例如表单设计、权限管理和任务调度等。

表单设计功能可以帮助用户创建自定义的表单,以便在业务流程中收集和显示数据。

权限管理功能可以控制用户对业务流程的访问权限,以确保数据的安全和合规性。

任务调度功能可以自动分配和调度相关的任务,以提高任务的执行效率。

在选择BPM流程引擎时,需要考虑以下几个因素。

首先是可扩展性和定制性。

BPM流程引擎应该具有良好的可扩展性,以适应不断变化的业务需求。

activiti工作流引擎

activiti工作流引擎

activiti工作流引擎Activiti工作流引擎。

Activiti是一个轻量级的工作流引擎,它是一个开源的BPM(Business Process Management)平台,用于管理和执行业务流程。

Activiti工作流引擎可以帮助企业实现业务流程的自动化和优化,提高工作效率,降低成本,增强业务的灵活性和可控性。

Activiti工作流引擎具有以下特点:1. 灵活性,Activiti支持各种类型的业务流程,包括顺序流程、并行流程、循环流程等,可以根据企业的实际需求定制各种复杂的业务流程。

2. 可扩展性,Activiti提供了丰富的API和插件机制,可以方便地扩展和定制各种功能,满足企业特定的业务需求。

3. 可视化,Activiti提供了流程设计器,可以通过图形化界面设计和编辑业务流程,使业务流程的设计和管理变得更加直观和方便。

4. 高性能,Activiti采用了轻量级的架构设计,具有高性能和低资源消耗的特点,可以满足企业大规模业务流程的需求。

5. 安全性,Activiti提供了完善的安全机制,包括用户认证、授权管理等,保障业务流程的安全性和可靠性。

使用Activiti工作流引擎可以带来以下好处:1. 自动化流程,通过Activiti工作流引擎,企业可以将繁琐的业务流程自动化执行,减少人工干预,提高工作效率。

2. 优化资源配置,Activiti工作流引擎可以根据业务流程自动分配资源,合理利用企业的人力和物力资源,降低成本。

3. 实时监控,Activiti工作流引擎提供了实时监控和报表功能,可以随时了解业务流程的执行情况,及时发现和解决问题。

4. 灵活调整,Activiti工作流引擎可以根据业务需求灵活调整业务流程,适应企业不断变化的业务环境。

5. 提升管理水平,通过Activiti工作流引擎,企业可以实现业务流程的标准化和规范化管理,提升管理水平和业务质量。

总之,Activiti工作流引擎是一个功能强大、灵活性高、性能优越的工作流引擎,可以帮助企业实现业务流程的自动化和优化,提高工作效率,降低成本,增强业务的灵活性和可控性。

flowable 模块介绍 -回复

flowable 模块介绍 -回复

flowable 模块介绍-回复Flowable 模块是一个用于企业级流程管理和业务流程自动化的开源工作流引擎。

它使企业能够通过可视化建模、部署和执行流程来管理和优化业务流程。

Flowable模块由一系列紧密耦合的组件组成,包括流程引擎、表单引擎、决策引擎和规则引擎等。

流程引擎是Flowable模块的核心组件之一,它为用户提供了一个强大的工具,用于开发和管理复杂的工作流程。

流程引擎是基于BPMN 2.0(Business Process Model and Notation)规范实现的,它支持流程的可视化建模、部署和执行。

用户可以使用流程引擎来定义流程的各个节点和流转规则,以及指定流程中的各种操作和条件。

Flowable的流程引擎还支持多种扩展和自定义机制,使用户能够根据自己的需求进行灵活的定制和拓展。

表单引擎是Flowable模块的另一个重要组件,它允许用户设计和使用各种类型的表单,以便与流程引擎进行交互和集成。

表单引擎支持多种表单类型,包括HTML表单、移动设备表单和动态表单等。

用户可以使用表单引擎来创建和编辑表单模板,并将其与流程引擎集成,以便在流程的各个节点上展示和收集必要的数据。

Flowable的表单引擎还提供了丰富的表单验证和数据处理功能,使用户能够轻松地实现复杂的表单逻辑和数据操作。

决策引擎是Flowable模块的第三个重要组件,它允许用户使用规则引擎和决策表来制定和执行业务规则。

决策引擎可以根据用户定义的规则和条件来自动执行相应的操作,以实现自动化的业务决策。

Flowable的决策引擎采用了基于规则的推理引擎,它提供了灵活的规则定义和执行机制,使用户能够快速部署和调整复杂的业务规则。

规则引擎是Flowable模块的最后一个核心组件,它提供了一种方便和可扩展的方式来定义和执行业务规则。

规则引擎支持多种类型的规则,包括业务规则、决策表和规则流程等。

用户可以使用规则引擎来制定和管理复杂的规则集合,并将其应用到不同的场景和业务流程中。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

的信息作为日志记录到历史记录表中。

如果这个流程是一个子流程,还需要将其结束的信息通知其父节点。

其具体的实现算法描述如下:EndManage (NodeID ,FlowID ,InstanceID )BeginIf (GetFlowType (FlowId ,InstanceID )=FlowType .SubFlow )//如果这个流程是子流程FlowClass=GetFatherFlowInfo (FlowID ,InstanceID )//得到FlowID 对应的父流程的属性TaskScheduler (FlowClass .NodeID ,FlowClass .FlowID ,FlowClass .InstanceID )//调用父流程的任务调度处理模块End IfSaveFlow (NodeID ,FlowID ,lnstanceID )//保存此流程实例的相关信息End3结束语工作流引擎是根据过程模型来推进过程的执行,并给相应的人员分配任务,从而达到提高工作效率的目的,它为系统提供一系列的服务,以实现系统的具体应用。

本文采用面向对象的分析方法,借助于.net 的环境,探讨了工作流引擎技术,充分体现了引擎技术在系统开发过程中的重要性。

参考文献:[1]许悦珊.嵌入式工作流引擎的设计与应用[J ].计算机时代,2009(1).[2]程旭,侯开虎,李长征.一个简易工作流引擎的设计与实现[J ].现代制造工程,2008(2).[3]徐铁,夏秀燕.轻量级工作流引擎的研究与实现[J ].信息技术,2009(2).(责任编辑:卓光)企业级工作流引擎概述杨寅菊(南通市中等专业学校计算机专业部,江苏南通226011)摘要:企业内部的大部分应用通过工作流来完成,而且流程复杂、环节较多,并有开发时间较长、维护难度大等特点。

对工作流引擎及工作流模型进行了详细的分析和探讨。

关键词:Domino ;工作流引擎;工作流中图分类号:TP751文献标识码:A文章编号:1672-7800(2009)12-0014-031工作流引擎概述1.1工作流致力于工作流管理标准化的国际性组织———工作流管理联盟(WfMC )为工作流做了这样的定义:工作流是一类能够完全或者部分自动执行的经营过程,它根据一系列过程规则、文档、信息或者任务能够在不同的执行者质检进行传递与执行。

图1工作流参考模型图1是WfMC 给出的工作流参考模型。

它指出了5类接口。

接口1:工作流服务和工作流建模工具间接口,包括工作流模型的解释和读写访问;接口2:工作流服务和客户应用之间的接口,这是最主要的接口规范,它约定所有客户方应用和工作流服务之间的功能访问方式;接口3:工作流机和应用间的直接接口;接口4:工作流管理系统之间的互操作接口;接口5:工作流服务和工作流管理工具之间的接口。

1.2工作流引擎从上面的工作流参考模型我们可以看出,工作流引擎要衔接各个接口的工作,在工作流模型中处于核心的地位,是工作流的重要组成部分。

一个典型的工作流引擎大致应提供以下功能:①解释流程定义;②对流程实例进行控制———启动、激活、挂起、终止等等;③流程活动间的导航,应当包含串行或并行的流转、截止时间表、工作流相关数据的解释等等;④特殊参与者的加入或退出;⑤确定用户关心的工作项目和支持用户交流的作者简介:杨寅菊(1973-),女,江苏海门人,南通市中等专业学校计算机专业中学一级教师,研究方向为计算机应用。

软件导刊Software Guide第8卷%第12期2009年12月Vol.8No.12Dec.2009第12期接口;⑥维护工作流的控制和相关数据,接收或者发送工作流相关数据到应用程序或用户;⑦发起外部应用程序或链接任何其他工作流相关数据的接口;⑧监督控制和管理工作流的活动,检查目的活动。

2工作流模型分析工作流通过人、业务规则和信息对象之间的相互作用完成特定的业务目标,它是根据业务规则路由工作以及按个人在组织中的职位或功能角色分派工作的方法和方式。

应用工作流的目的就是让人们能够在“正确的时间,正确的地点,由正确的人员做正确的事”。

说的简单一点,工作流就是将信息在正确的时间内送到正确的人手中,这个人处在正确的工作环节,由他来对信息进行正确的处理。

这4个正确的要求,构成了对信息处理的一个约束,我们把这个约束称为“活动”。

活动是包括了对人、时间、信息处理的综合概念。

所以工作流可以再抽象成为信息依据规则在活动之间流动。

从开发的角度,有两个关键的处理要素:活动、路由。

2.1活动从前面的分析,我们可以知道活动的3要素:人、时间和信息处理。

2.1.1人人指的是要有正确的人来处理信息。

因为所有的信息都要由人来处理,所以人是工作流应用中最重要的要素。

在工作流中的人员不仅仅是作为个体的人,更多的是作为组织中和他人存在依存关系的社会人。

可能是一个工作岗位———管理财务的经理,可能是一种关系———我的主管,可能是一种角色———信息技术部秘书。

如何获得这些正确的人是工作流应用的一个重点难点。

2.1.2时间活动就是工作流应用中的操作环节,涉及到如何处理正确及时的信息。

一个得到正确处理的活动,要求对信息处理正确完整,还有一个重要的内容就是要求对信息处理及时。

对工作流应用中的每一个活动一般都有很明确的时间上的要求。

2.1.3信息处理按照对信息处理的要求不同,我们可以将活动分成4种:普通活动、串行活动、并行活动和灵活活动。

(1)普通活动。

普通活动指的是那些只有一个步骤的活动。

这种活动,在它的内部没有其他更小的活动,只要一个操作就可以完成整个活动。

(2)串行活动。

串行活动指的是在活动的内部存在着一连串更小的活动,这些更小的活动有一定的顺序,由不同的人员依次执行,只有当所有的这些更小的活动都执行完成后,信息才能流转到后续活动,串行活动也可以叫做顺签活动。

(3)并行活动。

并行活动指的是在活动的内部存在很多个更小的活动,这些更小的活动之间没有逻辑上的先后关系,可以由不同的人员同时执行,只有当所有的这些更小的活动都执行完成了,信息才能流转到后续活动,并行活动也可以叫做会签活动。

(4)灵活活动。

灵活活动是串行活动和并行活动的综合体,它可以同时是并行活动,也可以是串行活动。

灵活活动还有其他的附加要求。

2.2路由路由是工作流应用中最核心的机制之一,因为它关系到一个工作流应用能否正确地完成。

只要有一次路由不正确,工作流就不能正确地完成。

路由也是工作流应用中最有难度的工作之一。

因为不同的工作流应用对应的路由情况是非常非常多的,下面我们粗略地分析一下工作流路由可能的情况。

信息的流动按流动的方式分为单线程流动和多线程流动,按先后活动的关系可分为一对一流动、一对多流动、多对一流动。

这两种分类构成工作流应用的基本方面,再复杂的工作流应用也可以由它们来组成。

下面我们分别讨论一下这两种分类的情况。

2.2.1流动方式(1)单线程流动。

单线程流动是工作流最常见的流动方式,即应用在一个工作流里面就可以完成,不和其他工作流发生关系。

它的形式如图2所示。

图2单线程流动当然,现实中的单线程流动并不会如同图示的那么简单,大部分的工作流应用要比图2所示的复杂得多。

很多很复杂的工作流,涉及数百个活动,它们本质上可能还是单线程流动。

(2)多线程流动。

多线程流动在工作流应用中有很广泛的适用范围。

在实际工作中,各种应用总是存在着或多或少的关系,其中有一种关系就是当某个活动发生时会导致另一个应用发生,这就是多线程流动。

它的形式如图3所示。

图3多线程流动2.2.2先后活动的关系信息总是在活动中流动,从一个活动到另一个活动,所以工作流应用最关心的一个问题便是信息如何流转到它的后一个活动。

(1)一对一流动。

一对一流动是两活动信息流动关系中最简单的一种,它只将信息流动到后续的一个活动中去。

它有两种可能的情况:一种是后续活动本身就只有一个,这种情况最简单;还有一种情况是后续活动本身有多个,但受条件的限制在同一时刻只能有一个后续活动会发生。

如图4所示。

图4一对一流动杨寅菊:企业级工作流引擎概述15··2009年软件导刊(2)一对多流动。

一对多流动就是将信息流动到多个后续活动中去。

它也有两种情况:一种是其所有的后续活动都要接收信息;还有一种情况是在一个活动的所有后续活动中,只有符合条件的多个后续活动才接收信息。

其形式如图5所示。

图5一对多流动(3)多对一流动。

多对一流动就是将多个活动中信息流到一个活动中,它本质上就是信息的合并。

它的形式如图6所示。

图6多对一流动从先后活动的关系还可以引申出路由的方向问题。

在实际的工作流中,就会存在很多其他方向的流动。

2.2.3路由决策从先后活动的关系还可以引申出路由的选择问题。

信息为什么流转到这个活动,而不是另一个活动,是由一定的条件决定的。

其中的一个条件就是用户的决策,用户觉得该怎么流动,信息就怎么流动。

用户在决策时,会有一定的选择供用户决策。

在一个系统中至少应该存在以下4种不同的决策方式:①不决策:这种决策选择的意思是说在路由过程中,用户不进行决策;②排他性决策:这种决策选择,它的选项是互斥的,用户只能选择其中的一项;③选择性决策:这种决策选择,它的选项并不互相排斥,用户可以选择其中的一项或者多项;④复杂选择:这种决策选择,就不是排他性决策或者条件决策那么简单了,它是两者的组合。

首先是排他性决策,每个排他性决策可能对应一个选择性决策。

为什么需要有这么一种选择方式呢?我们可以来看一个具体的例子:图7选择在这个例子中,选择是十分清楚的。

如果,用户决策“通过”,那么还有3种选择:直接通过、法律审核和领导审核。

如果,用户决策“不通过”,那么就是不通过。

这种组合选择的方式在实际应用中是非常多的,用户的选择也是非常的直观。

如果采用其他方式变通而来的话,其选择就很不直观,对用户也是非常的不友好。

就一上面这个例子来说明,如果采用变通,它的选择将会是怎样的一个局面。

图8不采用复杂选择时这就是不采用复杂选择时的情况,十分之糟糕。

上例中的情况,还只是最简单的,如果再复杂的情况,那么选择的选项就将以指数上升,这是不能容忍的。

所以,在工作流中,必须采用复杂选择。

2.2.4分发与合并从一对多和多对一的流动方式还会牵涉到信息和并的问题。

信息经过分发自然就会有合并的要求。

分发和合并也是工作流应用的难点之一。

(1)分发。

将一份信息分成多份,经由不同的路由,由不同的人员进行分别处理,这就是分发。

分发从涉及的流程上分有两种:流程内分发、流程外分发,从复杂程度上也有两种:单级分发和多级分发。

(2)合并。

分发后需要做的就是合并信息。

由于合并是分发的逆过程,所以它的分类也和分发一样,按涉及的流程分:流程内合并、流程外合并,按复杂程度分:单级合并、多级合并。

相关文档
最新文档