人人范文网 范文大全

工作流技术研究

发布时间:2020-03-03 12:23:08 来源:范文大全 收藏本文 下载本文 手机版

工作流技术研究(1) (2008-09-10 19:29:14)

标签:工作流管理系统 工作流参考模型 杂谈 分类:工作流

工作流技术从起源到现在已有三十年的发展历史,为了规范工作流技术的管理,1993年成立了工作流管理联盟(WfMC)。WfMC统一了工作流的定义,制定了工作流产品结构和工作流参考模型等一系列的标准。本文针对工作流及其参考模型作简单的介绍。

首先,先了解一下工作流的相关定义。

一、工作流相关定义

定义1 工作流(Workflow):工作流的概念定义很多,其中被广泛引用的是工作流管理联盟关于工作流的定义,该组织为工作流管理系统的相关术语、体系结构及应用编程接口等方而制定了一系列的业界标准。工作流管理联盟给出的工作流定义是:全部或者部分,由计算机支持或自动处理的业务过程,它已根据一系列过程规则、文档、信息或任务能够在不同的执行者之间进行传递与执行。工作流是指整个或部分经营过程在计算机支持下的全自动化或半自动化。工作流是企业中各种流的载体,它带动了信息流、物料流、资金流的流动,并决定了它们的流速和流量。通过工作流,考察信息、物料、资金等随过程的变化情况,从而可以方便地对一些关键指标进行跟踪和计算。其文

档、信息或任务可以遵循一组程序上的规则从一个参与者传送到另一个参与者。

定义2 工作流管理:工作流管理(Workflow Management, WFM)是人与计算机共同工作的自动化协调、控制和通讯,在计算机化的业务过程上,通过在网络上运行软件,使所有命令的执行都处于受控状态。在工作流管理下,工作量可以被监督,分派工作到不同的用户达成平衡。

定义3 工作流管理系统(WFMS—Workflow Management System):工作流管理系统是这样的一个系统,详细定义、管理并执行工作流,系统通过运行一些软件来执行工作流,它运行在一个或多个工作流引擎上,这些引擎解释对过程的定义,与工作流的参与者(包括人或软件)相互作用,并根据需要调用其他的软件工具或应用。这些软件的执行顺序由工作流逻辑的计算机表示形式(计算机化的业务规则——过程定义)驱动。总体来说,实际企业中运作的工作流管理系统,是一个人与计算机结合的系统。

它的基本功能体现在几个方面:

? 定义工作流,包括具体的活动、规则等。

? 遵循定义创建和运行实际的工作流。

? 监察、控制、管理运行中的业务,例如任务、工作量与进度的检察等。

定义4工作流机:为工作流实例提供运行时期的执行环境的软件服务器或引擎。工作流机能处理:

? 解释过程定义

? 控制过程实例—创建、激活、挂起、终止等

? 为过程的活动导航,可能要包含顺序或者平行的操作、最后时间期限、对工作流相关数据进行解释

? 参与者签名和退出

? 确定任务项目,实现用户意图;提供接口,支持用户交互

? 维护工作流控制数据和工作流相关数据,在应用程序间或者用户间传递工作流相关数据

? 提供调用外部程序的接口,连接所有工作流相关数据

? 提供控制、管理和审查功能

工作流机可以控制过程集、子过程、或通过对象类型的范围、及其属性定义好运行范围的实例。在一个由多个工作流机构成的工作流执行服务器中,要把过程进行划分,分配给工作流机。可以按照过程类型来划分,某个工作流机负责控制相应类型过程;按照功能进行划分,某个工作流机负责控制过程的一些部分,这些部分所需要的用户或者资源,都在此工作流机的控制范围内。也可以按照其他的一些机制来划分。

定义5 业务过程(busine proce):就是活动的集合,这些活动均关联于特定的托付事项(commitment),为过程的产出增值。相对于“工作流”,业务过程是一个更一般化的统称,而工作流这个词,则已经不能仅从字面含义或原理上去理解,它已经被赋予了更深一层的特定含义——专指基于信息技术规划、运作、管理的业务过程。

定义6 自动与协调:“自动”(automate)是工作流的一个特征,但这主要是指它自动进行的特征,而不是说没有人的参与。工作流实际上是一个人与计算机协调的混合过程,在一个实际的工作流中,通常总有些步骤是人完成的。协调是工作流管理的一个目标或者特征,这包括了人与人、人与计算机,计算机软件之间等多种层面的含义。

定义7 监察与控制:监察(Monitoring)与控制(Contorl)是工作流系统的重要功能与特征。这不仅包括对正在发生的业务过程(工作流),还包括它的定义或改

变(比如BPR的过程)。这是工作流系统带给我们的明显好处之一。 定义8 标准化:工作流的概念被明确提出并得到重视的同时,人们就认识到了“标准化”在其中的重要性,有关工作流的标准开发和推广,基本是与“工作流”的开发和推广同步进行的。在这方面目前的权威性机构,是“工作流管理联盟”(Workflow Management Coalition, WfMC)。它成立于1993年8月,目前已拥有 130 余个成员,成员包括工作流产品的供应者、应用者,有关大学和研究机构和个人,是一个国际性的非赢利组织。定义9 工作流与重规划:从逻辑上,对工作流的关注和研究可以看作是对业务过程重规划(BPR)的一种深化。BPR的观点,要求我们将眼光投向实际业务进行的过程,但这个过程应当是什么样的,怎样分析、构造?工作流就是一个具体的、操作性的答案,它可以令我们从神秘的、难以预测和控制的“头脑风暴式”的“艺术的”业务过程创造,变成解析的、技术的、可控制和预测的工程化过程,如此,才真正体现出

re-engineering 中 engineering 的意义。

工作流与 BPR 的概念,已经被几乎所有的研究者联系在一起研究和应用。在这个领域有一个非常活跃的组织,即国际工作流与重规划协会( Workflow And

Reengineering International Aociation, WARIA)。

工作流管理系统是一个真正的“人—机”系统,用户是系统中的基本角色,是直接的任务分派对象,他或她可以直接看到计算机针对自己列出的“任务清单”,跟踪每一项任务的状态,或继续一项任务,而不必从一个模块退出,进入另一个模块,搜索相应任务的线索。前者是面向功能或对象的,而后者是直接面向用户的。这样,用户的任务

分派和任务的完成状态,可以被最大程度地计算机化和受到控制。

现在的典型工作流产品是客户—服务软件。而日益增长的重要途径是通过万维网界面,它可以令客户或远程的职员更好地参与。工作流的定义经常是借助于图形化

工具,依照业务过程实例的情况定义相应工作的安排。

二、目标领域

使用工作流管理系统的目的之一是作为企业应用系统集成(EAI)的平台。在当前大部分企业级IT架构中,各种各样的异构(heterogeneous)应用和数据库运行在企业内网中。在这些系统被应用到组织时,都有一个清晰的目标。例如,客户管理、文档管理、供应链、订单、支付、资源计划等等。让我们称这些系统为专门应用( dedicated applications)。每一个专门应用都包含它们所支持业务流程的领域知识。这些专门应用中的自动化流程,被拼装到企业中更大的非自动化流程中。每当一个这样的专门应用安装并投入使用,都会带来涉及其他多个应用的新功能需求。企业应用系统集成(EAI)就是通过使用多个专门应用满足软件新需求的方法。有时,这只需要在两个应用之间提供数据通讯的通道。专门应用将很多业务流程硬编码在软件中。可以这么说,在你购买专门应用时,你是购买了一组固定的自动化业务流程。而工作流管理系统是不必事先知道问题域的相关信息的。工作流系统将业务流程描述作为输入并管理流程实例的执行,这使得它比专门应用更灵活(当然你也要花精力编写业务流程的规格化描述)。这就是为什么说工作流系统和专门系统是相互补充的。工作流系统可以用来管理全局的业务流程。如果专门应用支持你所需要的业务流程,那么使用专门应用。在此讨论的工作流系统的第一种使用方式就是:结合所有的专门应用,使用工作流系统构建一个EAI平台。

工作流系统能够发挥很大价值的第二个使用方式是:协助涉及多人相关任务工作流软件的开发。为了达到这个目的,大部分工作流系统都有一个方便的机制,来生成执行任务的表单。对于专注于ISO 或者CMM认证的组织,采用这种方式使用工作流系统能够显著提高生产率。不用将过程用文字的形式写在纸上,工作流系统使你通过

流程定义建模实现过程的自动化(如使用基于Web的应用)。

工作流系统的第三种使用方式是:将工作流引擎嵌入到其他应用中。在前面我们谈到,专门应用将指定问题域相关的业务流程固化在软件中。开发专门应用的公司也可以将工作流引擎嵌入到他们的软件中。在这里,工作流引擎只是作为一个软件组件,对于应用的最终用户是不可见的。将工作流引擎嵌入到应用中的主要原因是为了重用

(不重复发明轮子)和应用软件的可维护性。

三、工作流参考模型

