传统ERP为制造业企业产供销人财物的管理提供了一整套优化企业资源利用,集物流、信息流、资金流为一体的现代化管理工具。但是它在过程集成和企业间集成方面存在不足。具体表现在:

 
 1.传统ERP是一个面向功能的事务处理系统。它为业务人员提供了丰富的业务处理功能,但是每个业务处理都不是孤立的,它一定与其他部门、其他人、其他
事务有关,这就构成了一个业务流程。传统ERP对这个业务流程缺乏有效的控制和管理。许多流程是由人工离线完成的。ERP产生了许多报表、文件被打印装订
成册,按流程规定交给有关领导审批。这样,后果之一是,领导置于系统之外,他们不关心系统的运行,使系统的实施效果大打折扣。后果之二是,信息化本该向无
纸化方向发展,但是由于没有业务流程的电子化控制,使得现行ERP系统不是省纸化、无纸化,而是多纸化。这不仅增加了系统的运行成本,而且大大降低了办公
效率,降低了业务流程标准化、规范化的管理和控制。

  2.固化的业务流程非常不利于业务流程的改变。企业要不断地改进自己的管理,实施流程再造,所以ERP系统必须是功能可重构、流程可改变、高度柔性的系统。为此将工作流技术引入ERP系统就成为必然的结果。

  工作流管理的基本概念

 
 工作流的概念起源于生产组织和办公自动化领域。他是针对日常工作中具有固定程序的活动而提出的一个概念。目的是通过将一个具体的工作分解成多个任务、角
色,通过一定的规则和过程,约束这些任务的执行和监控,以达到提高企业生产经营管理水平。在20世纪80年代中期发展起来的工作流技术为企业更好地实现经
营目标提供了先进的手段。90年代随着计算机和网络技术的发展,该技术得到了快速的发展,特别是在生产制造业领域,结合先进的ERP应用系统得到较好的应
用。

  1. 工作流的基本概念和定义 
  1993年工作流管理联盟成立,制定了相关的系列标准,同时给出了工作流的定
义:“工作流是一类能够完全或者部分自动执行的经营过程,它根据一系列过程规则、文档、信息或任务能够在不同的执行者之间进行传递与执行。”当然,还有其
他的一些定义,但基本上都说明,“工作流是经营过程的一个计算机实现,而工作流管理系统则是这一实现的软件环境”。 
  使用工作流来作为经营过程的实现技术,首先要求工作流系统能够反映经营过程的如下几个方面的问题:经营过程是什么(活动、任务)?怎么做(条件、规则)?由谁来做(组织、角色)?做得怎样(监控)? 
 
 工作流管理系统的定义是:“工作流管理系统是一个软件系统,它完成工作流的定义和管理,并按照在计算机中预先定义好的工作流逻辑推进工作流实例的执
行。”工作流系统不同于ERP系统,但只有在工作流管理系统的支撑下,通过集成具体的业务应用软件系统(ERP、CRM、SCM等),才能良好地完成对企
业经营过程运行的支持,在更广的范围内,不同的时间跨度上做好企业的经营管理,提高企业的整体水平和竞争力。

  2. 工作流管理系统的体系结构 
  为了实现工作流技术的标准化和开放性,对异构的工作流管理系统与其他应用系统之间的集成,工作流管理联盟提出了工作流管理系统体系结构的参考模型,该模型中规范了功能组成部件和接口。 
  工作流管理系统体系结构图

  从图中的体系结构中,我们可以看出,工作流管理系统主要内容分三部分: 
  软件构件。完成相应功能的实现,包括流程过程定义,流程的发起、审批、监控、结束等。 
  系统控制数据。存储本系统和其他系统进行逻辑处理、流程控制、规则、约束条件、状态、结果等数据。 
  其他应用与应用数据。供工作流系统调用的外部应用和数据。

  3. 系统的软件构件 
  通过分析,我们可以看到,工作流管理系统的软件构件是实现工作流管理的基本构件,负责整个工作流管理的基本功能实现。它包括:工作流模型建立,工作流执行服务,客户应用管理。 
 
 工作流模型建立:工作流模型描述了能够由工作流执行服务、执行的过程所需要的所有信息,它是工作流管理系统的基础。它可以利用第三方的建模工具,形象化
