技术开发 频道

工作流纵横谈

    【IT168 管理】

    一、工作流是什么? 


    在我国IT技术和软件产业如火如荼开展的今天,许多曾几何时的新事物一夜之间变成了大家必须了解的事物,有人认为这是IT工作者必然面对的挑战,今天,我们探讨的工作流及其管理系统,显然属于这一类事物,它仿佛距离我们很遥远,但现在我们必须正视它、研究它、应用它。这其实是中国信息化的内在需要。 

    而工作流是到底什么? 

    工作流的概念源自于生产组织与办公室自动化。其目的是将工作分解成定义良好的任务、角色,按照一定的规则和过程来执行任务,来达成提高办事效率、降低生产成本、提高企业生产力和竞争力。 

    众说纷纭,每个人会有每个人的理解,先听听官方说法,工作流管理联盟(Workflow Managnement coalition ,WFMC)是这样定义的:“工作流是一系列相互衔接,自动执行或半自动执行的经营过程,业务活动或任务,表现为它根据一系列的过程规则,使得文档、信息、任务能够在不同的参与者或执行者之间进行传递和执行。” 

    而工作流管理(Workflow Management ,WFM)是人与电脑共同工作的自动化协调,控制和通信,在电脑化的业务过程上,通过网络上运行软件,使所有命令的执行都处于受控状态.在工作流管理下,工作量可以被监督,使分派到不同的用户的工作达成平衡。工作流管理系统(Workflow Management System,WFMS)通过软件定义,创建工作流并管理其执行。它运行在一个或多个工作流引擎上,这些引擎解释对过程的定义,与工作流的参与者(包含人和软件)相互作用,并根据需要调用其他的IT工具或应用. 

    各厂商对与工作流的定义分别如下: 

    PeopleSoft公司——工作流是一个用来实施经营过程实践的机制。 

    IBM Almaden 研究中心——工作流是将经营过程用计算机模型表示出来,定义完成整个经营过程所需要的各项参数。这些参数则包含对过程中每一个步骤地定义、步骤间的执行顺序、条件以及数据流的建立、每一步由谁负责以及每个活动所需要的应用程序。 

    另外,公司企业中不同的人对工作流的理解也是不同的。 

    企业COO——工作流管理系统就是企业业务经营管理系统。

    企业CIO——工作流是企业工程的一部分,BPR关注的实际业务进行的过程 , 工作流就是一个具体的,可操作性的答案,所以, 企业业务重组离不开的是工作流管理系统, 它是企业业务重组的好帮手,有了工作流管理系统,BPR蓝图因为工作流管理系统”所见即所得”。 

    信息化顾问——实施信息化工作流管理系统提供了柔性的服务, 因为工作流管理系统, 软件变成了一种可视化服务。

    二、我们为什么需要工作流? 

    我们已经明确了工作流的含义,但为什么我们需要工作流呢 ? 

    结合深圳市邮政客户服务管理系统为例,我们先回顾一下场景: 

    1 某邮政信息公司需要上马 “客户服务系统”项目; 
    2 系统性能要求:每天处理20万笔业务; 
    3上线时间要求:3~6个月内开通上线; 
    4 未来可能会根据市场需要陆续开通更多的新业务 

    客户服务开通是由流程驱动的,上百种产品或服务,从产品开发的运营,服务都需要流程的支持,并且需要通过配置流程来开发新产品. 

    如何实施这个项目,会有两种可选方案: 

    方案一:传统的方式,不采用工作流,无工作流引擎,状态流转与每个活动(任务)的处理逻辑完全交织在一起。 
    方案二: 基于商业工作流中间件。 

    让我们来分析两个方案的优劣 ,无引擎的传统实现方式,有下面先天不足的缺陷: 
    1. 流程状态固化(硬编码),一旦需要调整流程,就必须修改代码; 
    2. 参与者固定,业务人员无法调整; 
    3. 流程和页面完全耦合在一起,如此工作维护量巨大; 
    4. 不能统一管理和跟踪流程; 
    5. 无法支持流程优化与改进; 

    如果保障客户服务系统上线成功,我们推荐第二种方案,它需要专业的工作流平台,主要有如下特性: 
    1.高性能; 
    2.高可扩展性; 
    3.支持复杂流程,特别是异步处理机制; 
    4.业务化定制,小的调整业务人员就可以完成; 


    用一句来形容工作流系统的作用:它的目的是在正确的时间将正确的任务按照正确的顺序分配给正确的人员,即所谓的“4R(Right)”。

    三、 工作流的相关概念与模型 

    一个工作流系统,实际上至少包含三个核心部件: 

    1 流程定义(Processes definition) 
    2 流程执行环境(Processes Engine) 
    3 流程监控与管理(administrator and monitor) 

    纵观工作流系统,有几个基本概念,我们需要特别清楚。 

    实际事物都有它的一套体系,工作流就象IT世界中的一个地方戏剧,有它自己的行话,只有先搞懂了它的“行话”,才能说是“入行”了。 

    行话之一: 活动(Activity) 

   