WfMC定义的工作流参考模型包括若干基本部件和5个基本接口(部件之间的箭头表示部件之间的接口),如图1所示。工作流执行服务器周围的接口是 WAPI(Workflow APIs),通过这些接口可以访问工作流系统的服务,这些接口还控制工作流控制软件与其他系统组件间的交互。在5个接口中的许多功能,都是被2个或更多个接口同时拥有的,因此WAPI可以看作是统一的服务接口,可以交叉使用这5个接口来支持工作流管理功能,而不是单独的使用其中某个接口。

首先,我们粗况的了解一下参考模型中的基本部件,然后再对这些基本部件进行简单分析。

(1)过程定义:负责给出工作流程的定义,并以一定的数据格式提供给工作流引擎解释。

(2)工作流执行服务:工作流管理系统的核心,提供了过程实例执行的运行环境。工作流执行服务借助于一个或多个工作流引擎,激活并解释工作流流程定义,用来创建、管理、执行工作流实例。并同外部的应用程序进行交互,完成工作流过程实例的创建执行与管理职能。

(3)管理和监视工具:负责监控工作流的执行,对工作流管理系统中过程实例的状态进行监控与管理,如用户管理、角色管理、审计管理、资源控制等。

(4)工作流客户应用:执行者访问工作流的界面,活动参与者通过这样的应用程序参加工作流活动,获取自己的任务。

(5)工作流引擎:过程定义的解释器,它是工作流执行服务的核心。

(6)被调应用程序:工作流执行服务在过程实例的运行过程中,调用的、用以对应用数据进行处理的程序。在过程定义中包含这种应用程序的详细信息如类型、地

址信息等。

(7)其他工作流执行服务:在大型的工作流管理系统中,工作流可能需要多个工作流引擎共同完成,甚至需要其他异质的工作流执行服务来辅助完成,这涉及到工

作流管理系统之间的互联。

其中过程定义通常包括一些独立的活动步骤,相关的计算机和用户通过一系列的活动步骤操作或制定规则以管理流程的步骤。

参考模型中定义的五类工作流接口。

(1)接口1(工作流定义转换):工作流服务和工作流建模工具间的接口,包括工作流模型的解释和读写操作。

(2)接口2(客户端应用程序接口):工作流服务和客户应用之间的接口,这是最主要的接口规范,它约定所有客户方应用与工作流服务之间的功能操作方法。

(3)接口3(应用程序调用接口):工作流引擎和直接调用的应用程序之间的直接接口。

(4)接口4(工作流机协作接口):工作流管理系统之间的互操作接口。

(5)接口5(管理和监视接口):工作流服务和工作流管理工具之间的接口。

在实际的应用中,很多商用和开源的工作流系统都没有严格遵照这个标准,或者说没有统一。一个原因是WfMC的标准对于很多细节没有明确说明,在实现时各个系统出现了各自的实现。另一个原因是,工作流系统与业务系统关系密切,受业务系统的限制或约束太大,因此支持不同业务的工作流在细节上差异很大,标准不易统一,做

一个通用的工作流系统难度比较大。

3.1过程定义

1过程定义工具(Proce Definition Tools)

过程定义是用来创建一个计算机可以处理的形式的过程描述。可能要以形式过程定义语言、对象关系模型、简单的系统、脚本、或者在参与者间进行信息传递的路径集为基础。工作流定义工具,可能作为工作流产品的一部分、也可能作为业务过程分析产品的一部分来提供给用户,作为业务过程分析产品一部分,会有其他的组件来负责处理业务过程的分析或者模型,这时,必须要有兼容的转换格式,与运行时期的工作流软件进行过程定义的相互转换。 有许多不同的工具可以用来分析、建模、描述业务过程;这样的工具有很大的不同从非正式的(铅笔和纸)到成熟的、十分专业。工作流模型不关心这些工具的特性,也不关心在过程建立时期他们是如何交互的。在以前指出过,这些工具可以作为工作流产品的一部分来提供,或者一个单独的产品,例如BPR工具集。

有的工作流产品提供了其自己的过程定义工具,从而过程定义一般是保留在工作流产品范围内的,并且可能或者不能被读/写信息的编程接口所访问。而使用单独的过程定义和执行服务器产品,过程定义能够在不同的产品间进行转换,并可以被其他产品访问。

设计活动和最后的过程模型输出,称为过程定义。在运行时期过程定义可以被工作流机解释。

过程分析工具、建模工具和定义工具,都要有在一个组织结构中模拟过程的能力(尽管这不是工作流参考模型规定必须有的)。如果组织模型集成到了这些工具中,那么过程定义将包含组织相关对象。这些都是与系统相关的控制数据,例如角色:活动者间的关系,可能会在过程执行期间被引用。

2 工作流定义转换(接口 1)

在建模或定义工具与运行时期工作流管理软件间的接口,被称为过程定义导入/导出接口。这个接口的特点是:转换格式和API调用,从而支持过程定义信息间的互相转换。这个接口也支持已完成的过程定义间的互相转换,或过程定义的一部分。例如,过程定义的改变或者活动中属性的改变。

使用标准的过程定义格式有很多好处:

首先,把建立阶段与运行时期环境进行了分离,可以使用一个建模工具来产生过程定义,这个过程定义可以作为很多个不同工作流运行时期产品的输入。从而用户

可以单独地选择建模工具和工作流运行时期产品。

其次,可以为几个工作流机输出过程定义,这几个工作流机合作来构成分布式的工作流执行服务器。

WFMC在此部分作了以下两个方面的工作:

(1)提出了一个元模型,可以用来表示过程定义中的对象、对象间的关系和属性。这个元模型为不同的产品间的过程定义相互转换奠定了基础,并形成了一套转换

格式。

(2)工作流系统间或工作流系统与过程定义产品间的API调用,提供了公共的方法来访问工作流过程定义。访问可能是读、读/写或者只写操作,并且操作标准对

象集合(在元模型中定义的对象集合),或者产品自己的对象集合。

3基本元模型(A Basic Meta-Model)

WFMC开发了一个过程定义的元模型。元模型中定义了基本的对象类型集,来满足简单的过程定义相互转换。或者有开发者具体扩展,或者在增加的功能中定义另

外的一致性级别来增加更多的对象类型。

需要为下边的类型定义特殊的属

性:

工作流类型定义(Workflow Type Definition)

? 工作流过程名

? 版本号

? 过程开始/结束条件

? 安全、审查、控制数据

活动(Activity)

? 活动名

? 活动类型

? 进入动作和离开动作

? 其他约束

转移条件(Transition Conditions)

? 执行条件

工作流相关数据(Workflow relevant data)

? 数据名与路径

? 数据类型

角色(Role)

? 名称与组织实体

? 应用程序调用(Invoked Application)

? 类型和名称

? 执行参数

? 本地或者访问路径

在分布式工作流服务器中,可能要在过程定义时,为每个工作流机分配活动,可以作为活动的一个附加属性。过程定义能影响安全性与管理。 定义的交换格式,要支持符号命名方案,这些符号可以映射到工作流执行服务器中的实际名称与地址。这种映射可以使用动态地址定位机制来实现(例如,目录服务器),也可以使用其他的外部过程定义机制实现。也有其他的一些行业在相关的方面作研究,例如过程建模和CASE转换工具;WFMC提出的方法也适用与其他行业,预

先定义适当的转换格式。

4访问过程定义的 API(APIs to acce Proce Definitions)

用来支持访问过程定义数据的API命令集。希望规范中包含下边列出的通用类型功能。命令集应该提供命令操作表,和操作的对象、属性,包括:

建立会话(Seion Establishment)

? 连接/断开参与系统间的会话

工作流定义操作(Workflow Definition Operationis)

? 从过程定义库或者其他资源中,获得工作流过程的名称列表

? 选择工作流过程定义,为更多的对象级操作提供会话句柄

? 读/写上层工作流过程定义对象

工作流定义对象操作(Workflow Definition Object Operations)

? 创建、恢复、删除工作流定义中的对象

? 恢复、设置、删除对象的属性

3.2工作流执行服务

1什么是工作流执行服务器

由一个或多个工作流机构成的软件服务器,用来创建、管理、执行工作流实例。应用程序可能会通过WAPI来与这个服务交互。

在模型中,过程与活动控制逻辑间有一个逻辑上的分离,活动控制逻辑构成工作流执行服务器;过程与应用工具间、与终端用户任务间也有一个逻辑上的分离,应用工具和任务建立起对每个相关活动的处理。这种逻辑上的分离,为制定更多的行业标准提供了机会,也为在工作流程序中集成用户具体的应用工具提供了机会。

使用下边两个接口中的一个,就可以使工作流机访问外部资源:

客户端应用程序接口(The client application interface),通过这个接口工作流机可以与任务表处理器交互,代表用户资源来组织任务。然后由任务表处理器负责,从任务表中选择、推进任务项。由任务表处理器或者终端用户来控制应用工具的活动。

应用程序调用接口(The invoked application interface),允许工作流机直接激活一个应用工具,来执行一个活动。典型的是调用以后台服务为主的应用程序,没有用户接口;当执行活动要用到的工具,需要与终端用户交互,通常是使用客户端应用程序接口来调用那个工具,这样可以为用户安排任务时间表提供更多的灵活性。