地建立流程模型,并通过接口关系,建立系统所需要的控制数据;也可以通过系统本身的流程定义,直接生成控制数据。在流程定义中,要包括流程、活动、转换条
件、相关数据、角色、需要的应用等实体。 
  工作流执行服务:工作流执行服务是工作流管理系统的核心。它是企业经营过程的任务调度器。在过程建立完毕后,将由工作流执行服务进行全面管理、监控和调度具体的实例执行。包括:过程的实例化和执行、为过程和活动进行调度、与外部资源交互、处理相关数据。 
  客户应用管理:是客户操作具体任务和活动的管理模块,负责工作流任务表中任务的分发管理。可以将一个工作流管理系统中的任务管理器提供给客户;同时,也可以针对多个工作流产品或者是多个应用系统产品,编写通用的任务管理器,进行系统的集成。

  4. 系统的数据分类 
 
 工作流管理系统中存储的数据可以分成:工作流控制数据,它是工作流执行服务对其进行控制,用于处理过程或活动实例;相关数据,控制过程实例状态转换的条
件,并决定相关的逻辑走向,可以被应用所修改;应用数据,是指由应用程序操作的数据,反映的是具体业务的实际内容信息,它是在整个流程中进行流动。实际
上,前两个数据是工作流管理系统中本身需要的数据,第三类数据是其他系统中的业务数据。比如,ERP系统结构化的数据。

  5. 其他应用的调用 
 
 工作流管理系统在设计和实施中,都必须提供足够的柔性,来满足不同应用的需要。在与不同的应用系统进行交互时,要提供足够的灵活性。可以建立应用接口规
范和提供标准的API函数在不同的系统间进行交互;可以建立灵活的调用通道,直接调用ERP系统中的应用进行事务处理,这种调用可以在分布和异构的系统间
进行。

  工作流技术的发展与应用现状

  工作流技术的发展,经过十几年的努力,取得一定的结果。但在实际应用中,应用的企业还是较少,应用的范围窄,效果不理想。这里与产品的全面性、集成性有关,也与企业应用的状况有关,具体有以下几点:

  1. 工作流底层环境的建立 
  工作流管理系统必须建立在底层通信的基础上,才能实现分布计算,这要额外付出经费和精力进行构筑,这是企业所不希望的,从而限制了在企业中的广泛应用。

  2. 标准化程度差 
  不同的厂商所提供的工作流产品具有独立的一套工作流模型、工作流定义语言、API函数。但难于在不同系统之间进行交互,集成的效果不理想,不能方便地在不同系统间进行应用对象的重复利用和数据的方便交流。

  3. 系统的集成性不理想 
  工作流管理系统没有达到真正的集成,还是在自己独立地运行,处理一些行政上简单的流程业务,不能很好将OA、ERP、CRM、SCM等具体事务处理系统紧密地联系在一起,达到数据录入一次即可有效的目的。

  4. 实现的复杂性 
  实施一个完整的工作流管理系统,是一个复杂的过程,要了解其他应用系统的业务,进行流程处理分析、业务流程改造、管理规程和操作规范建立等,并且还必须有不同软件供应商的全力配合。

  5. 系统的安全性 
  系统中对于并发访问和异常错误缺乏正确和可靠的支持。一旦系统出现非正常退出,如何恢复数据并保证数据的一致性还需要解决。

  6. 企业管理者的观念改变 
  一个系统实施的好与坏,与企业的管理者有密切的关系。任何一个应用系统实施成功标记就是:成功=使用。 
  目前工作流技术的研究日益受到重视,大家研究的主要问题包括三个方面:工作流的理论基础,包括体系、模型、语言、接口等;工作流实现技术,包括性能、可靠性方面的研究;工作流技术的应用,包括实施方法、应用集成等。

  工作流与ERP系统的应用

 
 工作流在ERP系统的发展中,是一个相当重要的里程碑,对企业IT的应用带来的变化是极其强烈的。以工作流为基础可配置可重构的ERP系统,可以将工作