又名节点,环节或者任务,画过工作流程图的人都知道,一张流程图就是由一个一个的节点构成的,工作流也是由一个个活动按照一定顺序组成的。 

    如果把活动分类,它可以分为开始活动、结束活动、人工活动、自动活动、路由活动、子流程活动、前驱活动、后继活动。乍看起来,”活动”一词更是种英译词,如果把它看成是“任务”,就会好理解得多了。 

    一个活动通常又会有若干属性,它们是名称、参与者、时间限制、触发事件、激活策源、 聚合模式、分支模式。 

    行话之二: 参与者 

    顾名思义,它就是活动的执行者,它可以是人、组织、角色、系统或动态计算,总之是种资源。 

    行话之三: 转移线 

    让我们的脑海中浮现起一条前驱活动和后继活动之间的一条连接线,它在工作流中的学名叫“转移线”, 转移线上主要定义转移条件,转移线也可以是无条件转移的。 


    行话之四: 转移条件 

    转换条件对应于组织机构经营过程中的业务规则和操作的顺序,如在订单处理完成后,执行生成计划制定。 

    转换条件主要负责为过程实例的推进提供导航依据,主要参数包括工作流过程条件(flow condition)和执行条件(execution condition)。工作流过程条件是过程实例向前推进的条件,它可以认为是前/后工作条件的同义词。执行条件是指当任务到达时通知不同用户的条件。 

    行话之五: 相关数据 

    工作流相关数据(workflow Relevant data)主要指与业务流程相关的数据。它可以确定实例状态转换的条件,并选择下一个执行的活动。 


    我们已经了解了工作流的行话,现在可以初窥门道了,即一探工作流模型的真面目。 

    模型是一切事物存在的基础理论依据,它是高度抽象化,但它又是高度概括性的,所谓”见山不是山,见山还是山”。 

    工作流元模型包含了工作流定义、活动、转换条件、工作流相关数据、执行者、资源、需要激活的应用程序、数据窗口等基本实体。 

    也许,我们能从下面的工作流元模型读到更多:

    结合这个模型,对上文提到的一些名词可以有如下的解释。 

    工作流相关数据 

    工作流相关数据是工作流引擎执行任务推进的主要依据。工作流实例运行时工作流引擎主要根据工作流相关数据和转换条件进行推进。工作流相关数据的属性包括数据名称、数据类型和数据值等。 

    如在银行贷款申请表处理后,根据申请贷款的值(如是否大于10万元)决定下一个的活动是什么,比如大于10万的申请请交业务经理,小于10万的申请交给业务人员处理。 

    执行者 

    执行者主要描述执行活动过程中参与操作的人员和组织单位。 执行者属性主要包括角色的名称、组织实体(Organizational entity)、角色职能等,角色或组织实体决定了参与活动的人员或组织单元。