在分布式的工作流执行服务器中,每个工作流机控制过程执行的一部分,并与这部分过程中的活动所要用到的用户、应用工具进行交互。在分布式的执行服务器中有公共的名称空间与管理范围的,从而过程定义、用户/应用程序的名称在一致的标准下被处理。分布式工作流系统,在工作流机间采用特殊的协议和信息转换格式,来同步工作流机的操作、过程交换和活动控制信息。也许工作流相关数据也要在工作流机间进行传递。在单一的工作流执行服务器中,这些操作都是由开发商自己定义的。

在工作流机间需要一个标准的交换格式,来实现异种产品间的调用。使用接口4,执行服务器可以把活动或者子过程转移到另外一个(异种)执行服务器中执行。在工作流参考模型中,这被称作“工作流机交互(Workflow Engine Interchange)”。

2过程和活动状态变迁(Proce and Activity Transitions)

工作流执行服务可以看作是一个状态变迁机器,过程或者活动的实例在响应外部事件、工作流机负责的控制判断后,其状态发生改变。

下图描述了过程实例的基本状态变迁方案:

在上图中,发生状态转移(用箭头表示)来响应WAPI的命令;过程定义中的转移条件满足,也可能发生状态转移。

初始化(Initiated)—过程实例被创建,包括与过程状态相关的日期、工作流相关数据,但是过程还没有满足条件,不能执行。

运行(Running)—过程实例已经执行,过程中的活动如果条件满足就可以执行。

激活(Active)—过程中的一个或者多个活动已经被执行。

挂起(Suspended)—过程实例被静止,并且过程中的活动不能执行,直到过程返回到运行状态。

结束(Completed)— 过程实例满足结束条件;所有的完成后操作都将被执行(例如记录日志、或者统计信息),并且销毁过程实例。

终止(Terminated)— 过程实例在正常结束前被停止;所有的完成后操作都将被执行(例如记录错误信息、或者恢复数据),并且销毁过程实例。

活动是不能被中断的,例如工作流执行服务器一旦开始了一个活动,就不能挂起或者终止这个活动。这就意味着,只有在所有运行中的活动结束后,并且过程返回到运行状态,才能对过程执行挂起、重启、终止等命令。另外,可能需要把几个活动放在一起作为“原子单元”,这些原子单元要执行就全部被执行完,如果中途出现异常则返回到开始点,重新执行。可中断活动的处理办法和原子活动单元的重新启动能力,需要进一步的考虑,这超出了WFMC的初期工作范围。

忽略那些额外的复杂事物,活动实例的基本状态和转移如下图:

一个活动的基本状态有:

初始化—过程实例中的活动已经被创建,但是还没有激活(例如,活动的进入条件没有满足),并且没有任务需要处理。

激活 —创建好的任务,分配这个活动来处理。

挂起—活动实例被静止,并直到活动返回到初始化状态,才能为其分配任务。

结束 —活动实例执行完成。

当然,一个产品也可以实现一些其他的状态类型,或者使用不同基本状态和转移来代表上图中的状态和转移。参考模型没有指定工作流系统的内部行为,但是状态

转移阐明了,API命令集的影响范围的基本观点。

3 工作流应用编程接口与数据交换(Workflow Application programming Interface & Interchange)

WAPI可以被看作是一套由工作流执行服务器支持的API调用和数据交换集合,这个集合在在工作流执行服务器的边界处,负责与其他资源交互。尽管结构中涉及到了WAPI中的5个接口,但是每一个接口中的许多功能都是公共的(即,同时被2个或者多个接口共同拥有)。

WAPI的主要功能由API调用组成。同时在WFMC也定义了接口间的,数据转换格式,例如过程定义。

4 工作流控制,工作流相关数据和工作流应用数据

工作流执行服务器维护内部控制数据,来确定过程实例或活动实例的状态,并支持其他内部状态信息。这种内部控制数据不能被访问,也不能进行转换。但是有些信息内容是要对外提供的,来响应某些特殊操作(例如,查询过程状态等)。同种工作流执行服务器可能在工作流机间交换这些信息,通过使用具体的内部对话。

工作流控制数据—由工作流管理系统和(或)工作流机管理的内部数据。

工作流管理系统使用工作流相关数据来判断转移条件是否满足,并选择下一个要执行的活动。这些数据能被工作流应用程序访问,这些数据也需要通过工作流执行软件在活动间传递。当在同种环境下进行操作时,如果过程的执行要在2个或者多个工作流中进行,那么这些数据就要在工作流机间进行传递;这个过程可能需要名称映射

或者数据转化。

工作流相关数据—工作流管理系统用来判断过程中状态转移是否可以执行的数据。 过程实例中的每个活动中可能都需要进行数据操作。因此,工作流模型必须能够在所有的处理活动间的“情形数据”交换。在一些环境中,可能需要情形数据在不同的工具数据格式间进行转换,例如,把文档从一种格式转成另外一种格式。(有的系统中,数据转换是工作流执行服务器来完成的;有的系统中直接把数据转换定义成过程中

的一个活动来执行)

工作流应用程序数据—应用程序的具体数据,并且不能被工作流管理系统访问。

工作流应用程序数据不能被工作流执行软件所使用,只与应用程序或者用户任务的执行相关。就像工作流相关数据一样,在同种执行服务器中应用程序数据会在工

作流机间进行传递,来保证活动的正常执行。

应用程序与其需要用到的工作流相关或应用程序数据间的关系,会在工作流定义中说明。在一些情况下,可能是隐含关系(例如,在一些系统中情形数据会作为活动导航的一部分,传递到下一个活动中),然而在其他情况下(例如访问共享对象存储),就需要明确定义对象的名字和应用程序的访问路径。在参考模型中,把前一种情况

称为“直接数据交换”,后一种称为“间接数据交换”。

5 数据交换(Data Interchange)

工作流相关数据和应用程序数据的交换,都需要访问WAPI,来支持在3个运行时期功能中的协同工作:

? 任务表处理器(Interface 2)

? 应用程序调用(Interface 3)

? 工作流机交换(Interface 4)

本节讲述数据交换的基本原理;提出了API命令集,包括从工作流机中接收/返回工作流相关数据的具体调用;并为直接数据交换和间接数据交换定义了,与上述

API命令集不同的命令集。

由Email驱动的工作流系统是一种典型的应用程序数据的直接交换,这样的系统中,应用程序数据物理地在活动间进行传递。这种情况下,不需要明确定义活动与应用程序数据间的关系;应用程序数据作为标准工作流活动导航的一部分进行传递,并且在应用程序调用时在本地直接与程序相关。需要在活动间提供数据格式转换时,应用程序需要定义与之相关的数据类型,可以作为一个属性来定义(这个属性信息可能存放在软件执行环境中,或者能被整个工作流执行服务器访问,例如地址目录)。这样,使用同种工作流应用程序构造的系统,就能够根据每个应用程序所定义的数据类型进行数据转换。需要采用一些协议来传递和保存数据类型信息,例如使用 X.400 对象标识符,

或者Internet mail MIME机制。

一些类型的工作流系统(例如,使用共享文档存储实现的),在活动间不能从物理上传递应用程序数据。在这些系统中,应用程序要使用适当的访问路径才能进行数据访问。这样,必须要有统一的访问路径命名方案,必须是有效的访问权限,并且由激活的过程实例来控制访问权限。在这种情况下,如果需要,在建模时,数据格式转换

也可以作为一个活动。

同种系统中可能使用私有的对象命名协定和访问权限,但是异种系统需要一个公共的方案。在异种系统中,在过程定义时必须包含对应用程序数据对象存储的访问

路径,或者在活动间的导航必须包含访问路径的传递。

同种工作流产品进行协调工作,其必须采用相同的应用程序数据交换方法,或者通过一个网关机制进行协作,网关机制通过适当的协议,可以在两种不同的数据交换方法间进行映射,也可以处理对象命名与数据类型转换的不同。以后还需要对这部分进行细化,但有可能制定一个交换标准,来包含上述的两种情况。

工作流应用程序或相关数据交换的方法,都是通过3个接口来处理的;下边列出了这3个接口:

客户端应用程序接口—工作流相关数据可以包含在任务中。工作流相关数据也可以通过共享的对象存储形式来间接传递。

应用程序调用接口—依靠应用程序调用接口进行数据转换,可能需要在调用服务中把数据包含在具体应用程序协议中。激活的工作流应用程序可以使用,读/写工作

流相关数据的API,或者用这些API来构造通用应用程序代理。

工作流机协作接口—与客户端应用程序接口相似,尽管在不同的系统中支持不同的应用程序数据交换方法,但是网关功能的使用,需要在两种方法间进行映射,也

要处理名称问题。

3.3工作流客户应用:

1工作流客户端应用程序(Workflow Client Applications)

任务表处理器是在需要调用人类资源的活动时用来与终端用户进行交互的软件。任务表处理器可以作为工作流产品的一部分提供给用户,也可以由用户自己开发。在其他情况中,工作流可能要与普通的办公系统进行集成,例如Email,来为终端用户提供一个统一的任务管理系统。这就要求在工作流执行服务器与工作流客户端应用程序

