C#学习笔记27——WorkFlow

        传统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服务

 

优秀BPM/Workflow工作流推荐:AgilePoint模型驱动BPM

agilepoint
    因为工作关系,我们努力在BPM领域寻找开源产品,很遗憾找不到适合企业使用的。因为公司的业务合作关系,认识了

AgilePoint公司的几个工程师和广州的销售陈小姐,对AgilePoint的认识比较深入,同时实际接触和使用了多家商业BPM产品(包括Ultimus、K2、IBM BPM、Oracle  BPM,国内的所谓BPM产品暂不做推荐,因为只是OA级别的而不是BPM,微软的WF只是一个Workflow框架,和BPM区别很大,如果有足够的开发预算和时间也可以选择微软免费的WF,但我曾在某国企项目中在SharePoint上应用WF,在编码和测试上简直就是噩梦)。

一些BPM的比较:

K2技术上较复杂,是基于微软WF的技术,实施开发代码量比较多,不容易上 手,对硬件要求也很高;

Ultimus和AgilePoint是自成体系世界水平的的较轻量级产品,性价比和易用性很好,我个人更喜欢 AgilePoint的Envision流程设计器,相当直观,近百个封装好的流程控件使开发和实施异常便捷,AgileForm实现了自定制表 单,AgilePart和AgileWork扩展了定制性,适应性广泛,它是一款值得信赖的企业级的模型驱动的BPM产品。它以SOA模型驱动为运作方 式,能整合多数外部系统,如SAP、CRM、HR,帮助企业实现以业务为导向的流程架构。流程不论在规划或是部署阶段皆不需编写程序代码,且可于执行期动 态调整的特点,让流程可顺应企业成长需求进而展现商业灵活性。

 

软件介绍(Software Description)     过去牵一发而动全身的系统整合,往往在企业需求变动中如履薄冰,任何传送节点或是组织异动,总会造成使用者与IT 人员的沟通紧张;往复的修正,更让资讯人员不胜其扰,也使企业主不容易感受到系统整合的目的以及资料统整所带来的便捷。 
    依据BPMI 所制定的规范内容- BPMN,BPM  作为新一代的平台,必须提供一个图形的介面来让技术人员、业务人员以及参与到作业内容的所有流程执行者,明白与知悉作业节点中所应用的表单、动作以及相关 的逻辑。此外,它最好能由该流程转化为可执行的程式应用:因此,关涉BPM 平台特性的四个重点:动作者、活动、事件、状态(Actors,  Activities, Events and  States),就成为评估BPM平台设计是否优良的关键点。而AgilePoint模型驱动BPM就是其中的佼佼者。
    产品项中包含AgilePoint Envision、AgilePoint Developer、AgilePoint Server、AgilePoint Enterprise Manager 四个组件。       
  • AgilePoint Envision:流程规划与设计工具        
  • AgilePoint Developer:开发「图像式 IT 服务组件」的环境        
  • AgilePoint Server:流程部署与运行服务器        
  • AgilePoint Enterprise Manager:整体流程管理接口
安装环境
  • 1. .Net 3.5+   
  • 2. SQL Server or Oracle or DB2   
  • 3. IIS 6 or later    
特性(Feature)

产品的优势:

  • 完全符合W3C标准,以Web Service作为与其它系统沟通的桥梁,扩充弹性无限制,适合大型企业未来发展。 
  • 使用.NET开发环境与架构。将IT的程序组件化,可重复利用降低开发成本。开发无限制的弹性,可轻易达到SOA (Service-oriented architecture,服务导向架构) 的应用。 
  • 直觉式的流程设计环境,只要会使用VISIO,即可建构流程。IT人员将必要组件开发好后,即可由经理人或流程设计人员来自行建构、修改流程。达到快速应变的要求。 

系统架构:

Envision设计环境:

Envision设计环境:

Enterprise Manager:

Developer 开发环境:

 

展开阅读全文

没有更多推荐了,返回首页