流和ERP的事务处理结合在一起进行考虑,将具有更好的集成性,具有更长的生命周期。国家863计划提出的新一代ERP系统的标准中,明确要求以工作流引
擎为基础,加强流程控制与事务处理系统的集成。通过我们的实际研发,总结出工作流与ERP系统在实际应用中的关系:

  1. 以工作流实现ERP和OA集成 
 
 企业过程管理非常重要,经常有些业务是贯穿ERP和OA两个系统的。例如采购流程包括:采购申请、申批、定单、验收单、入库单等,他涉及到组织、角色、
任务和过程的定义和管理。工作流管理系统恰如其分地将办公审批、流转、发布等流程控制与ERP系统结合在一起,让企业过程管理随时得到监控。

  2. 工作流和BPR 
  工作流与BPR的概念,已经被几乎所有的研究者联系在一起研究和应用。一个基于工作流、可配置、可重构的ERP系统对于BPR十分重要。 
  工作流是支持企业业务过程重组和ERP系统动态重构的关键技术,工作流技术可以支持应用程序按用户定义的流程或路线进行运行。基于工作流的ERP系统,可以通过流程的再定义,灵活地将应用系统的功能连接在一起,快速完成企业BPR和ERP系统的搭建。

  综上所述,工作流管理技术是解决业务过程集成的重要手段,它与ERP或其他管理信息系统的集成,将实现业务流程的管理、控制和过程的自动化,使企业领导与业务系统真正集成,实现企业业务流程的重构。所以工作流管理技术受到人们的高度重视并得到快速的发展。

WF从入门到精通系列

【翻译】WF从入门到精通(第一章):WF简介

【翻译】WF从入门到精通(第二章):workflow运行时

【翻译】WF从入门到精通(第三章):workflow实例

【翻译】WF从入门到精通(第四章):活动及workflow类型介绍

【翻译】WF从入门到精通(第五章):workflow跟踪

【翻译】WF从入门到精通(第六章):加载和卸载实例

【翻译】WF从入门到精通(第七章):基本活动的操作

【翻译】WF从入门到精通(第八章):调用外部方法及工作流

【翻译】WF从入门到精通(第九章):逻辑流活动

【翻译】WF从入门到精通(第十章):事件活动

【翻译】WF从入门到精通(第十一章):并行活动

【翻译】WF从入门到精通(第十二章):策略和规则

【翻译】WF从入门到精通(第十三章):打造自定义活动

【翻译】WF从入门到精通(第十四章):基于状态的工作流

【翻译】WF从入门到精通(第十五章):工作流和事务

【翻译】WF从入门到精通(第十六章):声明式工作流

【翻译】WF从入门到精通(第十七章):关联及本地主机通信

【翻译】WF从入门到精通(第十八章):在你的工作流中调用Web服务

【翻译】WF从入门到精通(第十九章):把工作流发布为Web服务

WorkFlow 工作流 学习笔记的更多相关文章

  1. Activiti工作流学习笔记一

    Activiti工作流 一:Activiti第一天 1:工作流的概念 说明: 假设:这两张图就是华谊兄弟的请假流程图 图的组成部分: 人物:范冰冰冯小刚王中军 事件(动作):请假.批准.不批准 工作流 ...

  2. Activiti工作流学习笔记(三)——自动生成28张数据库表的底层原理分析

    原创/朱季谦 我接触工作流引擎Activiti已有两年之久,但一直都只限于熟悉其各类API的使用,对底层的实现,则存在较大的盲区. Activiti这个开源框架在设计上,其实存在不少值得学习和思考的地 ...

  3. Activiti工作流学习笔记(四)——工作流引擎中责任链模式的建立与应用原理

    原创/朱季谦 本文需要一定责任链模式的基础,主要分成三部分讲解: 一.简单理解责任链模式概念 二.Activiti工作流里责任链模式的建立 三.Activiti工作流里责任链模式的应用 一.简单理解责 ...

  4. Activiti工作流学习笔记

    先从工作流的启动开始讲,Activiti提供了四种工作流的启动方式 1.空启动事件 2.定时启动事件 3.异常启动事件 4.消息启动事件 空启动事件中标签内没有任何其他元素的定义 <startE ...

  5. Dynamic CRM 2013学习笔记(四十一)流程4 - 异步工作流(Workflow)用法图解

    在CRM 2013 里,工作流被分成二类:异步工作流和实时工作流.异步工作流依赖一个windows 服务: Microsoft Dynamics CRM Asynchronous Processing ...

  6. Dynamic CRM 2013学习笔记(四十二)流程5 - 实时/同步工作流(Workflow)用法图解

    实时工作流跟插件一样,也是用事件执行管道来执行,能在pre,post或核心操作中执行.跟插件一样,不能在创建之前和删除之后执行.如果执行过程中有异常发生,会取消并回滚整个操作.实时工作流里所有的活动和 ...

  7. Dynamic CRM 2013学习笔记 系列汇总

    这里列出所有 Dynamic CRM 2013学习笔记 系列文章,方便大家查阅.有任何建议.意见.需要,欢迎大家提交评论一起讨论. 本文原文地址: Dynamic CRM 2013学习笔记 系列汇总 ...

  8. Dynamic CRM 2013学习笔记(三十五)自定义审批流6 - 审批通过后,再审批 - 二次审批

    最近有个特殊的需求,客户想做二次审批,就是审批通过后,再走一次审批流程.最开始一想,这还不简单,审批通过后,直接把状态改成draft就完了,后来一试,发现一堆问题,比如第一次审批完后,界面是不允许修改 ...

  9. Dynamic CRM 2013学习笔记(三十八)流程1 - 操作(action)开发与配置详解

    CRM 2013 里流程有4个类别:操作(action).业务流程(business process flow).对话(dialog)和工作流(workflow).它们都是从 setting –> ...