间有一个非常灵活的通信机制,来构建各种可能遇到的运行系统。 在工作流模型中,通过客户端应用程序与工作流机间的定义良好的接口进行交互。在这个接口中包含任务表—由工作流机分配给用户的任务序列。最简单的情况是,工作流机访问任务表,来把任务分配给用户;任务表处理器访问任务表,向任务表中添加任务项。有许多不同的产品来实现任务表的交互。

任务表中任务项的激活(例如,启动应用程序,连接工作流相关数据),可能是由工作流客户端应用程序或者终端用户控制的。在工作流客户端应用程序与工作流执行服务器间定义了一系列的方法,用来向任务表中添加任务项、从任务表中删除完成的活动、激活临时挂起的活动,等。

任务表处理器也可以调用应用程序,或者直接调用,或者由终端用户调用。通常希望,任务表处理器的应用程序调用范围能够受到运行环境的限制,尽管这样会给

模型带来通用性的限制,但这种情况是一直存在的。

与任务表相关的部分活动的数据,是任务表处理器用来调用应用程序所必须的信息。当应用程序数据是强类型时,在任务表处理器中要存放一个联接,用来实现程序的调用。在其他情况中,在任务表处理器与工作流机间要进行完全的应用程序名称和地址信息的交换;这时,工作流客户端应用程序也可能实现一些应用程序调用接口(接

口3)中的功能,来获得必要的信息。

任务表中可能要包含一个过程中的几个不同实例的相关任务,或者包含几个不同过程中的一个共同活动项。一个任务表处理器可能要与几个不同的工作流机、几个不同的工作流执行服务器进行交互。(按照每个产品的实现,为每个过程单独维护一个物理上分开的任务表,或者任务表处理器把几个不同的任务表联合到一起,呈现给终端

用户)

因此,客户端工作流应用程序与工作流机间的接口必须十分灵活,来满足下边的几方面功能的实现多样性:

? 过程和活动表示符

? 资源名和地址

? 数据引用和数据结构

? 可选择的通讯机制

2 工作流客户端应用程序接口(接口 2)

满足上述需求的方法,在标准API集后,可以为从工作流应用程序到工作流机和任务表的访问提供一致的形式,而不管产品的实现特性。

API与其参数可以映射到几个不同的通信机制上,来适应各种不同的工作流实现模型。

WFMC在其文档中,分开发布API规范;下边是对客户端应用程序API使用的一个概述,分成几个不同的功能。提供了对单独或者多个过程活动实例的操作命令,

就像任务表一样。

建立会话(Seion Establishment)

? 连接/断开参与系统间的会话

工作流定义操作(Workflow Definition Operations)

? 对工作流过程定义名称或者属性的恢复/查询功能

过程控制功能(Proce Control Functions)

? 创建/开始/结束一个过程实例

? 挂起/唤醒一个过程实例

? 在过程实例或活动实例中强制一个状态发生改变

? 查询过程实例或活动实例的属性

过程状态功能(Proce Status Functions)

? 打开/关闭过程实例或活动实例的查询,设置过滤标准

? 获取过程实例或活动实例的详细信息

? 获取具体过程或活动的详细信息

任务表/任务项处理功能(Worklist/Workitem Handling Functions)

? 打开/关闭任务表查询,设置过滤标准

? 获取任务表中的项目

? 通知选择/重分配/结束一个任务项

? 查询任务项属性

过程管理功能(Proce Supervisory Functions)

? 改变过程定义或者它的实例的运行状态

? 改变某种类型的所有过程实例或活动实例的状态

? 为某种类型的所有过程实例或活动实例的属性赋值

? 终止所有过程实例

数据处理功能(Data Handling Functions)

? 恢复/返回工作流相关或应用程序数据

应用程序调用(Application Invocation)

? 上边对功能的概括,为支持任务表处理器对应用程序调用提供了基础。应用程序调用功能的一些命令是与客户端应用程序环境相关的。

? 有些产品可以只实现全部WAPI的一部分;以后会给出进一步的考虑,定义一致性级别,来满足市场中不同的产品间的,不同的协作需要。

3.4被调应用程序:

1应用程序调用(Invoked Applications)

所有的WFM产品都没有足够的逻辑单元,知道如何调用所有的应用程序,这些应用程序存在异种的产品环境中。这就需要,能够处理在所有平台下和网络环境中进行调用的逻辑,并需要能使用公共格式和编码进行应用数据或相关数据传递的方法。

然而,许多工作流系统能够使用了更多受限制的应用程序,特别是那些采用强制数据类型和直接与应用程序相连的系统。在其他情况中,应用程序对操作的调用,可能是通过标准的交换机制来实现的,例如OSI TP协议或者X.400。一些实现使用了“应用程序代理(Application Agent)”,把这些在在标准接口之后的各种方法包含在工作流执行服务器中。也有可能开发“Workflow enabled”应用工具,这种工具使用标准的API集来与工作流执行服务器进行通信,来接收应用程序数据、信号和响应活动事件等。这些API可以被应用工具直接调用;也可以被应用程序代理过过程调用,作为与其他应用程序(不包含任何工作流技术的程序)交互的前端。

2 应用程序调用接口(接口 3)

下边是接口3的结构, “工作流”类型的应用程序或应用程序代理,可以直接使用这个结构。

在简单的情况中,工作流机在本地处理应用程序调用,使用过程定义中的信息来确定,活动的性质、将要调用的应用程序的类型和所需的数据。被调用的应用程序可能存储在工作流机中,或者与工作流机一同存储在相同的平台下,或者存放在一个独立的网络访问的平台中;过程定义中有足够的应用程序类型和寻址信息(工作流机的特殊需求),来实现应用程序调用。在这种情况下,应用程序命名与寻址的协定是处于工作流机与过程定义之间的。

应用程序调用API的详细语法、语义作为WFMC规范的一部分给出。操作覆盖了一些不同的基本接口,包括上表中的一部分,其中一些操作是同步的,一些是异步的。API的操作可以是单线程的,也可以是多线程的,后者使用活动ID来区分线程。下边是应用程序调用可以使用的一些命令概括:

创建会话(Seion Establishment)

? 连接/断开应用程序会话

活动管理功能(Activity Management Functions)

? 开始活动

? 挂起/恢复/放弃活动

? 活动完成通知

? 信号事件

? 查询活动属性

数据处理功能(Data Handling Functions)

? 提供工作流相关数据

? 提供应用程序数据或数据地址

更复杂的情况,异种工作流机间的协同工作,可能需要在工作流机间传递应用程序调用信息,或者作为运行时期数据交换的一部分,或者通过在过程定义阶段后导

入过程定义来实现。

3.5其他工作流执行服务:

WFMC的一个主要目标是,为不同开发商的工作流系统产品,相互间能够进行无逢传递任务项,定义标准。

工作流产品的特性变化多样。在WFMC的协同工作标准中,没有强迫开发商必须提供一个只面向用户需求的产品或者只考虑协同工作。

WFMC把焦点聚集到,开发多种不同的协同工作框架,这些框架可以操作一系列标准的协调工作,从简单的任务传递到整个工作流系统的协同工作(包括过程定义转换、工作流相关数据交换、通用的界面等)。简单的协同工作,WFMC的协同工作定义将在最初就能支持;而复杂的协同工作,还需要进一步的研究。

尽管可以开发一个非常复杂的协同工作框架,由许多个工作流机构成个执行服务器,但是这种框架不会在近期实现,因为这需要所有的工作流机都可以解释一个公共的过程定义和共享公共的工作流控制数据集,事实上是维护异种工作流机间的一个共享过程视图。现阶段更现实的目标是,能够在运行时期传递过程的某些部分,来支持不

同的执行服务器运行。

WFMC定义了4个协同工作模型:链锁式,子过程嵌套,P2P (Peer-to-Peer),相似同步,包含多种协同工作能力级别

3.6管理和监视工具:

WFMC规范的最后关注的是为管理和监视功能开发公共的接口标准,这样一个开发商的产品就可以用来管理其他工作流机的运行。通过公共的接口,几个不同的工

作流执行服务器可以共享,管理和监视功能。

尽管,过程状态命令在接口定义中已经描述了,但一致认为,在某些行业中需要,进行全部状态监视和提取信息的功能。WFMC提出的接口,是要让用户能够得到工作流运行状态的完整视图,无论是什么样的工作流系统;同时,也希望能提供一套全面的功能集,进行系统管理,包括安全性、控制和权限。

接口中包含WAPI集中的一些具体命令,来操作管理和监视功能。另外,进一步的讨论,期望能够确定在什么范围内,这个接口可以使用现有的协议(如CMIP、SNMP),来设置、恢复管理状态和统计信息(定义在开放MIB中——Management Information Base)

“工作流” 已经成为了一个事实存在的概念和名词,可是到了2007年依然找不到没有能够明确的定义,在互连网上,我们随便在GOOGLE或百度上搜索,找到关于工作流的内容及定义可以说是百家争鸣,是标准、是引擎、是技术、解决方案、是思想、是架构。。。。到底是什么?

