`
daniel_tu
  • 浏览: 185334 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

工作流引擎

阅读更多

工作流引擎是 BOS 系统的一个重要组件。 它可以根据客户具体的业务逻辑,来定义工作流模型。 整个应用程序就根据所定义的流程来运行。 它把应用系统模块和工作流程分开。 当流程发生变化,只需修改流程模型, 具体的应用程序无需修改。

  参考wfmc 标准,我们把工作流分成几个模块。

  1. 流程定义模型

  2. 用户端

  3. 工作流引擎

  4. 建模工具

  5. 组织架构

  在虚线框中代表工作流的服务器端。 它对于用户是透明的。 用户通过工作流引擎所提供的客户端来对工作流引擎进行操做。 客户端包括建模工具,管理工具和任务列表。

      各模块之间的关系如下图:

  

  工作流的操作可以分为,建模阶段(Process Design&Definition)和运行阶段(Run Time). 运行阶段又可分为工作流引擎端和客户端。

  客户首先通过建模工具,建立一套工作流的模型定义(Process definition)。 工作流引擎(Workflow Enactment Service)根据模型所提供的信息,把具体任务交给用户来完成。 用户在登入后,会发现有一项新的任务在他的任务列表中。在他选择执行后,预先设定的应用程序将被激活。在执行应用程序的过程中,所调用的应用程序会和工作流引擎交换数据。告诉工作流引擎目前运行的状态。当他完成任务后,工作流引擎得到反馈,将按流程把任务交给下一个人,直到完成整项工作。

  

  我们将通过一个简单的例子,来解释工作流引擎的作用

  

  上面是一个假想的销售流程图。任何工作流程图都包含起始节点和结束节点。 起始节点可以是单独的一个节点,也可以隐含在一个任务节点中。 在上图中,线索就是一个?鹗冀诘恪S没У玫揭桓鱿咚骱螅谝徊绞鞘淙胂咚鳌? 因为下一步是和客户联系(contact customer),需要由销售代表来完成, 而销售代表(sales rep)有多个,工作流引擎将把任务分配给销售部的经理。 由销售部经理把任务分配给某个销售代表。 这个销售代表就会在他的任务列表中看到这个任务。 当他联系了客户后,发现这个客户有可能买我们的产品,就把相关信息输入到数据库重。结束了这个环结的工作。 工作流引擎就会把任务传给下一个环节。 如果客户不感兴趣,就转移到结束节点。 此工作流程就结束。

  下一个环节是建立销售计划(sales plan),需要市场部经理来做。 因为市场部经理只有一个,就把任务直接分配给市场部经理(marketing manager)。 Marketing manager 做出销售计划后,需要公司的CEO 和CFO来审批。 当两位经理都对此做出审批后,将把信息反馈到 sales manager. 假设CEO 的评审没有通过,销售经理需要修改 sales plan, 再进行审批,直到通过为止。 下一个环节是拜访客户。 如果一切顺利,就可得到定单,整个流程结束。 以上的例子是一个假想的例子, 但它反映了工作流引擎的一些重要功能

  1. 用户看到的只是自己的任务列表。 当他完成了这项任务后,由工作流引擎根据流程,把任务分配给下一个环节的负责人。

  2. 每一个任务都由一个角色来完成,由工作流引擎,根据组织架构,决定具体由谁来做。

  3. 有些过程(审批)需要重复进行,直到通过。

  4. 有些过程 (审批)需要所有的前置任务(CEO review, CFO review)都完成,才进入下一个阶段。

  5. 有些过程不需要人来操作,比如,审批节点自动等待 CEO和CFO 都审批完后,把结果反馈到市场部经理。

  工作流引擎对于用户来说是透明的,用户通过它的客户端来对它进行操作。 客户通过建模工具来建立模型,通过任务列表来知道自己当前的任务。通过管理工具来对工作流程进行维护。

分享到:
评论

相关推荐

    工作流引擎平台解决方案

    工作流引擎平台解决方案 工作流引擎平台解决方案是企业业务流程自动化的基础平台产品核心产品,旨在帮助企业实现业务流程自动化和流程再造。该解决方案由三个阶段组成:模型建立阶段、模型实例化阶段和模型执行阶段...

    c#编写的工作流引擎

    工作流引擎是一种软件系统,它负责管理和自动化组织内的业务流程。在C#中编写工作流引擎,可以利用.NET Framework或.NET Core提供的丰富的类库和工具,实现高度灵活和可扩展的流程控制。本文将深入探讨C#实现工作流...

    用C#做的工作流引擎

    工作流引擎是一种软件系统,它负责管理和自动化一系列业务流程,使得组织能够按照预定义的规则和步骤高效地处理任务。在本项目中,"用C#做的工作流引擎"是利用C#编程语言构建的,这表明开发人员利用了C#的强大功能和...

    工作流引擎原理EOS工作流引擎工作原理

    工作流引擎是现代企业信息化系统中的重要组成部分,它负责自动化执行一系列业务流程,使得复杂的业务逻辑得以顺畅运行。本文将详细探讨EOS工作流引擎的工作原理,包括其核心调度算法、事件类型、事件调度机制以及...

    php工作流引擎,可视化设计,兼容PHP8

    在IT领域,工作流引擎是一种用于自动化业务流程的软件系统,它可以帮助企业或组织实现复杂的业务逻辑和审批流程。PHP工作流引擎就是基于PHP编程语言实现的这种工具,旨在为PHP开发者提供一种高效、灵活的方式来设计...

    基于关系数据库的工作流引擎设计与实现

    ### 基于关系数据库的工作流引擎设计与实现 #### 引言 随着信息技术的发展,工作流管理系统(Workflow Management System, WfMS)已经成为优化业务流程的重要工具之一。工作流是指一系列相互关联的活动,这些活动...

    工作流引擎资源 12个文件

    基于工作流引擎的构件组装体系结构.pdf 321 KB 基于关系结构的工作流引擎.doc 674 KB 基于关系结构的轻量级工作流引擎.pdf 225 KB 基于关系数据库的工作流引擎设计.doc 118 KB 介绍一款工作流引擎设计思路.doc 23 KB...

    几种开源工作流引擎的简单比较

    开源工作流引擎的比较 开源工作流引擎是指使用开源许可证的工作流引擎,它们通常具有灵活、可扩展、可定制等特点。目前市场上有多种开源工作流引擎,下面我们将比较其中几种流行的开源工作流引擎。 1. JBPM JBPM...

    开源工作流引擎Asp.ne源码 表单引擎+流程引擎+权限控制

    开源工作流引擎Asp.net源码是开发人员用于构建企业级业务系统的重要工具,它集成了表单引擎、流程引擎和权限控制等关键模块,旨在提高应用系统的灵活性、可扩展性和安全性。以下将详细阐述这些核心组件及其在实际...

    SpringBoot+Vue3快速开发平台、自研工作流引擎

    《SpringBoot+Vue3快速开发平台与自研工作流引擎详解》 在现代软件开发领域,SpringBoot和Vue3已经成为构建高效、灵活的Web应用的首选框架。本平台结合这两者的优势,为开发者提供了一个快速开发环境,同时融入了自...

    工作流引擎 Snaker

    工作流引擎Snaker是一款强大的流程自动化工具,专为企业的业务流程管理设计。它提供了一种灵活、可扩展的方式来实现各种复杂的工作流程,从而提高工作效率,规范业务操作,并确保企业内部的流程符合法规要求。在本篇...

    Java四大主流开源工作流引擎分析Shark,osworkflow,jbpm,jflow

    Java平台上的工作流引擎在企业级应用中扮演着至关重要的角色,它们帮助企业自动化业务流程,提高效率。本文将深入分析四个主流的开源工作流引擎:Shark、osworkflow、jbpm和jflow。 首先,Shark是Enhydra项目的一...

    基于自研的流程设计器 + 自研后端Java工作流引擎,组成了一套纯JSON数据交互的自研工作流引擎系统 +工作流管理系统

    JsonFlow工作流基于自研的流程设计器 + 自研后端Java工作流引擎,组成了一套纯JSON数据交互的自研工作流引擎系统 + 工作流管理系统。本系统无论前端还是后端,其学习成本明显低于开源工作流引擎及附带流程设计器,...

    基于Django框架的loonflow工作流引擎设计源码

    该项目是一款基于Django框架构建的工作流引擎源码,涉及Python、JavaScript、CSS等多种编程语言。项目文件总计2491个,其中包含759个png图片、739个svg图形、382个js脚本、106个less样式表、99个css样式文件、63个...

    工作流引擎详解

    工作流引擎,作为现代企业信息化建设中的重要组成部分,其核心价值在于优化业务流程,提高工作效率,增强业务灵活性。本文将深入解析工作流引擎的概念、作用、必要性以及以JBPM为例的工作流引擎如何具体应用于请假...

    工作流引擎的设计与实现

    工作流引擎是企业信息化管理和办公自动化系统中的核心组件之一,它能够根据预定义的规则自动执行任务,提高业务流程的效率和标准化程度。在给定的文件中,提到了工作流引擎的设计与实现,具体基于Java语言进行开发,...

    工作流引擎的选择

    工作流引擎是企业信息化系统中不可或缺的部分,它们用于自动化和管理复杂的业务流程。在这个话题中,我们将探讨工作流引擎的选择,特别是对比jBPM3与其他更现代的工作流引擎,如jBPM4、jBPM5和Activiti5。 jBPM3是...

    基于SpringBoot+Vue3快速开发平台、自研工作流引擎源码设计.zip

    【标题】"基于SpringBoot+Vue3快速开发平台、自研工作流引擎源码设计" 涵盖了两个主要的技术栈:后端的Spring Boot框架和前端的Vue.js 3框架,以及自研的工作流引擎。这个项目可能是为了提供一个高效、便捷的开发...

    C#工作流引擎源码(绝对好!!)

    工作流引擎是软件系统中用于自动化业务流程的关键组件,它能够根据预定义的规则和步骤协调应用程序中的任务和活动。在C#编程语言中,工作流引擎提供了强大的工具和技术来设计、执行和管理复杂的业务流程。本文将深入...

Global site tag (gtag.js) - Google Analytics