随机推荐

  1. ERROR无法从静态上下文中引用非静态变量

    ERROR无法从静态上下文中引用非静态变量 2012-06-16 20:58:52 分类: Java 什么是“static”? 学习过java.C++或C的人都应该认识这个关键字.用这个关键字修饰的变 ...

  2. 优化笔记:jsyhjkzqxx_D_20140916.gz

    有几张表没有权限,所以跑不起来. 目测黄色部分比较坑爹,死了n多脑细胞才看懂,又死了n多脑细胞才改出来.对5034进行了2次扫描,并多次分组排序求和.(分组和排序算法相对来说比较耗性能) 改为只扫描一 ...

  3. Array 数组类

    除了 Object 之外, Array 类型恐怕是 ECMAScript 中最常用的类型了.而且,ECMAScript 中的数组与其他多数语言中的数组有着相当大的区别.虽然 ECMAScript 数组 ...

  4. python执行报错 configparser.NoSectionError: No section: 'section_1'

    场景:请求获取验证码模块regVC.py读取配置文件config.ini时,regVC.py模块单独执行正常,但通过run_all.py模块批量执行时报错,找不到section 解决办法:配置文件路径 ...

  5. ubuntu 开机 输入密码 无法进入

    1.给笔记本装了ubuntu14.04.4, 发现开机到输入密码的环节之后,验证正确,然而无法进入桌面,一直在密码页循环. 2.网上找了好多方法,进入命令行(ctrl+alr+F1)登录,能登录进去: ...

  6. 解决办法 Field userService in com.sxsj.controller.RegistLoginController required a bean of type

    转自:https://blog.csdn.net/awmw74520/article/details/82687288 APPLICATION FAILED TO START Error starti ...

  7. mybatis 传入集合参数遍历 查询总结

    出自:http://blog.csdn.net/u013628152/article/details/51184641 1. findByIds(List ids) 如果参数的类型是List, 则在使 ...

  8. 基于 DirectX11 的 MMDViewer 02-创建一个窗口

    项目的创建和配置: 1.新建一个 Win32 空项目 2.创建源码文件夹.库文件夹和资源文件夹 3.在 VS2013(我使用的 IDE 是 vs2013)配置这些文件夹 这里使用了 $(Solutio ...

  9. Quartz.NET文档 入门教程

    概述 Quartz.NET是一个开源的作业调度框架,非常适合在平时的工作中,定时轮询数据库同步,定时邮件通知,定时处理数据等. Quartz.NET允许开发人员根据时间间隔(或天)来调度作业.它实现了 ...

  10. T-SQL 重复读(Double Read)问题的理解

    我的理解是: step1,假设表里有100行有序记录, 事务1从row 1 开始读取到了row 50 并准备继续读取完这100行. 要注意的是,sql server 会自动释放已经读取了的row的锁. ...