工作流到底是什么呢,对于从事做计算机软件设计的人而言,它是一项技术、是我们为我们的客户提供解决方案框架的一部分;对于从事企业信息化管理的人而言,它是一种思想,是我们降低用户的IT运维成本的一种方法;对于从事软件开发的人而言,它是一个架构,是我们如何利用成熟稳定的接口和组件低成本的开发出适应用户流程变化的应用程序。 总而言之,工作流通过技术的手段,融入管理思想、为管理提供“人、事、物、流程、时间、条件”等多维管理能力,帮助用户实现管理目标。

既然今天谈的是“工作流”技术,那文章的重点就是占在技术的角度来讨论工作流,我们可以从以下几个方面来探讨工作流。

1、为什么要使用工作流技术

对于这个问题我们可以从软件企业的解决方案策略、用户运维的成本上及企业信息化规划等几个角度来考虑这个问题。

首先从解决方案提供者的角度来说,我们的CIO/CTO面临的一个很大的压力是在于我们为用户提供的解决方案滞后于我们的用户的商业策略,我们用户总是在变化中发展,商业策略面临着市场、竞争对手的压力而改变,而我们提供的解决方案却不能够快速适应这样的变化。工作流技术使这样的一种解决方案成为可能,同时工作流技术也为用户企业实现企业战略执行提供了实现的平台。

从IT运维的角度来说,目前很多IT公司面临了一种CTO(总体拥有成本)成本比例的变化趋势。因为大部分IT企业或IT部门的IT基础架构的现状,使我们用户运行维护的成本在逐步的升高,研发新能力的成本在逐步压缩,但我们的IT投资始终会变缓,特别是IT运行维护的成本在总体拥有成本中的比例。意味着IT企业和IT部门利益的空间将越来越小,其实我们身边的很多案例里就有很多IT企业被某些项目拖累致倒闭的现象。工作流技术可以脱离开发环境而设计业务流程的特性让企业IT运行维护成本大大的降低,从而提高了IT企业和IT部门的利益空间。

从企业信息规划的角度来说,可以回顾前些年的ERP、进销存、CRM等系统,大部分是管事的,系统主要是记录数据及其关联关系等,是静态为主的,但随着社会的发展与竞争格局的变化,企业的策略越来越需要能随需而动,生产管理活动也始终是“人”参与的活动,很多时候人需要激励、参与、满足、约束、被管理等等才能很好达到管理目标。因此新一代管理系统中协同性、灵活性、扩展性需求相当重要,工作流是提供协同性、灵活性、扩展性的最佳工具。

2、工作流用在哪里

毫五疑问,工作流技术是软件技术,用在软件设计领域,工作流分为业务型工作流和状态型工作流,业务型工作流大部分是要用在管理软件设计领域,为管理软件提供灵活性、扩展性、协同性等特质。帮助企业实现战略管理目标。

常用的工作流应用场景:

企业办公自动化系统

IT服务管理系统

客户服务管理系统

物流揽收调度系统

设备运维管理系统

质量考核监督系统

采购系统。。。。

3、如何使用工作流及哪些人使用

很多时候工作流是一个看不见摸不着的东西,存在于我们的业务管理系统软件中,至于如何使用、哪些人使用可以从几个方面说明。

工作流引擎是系统功能,是软件本身去使用的, 工作流架构是包含工作流引擎使用、接口调用、业务系统应用框架的,是开发人员使用的,开发人员在工作流架构上设计开发包含工作流技术的不同业务领域的软件系统。

工作流平台一般是包含流程设计工具的,由企业流程管理用户去使用,通过工作流平台提供的流程管理工具将企业的战略和制度转化为执行语言。

软件系统普通用户使用的则仅仅是包含企业战略执行语言的业务管理系统。

4、工作流技术的选型

关于工作流技术的选型,对于从事IT工作的人员来说是一个需要非常慎重选择,在这里做些简单的阐述,工作流技术分为两种。一种是业务流程型的,比如我们的一些事件处理、服务流程、物流揽收调度、合同审批、设计审核等,需要工作流引擎根据各种表单的内容来人机交互来自动管理这个过程;另一种是状态机型的,根据一件事情的状态变化而自动进行处理,如工业控制,电路控制管理等。常用于一些工业自动化控制系统等。

我们经常听到有人说工作流引擎可以很快的就配置出一个业务系统出来,自定义表单,自定义流程,自定义报表等等,很快就给用户提供一个完整的业务系统,其实这样的想法是非常理想的,我们在开发我们的业务系统的时候我们会发现我们的业务系统不仅仅是功能的实现,它将面临着各个方面的需求,包括性能,并发处理能力、易用性、一致性及个性化等等,当工作流引擎只能满足60%的需求时,我们的团队将为另外的40%需求付出多少成本。因此在工作流的选型上很重要的一点就是它对于二次开发的支持,及接口的友好特性,同时它能支持我们在工作流基础上设计思路上的延续性。

因此工作流技术的选型不但要考虑工作流引擎本身功能的完整性和稳定性,工作流架构的扩展性、易用性及适应能力,还需要考虑工作流涉及开发人员、企业管理实施人员、企业用户的习惯和易用性等。纯粹的工作流的产品意义并不大,关键是否能很好的帮助企业实现管理目标。

5、工作流技术的应用

E8.Net工作流平台融入了新一代管理软件关注的重点思想,所有功能模块应用将权限体系、工作流引擎体系、表示逻辑体系、管理控制逻辑体系、扩展及个性化接口体系充分结合,从架构的设计上优化企业个性化业务系统实施成本,并通过流程管理工具,为企业实施个性化的企业流程,通过记录、监督、跟踪、回访、分析企业日常事务,持续改善企业管理流程,E8.Net工作流平台开源的开发架构设计过程中充分分析了管理行为中人的特性,基于E8开发的企业流程应用系统提供了事中监督、事后回访、全程跟踪的体系架构,E8工作流引擎功能设计中也充分考虑了流程和环节模型特性、环节行为人群体特性和中国特色,流转过程中基于权限体系提供了人为因素中“主动/被动”异常的解决思路,解决快速实施企业业务流程需求的同时,又提供了人性“非理想”状态下的异常解决方案和防范控制解决方案。

工作流技术在协同办公中的实现

http://www.daodoc.com 2008年10月28日 17:04 比特网ChinaByte

一、协同办公(OA)系统简介

协同办公(OA)系统是一套兼具企业信息门户、知识管理、工作流管理、人力资源管理、客户与合作伙伴管理、项目管理、财务管理、资产管理功能的协同商务平台,协同办公(OA)系统是一个数字化的企业应用环境,真正让公司所有的信息都在一个平台上管理,解决信息孤岛问题。协同办公系统本身具有的网状结构,为企业打通所有的信息节点,让企业管理者轻松穿梭在客户、员工、文档等所有的信息节点上,因为协同办公系统为您提供了一张信息网,只要您找到这张信息网中的某个节点,您就可以轻松的以这个节点为中心把企业的整个信息网都提取出来。

同时,协同办公(OA)系统可以与后台的ERP软件集成在一起,将所有利益相关者、企业部门、不同应用系统的信息整合到统一的渠道,并提供统一的界面给用户操作和提取信息,从而实现业务处理和信息获取与共享的一体化,达到内部协同和外部协同,为每一个用户提供一个完全的个性化门户,用户在这个个性化的门户中管理日常的所有事务。

二、工作流管理简介

由于工作流预先定义的特性,已设定的请求可以很容易的遵守相应的规则和实际操作情况。企业可以确信所有的请求都是根据规则和手续来输入和批准的,从而保证企业运作的规范化和透明化。上海泛微软件公司的协同办公(OA)系统中实现的工作流e-Workflow管理可以对内部以及外部业务处理采取电子化管理方式管理,工作流管理是提高组织效率的有效工具。

e-Workflow提供强大的自定义功能,支持企业复杂的工作流设置。企业可对工作流的组成因素包括流程完成需要的阶段、每个阶段的负责人、流转条件,直至相对底层的表单和字段进行自定义,使得工作流的定义完全与企业的政策和实际运营相符合,而不必进行复杂的二次开发。

e-Workflow同时也提供了可定制的浏览和报告的功能,用户可以对工作流的关键信息进行任意的定义以获得特定的报表。e-Workflow的特性可以使用户获得非常灵活和丰富的统计报告以对相关的决策作出支持。

三、工作流管理实现基本功能

1定义任意形式的工作流程

e-Workflow强大的自定义功能可以满足企业对复杂工作流程的定义,包括文档流程和表单流程e-Workflow 与 e-HRM结合对于人员在组织结构中的地位和角色将是工作流设计的基础。

2工作流执行

可设定的对工作流的执行包括提交、批准、退回、拒绝、代理、重新打开、归档等,e-Workflow会根据路由的判定条件和当前节点的执行操作设置工作流的下一目标节点。

3 固定流程和自由流程的结合

原则上是固定流程,应该一步步走下去,但是在某个节点,加入一个自由流程审批人可以选定下一步的审批人,然后再按照预定的流程走下去。

如:申请者-部门经理-出纳-财务经理,对于大一点的公司,有多个出纳,哪个出纳在岗,就让哪个出纳审,那么就可以把出纳那步设成自由流程,当部门经理审批完后,会自动列出所有的出纳,部门经理选择其中的一个出纳然后提交。