资源 

    资源主要描述执行活动过程中所需要的设备、物料等资源。资源属性主要包括资源的名称、所需数量或工时、资源的使用成本等。 

    应用程序 

    需要激活的应用程序主要描述执行活动过程所采用的工具或手段。应用程序主要属性包括应用程序的类型、名称、执行路径及运行参数等。如在活动过程中调用ERP软件或决策软件完成某个具体的企业业务功能。 

    数据窗口 

    数据窗口(DataWindow),在每一个活动中可能包含一个或多个数据窗口,用于显示用户所需要的信息。
工作流管理系统接口 

    工作流管理系统接口描述了工作流定义输入与输出接口;它在建模方面组要覆盖了以下几个功能: 

     •通信建立——建立各个参与运行的系统之间的通信连接,并且在完成协作后断开通信连接; 
    •工作流模型操作——对过程模型的名称进行检索,并完成对过程模型对象的读、写等; 
    •工作流模型对象操作——在建模工具中完成创建、检索和删除对象的操作和完成创建、设置和删除对象属性的操作。

    四、 工作流建模 

    工作流模型是由工作流建模工具建立的,所以我们有必要来认识工作流建模工具。 

    工作流建模工具以工作流元模型为基础,通过分析不同类型的业务过程,采用有向图的方法对现实的业务活动进行形式化描述,建立业务过程到工作流模型的映射机制。并在此基础上进一步扩展模型语义,增强工作流模型的表达能力,在图论和集合论的理论指导下确定方便、实用且形式上严格规范的工作流模型。建模工具除了创建模型的功能之外,还包含模型分片、领域配置、应用维护等功能。 

    工组流模型由开始节点、结束节点、子过程、活动、同步节点、无条件连接弧、有条件连接弧、条件设定连接弧、注释文本等元素组成;在流程定义时还可以参考或引用组织数据、资源数据、业务过程,工作流相关数据、内部应用、数据窗口、外部应用程序等。通过这些元素的有机组合,工作流建模工具可以完整地描述组织内部典型的工作流程。 

    工组流建模工具一方面为用户提供了一个建立规范的业务过程的接口,另一方面,所建立的工作流过程可以存储于工作流库中作为工作流引擎的输入,投入运转、执行并接受监控。建模工具的主要功能点如下: 

    (1) 提供建立工作流模型所需的各类基本元素,比如活动、子过程、连接弧等; 
    (2) 支持图形用户界面的基本操作,比如鼠标的点击与拖动; 
    (3) 提供用户定义各模型单元属性的对话框; 
    (4) 模型的保存与读取; 
    (5) 支持多层次建模; 
    (6) 与外部自动应用的接口。 

    一言以蔽之,工作流模型是“画”出来的,是由建模工具“画”起来的。 

    在这里,我们重点不是去了解这个工具为什么能画,而是要去了解它画了什么。只有知道画了什么,我们才能真正地建立工作流模型的。 

    工作流模型,从类型上分为路由模型和激活模型。 

    从企业业务实践中总结出来的路由模型有多种,包含基本路由,分支路由, 聚合路由,循环路由,嵌套路由,任意路由等。 

    基本路由即串行路由,它的特点是每个活动都只有一个前驱和一个后继活动,其中开始活动只有一个后继活动,结束活动只有一个开始活动。 

    分支路由是当一个活动存在多个后继活动时的路由。分支路由包含一种并行路由表示当前活动结束后它的所有后继活动被执行。 

    除了上述的路由模型外,一个专业的工作流引擎应该需要支持有特色的路由,诸如任意路由,回退路由,自由流,代理/代办,异常处理等等。 

    到此,我们介绍了工作流的相关概念和模型,兵马未动,粮草先行,我们明白了工作流是什么,至于我们如何理解工作流的发展趋势和设计理念,希望在以后的文章中同大家共享。

0
相关文章