4表单数据自动生成

表单的有些数据,不希望由人工输入获得,e-Workflow可以根据被计算字段、原始数据和计算方法自动得出目标字段数据,并可以此作为下一路由选择的判断条件。

5跟踪和回溯

e-Workflow保留工作流流转过程中的所有信息以供查询。对于文档型的审批,可以保持痕迹。这样审批人能够一目了然知道原稿和审批稿的区别。

6 监控和管理

对于某个模板产生的单据,可以设定监督人和管理人,这样既使他没有审批权,也可以看到该单据,同时发送催办信息。当某个单据因为某种原因需要临时更改流程时,监督和管理人可以修改流程,以避免单据的积压提高工作效率

7自动提醒

对于请求的不同状况,例如新的请求到达、待处理请求、超时未处理请求、客户联系计划、请求递交被处理状况等,系统都设定了多种提醒功能以确保请求的处理不致延误。

8流程自动激活

e-Workflow的一个强大之处就是在于它可以让系统在运作的过程中自动触发请求,并且还可以根据前一个请求的实际状况对下一个触发的请求进行智能选择。

9自动更新数据库

e-Workflow在信息流转的过程中,会自动更新系统原有的相关数据库,这是 e-Workflow 另一个重要的特性体现,通过数据自动更新,避免了二次手工录入带来的工作效率低下和失误的情况,真正实现企业管理和运营的电子化。

10分支选择流

根据上一步的选择,选择不同的分支进行流程执行。如:如果上一步是总经理审批的,会选择一个分支进行流转。如上一步是副总审批的选择另外一个分支进行流转。

11条件流转

以请款单为例:金额小于3000元,审批流程是:普通员工-部门经理。如果金额大于3000元的审批流程是:普通员工-部门经理-总经理,那么在流程定义的时候,需要根据单据的填写值进行判断,系统自动选择流程。

12传阅、归档等的并发流

如有一个流程:申请者-副总经理的一张单子,申请者需要提交副总审批的一张单子,不需要部门经理审批,但是需要让部门经理知晓,称为传阅的并发流。同理有归档或者其它的并发流。这种并发流的特点是一个流程的执行过程中,会产生另外的的流程,互不影响。

13流程门户定义

通过与企业信息门户的结合,e-Workflow实现流程定义的门户化,根据不同的信息门户设定不同的流程。

四、小结

工作流技术的出现和迅速发展为企业先进制造战略的实施提供了重要的技术支持。本文提出了分布式工作流建模工具的设计框架,以 SOA设计模式,通过三层结构的方式很好的实现了工作流建模工具、逻辑、数据、视图的分离,使得系统在可扩展性、可靠性与实用性方面都大大提高。以此为原型开发的泛微e-Workflow工作流管理系统很好的配合了工作流引擎的设计。在实际中的初步应用表明该系统通过分析企业不同类的经营过程,采用有向图的方法对现实的企业活动进行形式化描述,并严格定义组成有向图的各类元素的行为特征,从而明确建立企业经营过程到工作流模型的映射机制.使其与企业现有应用结合形成一个完整的过程体系。责任编辑:胡艳丽 工作流管理技术介绍

2009-11-25 作者:葛志春 来源:希赛网

摘 要:本文主要对工作流技术的起源,工作流的概念,研究的技术的内容及工作流管理系统作了深入的介绍;并对工作流技术在国内外的应用现状及不足作了深入的分析。

关键词:工作流、表单

1、工作流技术应用背景

传统的计算机管理信息系统的主要功能有三个:即信息处理、事务处理与决策支持。信息传递和信息处理构成了企业和行政管理部门的业务工作内容之一,也是计算机信息系统的主要功能之一,它是企业和行政管理部门进行事务处理和决策支持的基础。

当PC机没有作为信息处理工具而出现的时候,纸张是进行日常业务活动不可取代的载体。这种传统的纸张为载体的信息传递与处理方式的效率很低,需要花费相当的人力、物力来完成信息的处理、组织、存储以及查询检索,同时这种方式降低了对客户需求的响应速度,给企业和行政管理部门的生产经营都带来了及不利的影响。在计算机得到了广泛普及、计算机应用水平日益提高的情况下,企业与行政管理单位的工作人员希望能够以一种无纸化的、计算机使能的工作环境来开展日常业务工作。一些企业和行政管理部门因此建立了相应的文件、表单传递系统(Forms-routing applications)用来实现日常表单处理的电子化与自动化。这种简单的文件、电子表单系统可以看作是工作流应用的雏形。

企业的经营过程是由一系列相关的任务组成的;这些任务按照企业的管理规章与业务流程串行或并行的执行,最终完成企业的经营目标。自从进入工业化时代以来,有关过程的组织管理与流程的优化工作就一直在进行,它是企业管理的主要研究内容之一。只不过在没有引入计算机信息系统的支持以前,这些工作是由人工来完成的。随着市场经济的发展,市场竞争的日益激烈,企业要求其业务过程能够进行快速重组;业务过程的不断变化也相应要求信息系统能够快速重组。这样,单靠人工对企业过程进行重组和传统的面向功能的信息化计算机系统已经不能适应现代企业的发展。因此,企业希望有一种能够实现企业快速业务流程重组和业务过程自动化的软件系统。在计算机网络技术和分布式数据库技术迅速发展、多机协同工作技术日臻成熟的基础上于20世纪80年代中期开始提出了工作流的概念。工作流技术的提出与发展为企业更好的实现这些经营目标提供了先进的手段。

随着经营业务的展开企业的物理位置逐渐分散、部门间的协作日益频繁;决策过程的分散性也日益明显,对日常业务活动详细信息的需求也日益提高。因此,企业又要求信息系统必须具有分布性、异构性、自治性。在这种大规模的分布式应用环境下高效地运转相关的任务,并且对执行的任务进行密切监控已成为一种发展趋势。在这种技术背景下,工作流管理系统也有最初的创建无纸化办公环境,转而成为同化企业复杂信息环境、实现业务流程自动化的必要工具。这样的一个转变,把工作流技术带入了一个崭新的发展阶段,使得人们从更深的层次、更广的领域上对工作流展开了研究。

1993年工作流技术的标准化组织工作流管理联盟(Workflow Manangement Coalition 简称:WfMC).的成立标志着工作流技术在计算机应用领域之中被明确的划分出了自己的一席之地,相应的概念与术语也得到了人们的承认。在全球范围内,对工作流的技术研究以及相关的产品开发了进入了更为繁荣的阶段。

2、工作流定义

工作流是从英文单词Workflow翻译而来的。Work表示工作或任务;Flow则表示流动、流程或者流量。Flow反映了一种变化及变化的过程,本身意义比较抽象,但是当它与某一个具体过程相联系时就有了具体的含义,如电流、水流、气流。在经营管理与生产组织中Flow也有重要的意义,如表示物料传输过程的物料流、表示资金流动的资金流、反映信息处理和传递过程的信息流,同样还有价值流、决策流、控制流等概念。依此,用活动及活动之间变化的过程表示的业务流程就是工作流。

十几年来,不同的研究者和产品供应商从不同的角度给出了工作流的定义,但到目前为止,对于工作流仍没有统一的定义。下面列举了一些有代表性的定义,可以使我们对工作流的一些基本特征有一定的理解。

WfMC的定义:工作流是一类能够完全或者部分自动执行的经营过程,根据一系列过程规则,文档、信息或任务能够在不同的执行者之间传递、执行。

Forrester Report的定义:日常的业务处理或协同工作能按预先定义好的规则和过程进行流动,并且这一流动过程能被跟踪和监控。

Giga Group的定义:工作流是经营过程中可运转的部分,包括任务的顺序以及由谁来执行它,支持任务的信息流、评价与控制任务的跟踪、报告机制。

IBM Almaden Research Center的定义:工作流是经营过程中的一种计算机化的表示模型,定义了完成整个过程所需用的各种参数。这些参数包括对过程中每一个单独步骤的定义、步骤间的执行顺序、条件以及数据流的建立、每一步骤由谁负责以及每个活动所需要的应用程序。

Amit Sheth 的定义:工作流是涉及到多任务协调执行的活动,这些任务分别由不同的处理实体完成。一项任务定义了需要做的某些工作,它可以以各种形式来进行定义,包括在文件或电子邮件中的文本描述、一张表格、一条信息以及一个计算机程序。用来执行任务的处理实体可以是人,也可以是计算机系统(如:邮递员、一个应用程序、一个数据库管理系统)。

以上这些定义,虽然表述方式略有不同,但是基本上都说明了这样一个问题,即工作流是业务过程的一个计算机实现,而工作流管理系统则是这一实现的软件环境。使用工作流作为业务过程的实现技术首先要求工作流系统能够反映业务过程的如下几个问题:即业务过程是什么(有哪些活动、任务组成,也就是结构上的定义)、怎么做(活动间的执行条件、规则以及所交互的信息,也就是控制流与信息流的定义)、有谁来做(人或计算机程序,也就是组织角色的定义)、做的怎样(通过工作流管理系统对执行过程进行监控)。因此,可以说工作流是一种反映业务流程的计算机化的模型,它是为了在先进计算机环境支持下实现经营过程集成与经营过程自动化而建立的可由工作流管理系统执行的业务系统。

3、工作流技术研究的主要内容

工作流技术,在初期主要由工作流产品供应商推动其发展。随着工作流产品在实际应用中不断取得良好的效果而得到了人们日益的重视,并且到了迅速发展。相对于工作流产品的繁荣,工作流相关理论研究则显得滞后。在过去很长一段时间里,有关工作流技术方面的研究主要有商品化的工作流产品供应商所领导。本着把工作流产品推向市场的目的,这些供应商大多把研究的注意力放在工作流管理产品的开发实施方面。目前在工作流设计方法学,工作流概念模型等方面还没有形成一套比较成熟的理论和方法。在工作流理论与实施技术方面,研究的主要内容包括:

工作流管理系统体系结构;

工作流模型与工作流定义语言;

工作流的事务特性;

研究如何实现高级事务处理技术与工作流管理技术的结合,用定义良好的模型语义与恢复机制来提高工作流系统的正确性与可靠性,从而能够更好的支持复杂的业务过程;

工作流实现技术:包括面向对象技术、异构分布式计算技术、图形化用户界面、消息通信、数据库、WEB等在内的与工作流系统的设计实现有关的各项技术及方法;

工作流的仿真与分析方法;

基于工作流的应用集成与互操作技术;

研究异构应用系统的集成以及不同工作流系统之间的互操作问题;

工作流与经营过程的重组:研究如何通过工作流系统的实施支持快速的实现经营过程重组;

工作流技术的其他应用:研究如何将工作流技术在不同的领域进行运用,包括在CIMS中的应用。

上述主要研究课题可以归纳为三个方面(如图1):第一方面是工作流的理论基础,包括工作流管理系统的体系、模型与定义语言(工作流的建模方法、工作流模型的形式化表示、工作流定义语言)等的研究。这一部分是工作目前相对来说比较薄弱,还有许多问题需要进一步研究。第二方面是工作流的实现技术,包括工作流的事务特性、各种先进软件技术的应用、工作流仿真。这方面研究工作的目标是提高工作流管理系统的性能,尤其是提高工作流管理系统可靠性及其在处理大规模复杂的且具有并行业务的流程方面的能力。第三方面是工作流技术的应用,包括工作流实施技术在不同应用领域的应用(如在企业经营过程重组、并行过程、敏捷制造)方法、应用软件集成等。这几方面研究的目标是发挥工作流管理系统的优势,为解决具体应用领域内的问题提供有向实现手段。

图1:工作流技术研究内容

4、研究工作流的意义

工作流技术的应用将给组织单位带来巨大的效益。首先,采用工作流管理将使组织单位改变传统的按照功能来配置人员的组织结构,变成按照要实现的主要业务流程来配置组织结构,这样可以大大缩短主要业务过程的处理时间,提高对市场的响应能力。其次,组织结构的改变将大大减少在组织内部不必要的的物料、信息的传递时间。当然,整个组织结构的调整首先需要调整传统的以部门为单位的做法,变成以项目来组织生产和人员的工作方法,如:一个人可能同时从属于多个项目。应用工作流管理系统主要可以取得如下好处:

1)提高管理的规范化程度;

2)更好地与上下游单位形成快速响应市场的供应链网络;

3)降低业务过程的整个处理时间,如在办公自动化环境中,通过更好的规划工作流程,并行执行相互独立的活动,减少文档的传递时间;

4)降低管理成本,如避免不必要的重复的工作,提高工作人员的工作效率;

5)改进工作质量,如自动完成某个任务所需要的相关信息。在客户服务中,能够快速方便的访问所有相关数据和工作流程,从而大大提高客户服务质量;

6)在工作人员之间更好的均衡负荷,如在工作人员缺勤的情况下,自动柔性分配替代人员;

7)通过在工作流模型中加入可预计的故障的处理策略来提高系统的柔性;

8)通过对已经完成的工作流实例的分析,找出存在的不足,进而不断改进工作流程;

9)使工作内容更加丰富,并且提高工作人员的业务能力,减少工作人员进行单调乏味并且十分耗时的文档查找工作。

采用工作流管理系统可以在最大程度上集成组织的现有信息资源,实现资源的充分利用。由于工作流管理系统具有较好的柔性和开发性,因此,可以保证信息系统能够顺利的扩展以满足不断变化的市场环境。另外,工作流管理系统在工作流模型的基础上进行业务过程进行,这就意味着信息系统已经从过去没有一个具体的可量化指标的管理信息系统,发展到了一个建立在工作流模型上(并且是可以利用BPR或者其他仿真工具进行优化后的模型),按照预先定义好的规则进行执行,并且对于执行的结果随时进行监控和评价的规范化阶段。这种由过程建模—〉模型分析—〉过程优化—〉执行结果—〉统计分析—〉改进业务过程—〉优化运作的实施方法为成功地实施信息系统奠定了坚实的基础。

5、工作流管理系统

工作流技术是当今一项飞速发展的技术,它最基本的特性就是它能够结合人工和机器的行为,特别是能够与应用程序和工具进行交互,从而完成业务过程的自动化处理。

工作流是业务的自动化处理过程,在这个过程中,根据预定义的规则将文档、信息在过程参与者中传递,最终完成业务的处理。工作流管理系统(WFMS)是通过管理一序列工作行为以及与活动步骤、相关人员、资源设备来提供业务处理程序上的自动控制,它是通过计算机软件来定义、管理和执行工作流,计算机的执行顺序是由工作流逻辑的计算机描述来驱动的。

工作流管理系统主要具备以下三个功能特征,如图2:

工作流定义功能,主要是对业务处理过程的计算机定义,提供了一种或多种分析、建模、系统定义技术,将一个现实世界的业务处理过程转换成计算机可处理的定义;最终的定义叫作过程模型、过程模版或过程定义,可以表现为文本、图形或自然语言符号。

运行控制功能,对过程的定义进行解释,创建并控制过程的运行实例,调度过程的各种行为步骤,调用适当的人工和IT应用程序资源;工作流管理系统的核心部件就是工作流管理控制软件(工作流引擎)。

运行交互接口,提供与人员或IT应用程序工具进行交互接口来处理各种活动步骤,交互接口对于活动间的控制传递是必须的,如确定过程的状态,调用应用程序工具,传递应用程序数据等。

图2WFMS的三个特征

6、工作流管理系统的分类

根据所实现的业务过程,工作流管理系统可分为四类:

1) 管理型工作流(administrative workflow):在这类工作流中活动可以预定义并且有一套简单的任务协调规则,例如,大学里的课程选修,完成论文后的学位申请等。

2) 设定型工作流(ad hoc workflow):与管理型工作流相似,但一般用来处理异常或发生机会比较小的情况,有时甚至是只出现一次的情况,这与参与的用户有关。

3) 协作型工作流(collaborative workflow):参与者和协作的次数较多。在一个步骤上可能反复发生几次直到得到某种结果,甚至可能返回到前一阶段。

4) 生产型工作流(production workflow):实现重要的业务过程的工作流,特别是与业务组织的功能直接相关的工作流。与管理型工作流相比,生产型工作流一般应用在大规模、复杂的和异构的环境下,整个过程会涉及许多人员和不同的组织。

根据底层实现技术, 可将工作流产品分为三类:

1)以通讯为中心:以电子邮件为底层的通讯机制。这种类型的工作流管理系统适合于协作型工作流和不确定型工作流,而不适于生产型工作流。

2)以文档为中心:基于文档路由,它同外界应用的交互能力有限。许多基于表的管理型工作流可以用以文档为中心的工作流实现。

3)以过程为中心:这种工作流系统对应生产型工作流。它们一般建立在数据库之上,有自己专用的通信机制并且提供了同外部进行交互的接口。

根据不同工作流系统所采用的任务项传递机制的不同,市场上的工作流产品又可以划分为四类:

1)基于文件的工作流系统:以共享文件的方式来完成任务项传递。这种类型产品开发得最早、发展最成熟、其产品品种较多。代表产品有FileNet的Visual WorkFlo、IBM的FlowMark、InConcert的InConcert。

2)基于消息的工作流系统:通过用户的电子邮件系统来传递文档信息。这种类型的产品一般都提供与一种或多种电子邮件系统的集成接口。代表产品有Novell与FileNet合作开发的Ensemble、JetForm公司的InTempo、Keyfile公司的Keyflow。

3)基于Web的工作流系统:通过WWW来实现任务的协作。这一类产品起步较晚(在95年以后),但是发展迅速,其市场前景十分看好。许多供应商纷纷改进原有产品或开发新产品以增加对Web的支持。代表产品有Action Technologies公司的ActionWorks Metro、Ultimus公司的Ultimus。

4)群件与套件系统:虽然这一类产品与上面介绍的三种产品在任务传递方式上有很大程度的重叠,但是在这里却有必要把它们单独划分成一类,因为这一类产品都需要依赖于自己系统的应用基础结构,包括消息传递、目录服务、安全管理、数据库与文档管理服务等,它们本身就构成了一个完整的应用开发环境。代表产品有IBM/Lotus公司的Lotus Notes、Microsoft公司的Office与Exchange、Novell公司的GroupWise。

7、工作流管理系统的实施

工作流管理系统不同于ERP和普通的企业管理信息系统,ERP与普通的企业管理信息系统是事务处理系统,其主要目的是满足企业业务操作功能,提高企业事务处理的效率和水平。从企业整体的业务流程和企业经营目标上看,事务处理系统一般局限于解决某个或者某些领域的问题;事务处理系统的另外一个局限性是它一般局限于解决组织内部的具体操作问题,面向组织内部功能,而不是面向市场和面向客户的系统。工作流管理系统的着眼点是面向市场、面向客户,其目标是在整个企业的业务层提高企业的业务处理水平、强化企业的市场意识、提高对市场的应变能力。

由于工作流管理系统与普通事务处理系统存在显著的差别,工作流管理系统在实施方法上也不同于普通的事务处理系统。要实施工作流管理系统首先要在战略层次上对经营目标进行分析,确定战略目标和组织要求。工作流管理系统实施的层次结构,如图3。

图3 WFMS实施的层次结构

在完成了战略目标分析和工作流实施战略后,工作流管理系统才能够进入真正的实施阶段。工作流管理系统在实际系统中的应用一般分为3个阶段,如图4,即模型建立阶段、模型实例化阶段和模型行阶段。模型建立阶段通过利用工作流建模工具完成经营过程模型的建立,将实际经营过程转化为计算机可处理的工作流模型。模型的实例化阶段完成为每个过程设定运行所需的参数,并分配每个活动执行所需要的资源(包括资源、人员、应用)。模型执行阶段完成经营过程的执行,在这个过程中重要的任务是完成人机交互和应用的执行,并对过程与活动的执行情况进行监控与跟踪。

图4 WFMS 实施的三个步骤

8、国内外应用现状与不足

8.1 应用现状

目前工作流技术的研究正日益受到人们的重视,许多大学和研究机构都开展了很多研究项目,取得了重多的研究成果,对工作流技术的发展做出了贡献。

由于工作流应用环境大多是在复杂的分布异构环境中,如企业内部网或因特网,因此应用最新的分布对象处理技术和Web技术,实现工作流管理成为当前研究的重点。有影响的工作流原型系统有:

1)美国佐治亚大学研制的Meteor系统:该系统是一个支持多范型的工作流管理系统,主要用于处理医疗保健应用。多范型是指该系统能够支持分布异构环境下的企业内和企业间的各种工作流。这些工作流可以是数据库管理系统和分布式事务处理系统中的事务,也可以是EDI等特殊应用。Meteor系统可以在Web或CORBA环境下运行。

2) 美国普度大学开发的CORBAflow系统:该系统提出了基于CORBA的体系结构,支持跨平台的异构分布系统集成,支持弹性ACID性质;扩展了IDL语言以定义事务性工作流中的补偿事务。

3) 土耳其中东大学开发的METUFlow系统:该系统提出了一种基于CORBA环境的工作流服务,包括基于ACTA扩展事务模型的工作流模型、块结构化定义语言、工作流调度管理和并发控制机制等。

工作流的许多概念来自于办公自动化、文档管理、计算机支持协同工作(CSCW)等领域。至今约有300个称为工作流工具的商品化软件,但只有数十个是真正的WFMS软件。一些著名的WFMS产品有:

1)IBM公司的FlowMark系统[9]该系统由对象数据库管理系统ObjectStore支持。主要组件包括服务器、建立客户器、运行客户器和程序执行客户器。服务器负责与数据库交互及协调工作流执行;建立客户器提供用于设计工作流的图形接口;运行客户器提供工作表方式的用户接口;程序执行客户器提供API调用方式的应用接口。

2)Action公司的ActionWorkflow系统该系统由微软的SQL服务器或Lotus Notes支持,包含三个基本组件:①管理系统内核用于集成和管理工作流事务;②分析器提供设计工作流的专门工具;③应用建立器用于将工作流定义转化成可执行的过程。此外,还提供辅助工具,如报表器用于查询工作流的进展状态。

3)Sigma图象系统公司的OmniDesk系统它使用提供ODBC接口的数据库。其中,路径管理器用于工作流管理和负载平衡;路径建立器用于定义路径逻辑;表格建立器用于创建工作流接口。虽然OmniDesk系统主要是为图象文档管理设计的,但是也可以管理其他类型的工作流。

4)Wang公司的OPEN/workflow系统该系统建立在自含的数据库引擎之上。系统分为数据库服务、图形过程建立器、集成工具箱、报表工具。数据库服务提供基本的完整性、安全性、并发控制、恢复和管理功能;图形过程建立器用于定义过程;集成工具箱提供应用之间交互需要的API调用和通信服务;报表工具如查询建立器和报表建立器用于访问有关过程执行的信息。

8.2 工作流应用技术的不足

实际上,大多数产品的开发由于没有清楚地理解用户的需求,而不能满足用户的迫切需要。许多工作流系统主要是解决共享和协作(某些问题仍未很好解决,如异构平台环境、多媒体数据),而像性能、可伸缩性、可靠性对于复杂应用系统来说至关重要的问题,现有工作流软件并没有考虑。主要原因是,这些系统的建立不是基于在线事务处理(OLTP)技术和数据库技术,只是使用数据库做底层存储,因而在这些领域缺乏技术成熟性和系统健壮性。

另外,由于已有的绝大多数WFMS产品和原型系统的设计是面向普通的办公室应用,因此存在以下不足:

1)工作流模型只能描述如办公自动化中电子邮件或文档等简单的工作流,而不能描述工程设计等复杂过程处理。

2)经营业务流程往往是复杂的异构环境,现有产品不能提供很好的互操作性。例如,在异构环境中,IBM的FlowMark不提供API接口以支持一个工作流的输出,作为下一个工作流的输入。

3)一个工作流可能涉及到多个单位和车间,或多个工厂和企业,例如,在虚拟制造应用中,可能包含成百上千个用户,覆盖广域网络中的数十个场地,上百台计算机系统。大多数现有工作流软件只是设计为一种协作工具,适用于小群体之间业务的工作流,在体系结构上存在缺陷,缺乏可伸缩性。

4)现代组织应用要求系统具备非常高的可用性和健壮性。现有工作流软件只适合于小团体和轻负载,缺乏有效的后备机制,不具备强的故障恢复能力。

为了进一步研究开发支持应用集成的CIMS工作流管理技术,我们认为,需要解决以下关键技术:

1)面向CIMS的工作流建模技术包括工作流模型和定义语言。如何采用弹性事务模型、分层事务模型和工程数据模型相结合的方法,设计出一种适合于CIMS工程应用的工作流模型。

2)基于CIMS信息集成平台的工作流管理系统体系结构CORBA软件总线提供了良好的平台透明性和分布透明性,以及分布对象操作能力,如何充分利用CORBA软件总线和信息集成平台,实现一个高效的工作流管理系统。 3)面向分布对象的工作流管理和执行技术CORBA软件总线系统提供了对象引用、启动和联编机制。工作流管理与执行机制需在此基础上完成作为对象任务的创建、调度、执行、提交或取消,保证工作流的正确性和可靠性。还需要考虑在CORBA软件总线上增加新的公共服务,如持久性对象仓储服务、故障恢复服务等。

4)面向CIMS目标产品的集成技术工作流管理系统是一种中间件技术,适合于任何计算机分布处理系统,在CIMS应用集成涉及的有关系统中,如PDM、MRPII等,都需要这方面的集成技术。

参考文献

[1] 林惠萍、范玉顺、吴澄 ,“支持企业经营过程重组的工作流仿真技术研究”,http://www.simflow.net

[2] 范玉顺 ,《工作流管理技术基础》 ,清华大学出版社 ,2001.4

[3] 陶冶、范玉顺、罗海滨 ,“分布式工作流系统的可靠性研究”,http://www.simflow.net

[4] 罗海滨、范玉顺、吴澄 ,“工作流技术综述” ,http://www.simflow.net

[5] 范玉顺、吴澄,“基于工作流的CIMS应用集成支持系统研究” ,http://www.simflow.net

[6] 刘佚名、范玉顺 ,“基于工作流的企业过程的建模和仿真技术研究” ,http://www.simflow.net

[7] 范玉顺、吴澄,“基于协调理论的工作流建模方法” ,http://www.simflow.net

[8] 陶冶、范玉顺、罗海滨 ,“提高分布式工作流管理系统的可扩展性”,http://www.simflow.net

[9] 鲍震宁、范玉顺 ,“企业组织模型结构和建模方法研究” ,http://www.simflow.net

[10] 罗海滨、范玉顺、吴澄 ,“一种面向企业用户的工作流模型” ,http://www.simflow.net

办公自动化论文:办公自动化 工作流

T6工作流设置

工作流配置方法

浅谈JBPM工作流

OA工作流示例

工作流中间件InfoFlow

工作流与信息流

JBPM工作流文档

培训管理工作流

出纳基本工作流1

工作流技术研究
《工作流技术研究.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
相关专题 工作流技术 工作流
点击下载本文文档