首页 > 方案案例 > 正文

工作流管理技术与系统

2012-04-13 10:45:08  来源:万方数据

摘要:根据负责工作流管理系统标准化工作的工作流管理联盟(wfMC)的定义,所谓工作流是一类能够全部或者部分由计算机支持或自动处理的业务流程。
关键词: 工作流
    1 工作流定义

    工作流,即全部或者部分由计算机支持或自动处理的业务流程,它提供了业务流程逻辑与IT操作支持的分离,从而以后可以通过修改业务流程规则来重新定义新的业务流程,实现所要达到的目标。根据负责工作流管理系统标准化工作的工作流管理联盟(wfMC)的定义,所谓工作流是一类能够全部或者部分由计算机支持或自动处理的业务流程。它根据一系列的过程规则,使文档、信息或者任务能够按照事先定义好的规则在不同的参与者问进行传递与执行。

    2 工作流管理系统

    工作流管理系统是这样的一个系统,完整地定义、管理工作流,并且依照在计算机所定义好的工作流逻辑,即业务流程定义,来推动工作流的顺序执行。它是支持企业经营过程高效执行并监控其执行过程的计算机软件,且以可视化的方式支持各种业务流程的直观定义,最大限度地实现业务流程的自动化,支持对业务流程的实时监控;同时,提供便捷的系统配置、管理设施。

    2.1 工作流管理系统功能

    从较高的抽象层次上分析,工作流平台提供以下三种功能:

    (1)建立阶段的功能:主要目标是通过分析、建模及系统定义手段将现实世界的业务流程转化成能够被计算机处理的形式化表示。这种形式化表示称之为流程模板。流程模板中包含业务流程的基本信息,流程中的各个活动步骤的描述,同这些活动相关的各种计算机或人工操作,以及在各个活动之间进行切换的各种控制规则。流程模板所定义的,实际上就是控制工作流流程执行的各种参数,包括工作流环境中相关联的参与者,流程过程流转的脚本判断的实现。

    (2)运行阶段的控制功能:运行阶段,控制系统将解释先前定义好的流程模板,完成流程模板实例的创建和控制。管理过程中的各个活动信息,按照活动的执行时间,为所涉及到的活动节点参与者生成待处理的任务列表,并在合适的时机依照流程模板调用有关的应用程序资源。

    (3)运行阶段的人机交互功能:在流程实例的执行过程中,除需要了解过程的运行状态,用户经常需要根据实例的状态,使用某种应用程序来完成工作流模板所要求完成的处理或操作,例如填写表单,或使用某个应用程序生成新的文档或处理其他行为传递过来的文档等。另外工作流执行服务也可能需要自动调用有关的应用对数据进行处理,如将某些数据写入到某个数据库系统中,或调用某个应用程序对数据进行转换等。所有这些都构成了运行时人机交互功能的主要内容。

    2.2 工作流参考模型

    在众多的工作流管理系统产品中,虽然有着不同的实现方法,但所有的系统都是为了相近的目的而有着某些共同的特性、功能、结构。为此,WfMc从各种角度考虑工作流管理系统,提出了工作流管理系统的一个公共模型一一工作流参考模型,并且为不同系统之间相互操作提供公共的接口,以达到不同产品的集成和协同工作的目的。

    工作流参考模型详细描述了工作流管理系统的有关概念,并在此基础上给出了工作流管理系统的各个主要组成部分、各部分的功能及相互之间的接口;进一步规范了各种工作流管理系统的结构,支持各种工作流产品在各个级别上的互操作,使系统能有效集成起来。工作流参考模型如图1所示,这里包括了工作流管理系统的核心部分工作流引擎,以及通过五个标准定义的接口与工作流引擎交互的几个主要模块。
    点击放大图片
    图1 工作流参考模型


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

    先进的工作流管理系统的一项重要特征是在设计和实现阶段始终以允许系统进化的思想为基本理念。为此工作流管理系统采用了较为典型的三层结构模式,包括客户层(界面层),中间层(逻辑层)和数据层。工作流管理系统的逻辑结构如图2所示。

   

点击放大图片

    图2 工作流平台系统逻辑结构图

 

    要实现企业经营过程的快速重组,企业的应用系统需要按照组件的方式构建或改造。采用组件化的系统设计和面向对象的工作流模型,业务处理模块、流程模板定制模块、管理监控模块、组织管理模块等都可以独自定制和重用,使它们能快速适应在不同领域中的应用。[page]    进行业务处理的客户端以浏览器(Browser)为实现方式,在未来企业工作流的参与者不仅包括企业的决策者和员工,还将包括企业的供应商、客户、以及供应链上的其他合作伙伴,他们不仅在地理上是分布的,使用着不同的平台,并且各自有着自己的工作方式和时间安排。这些参与者将通过访问共同的工作流组成虚拟工作组,由工作流管理系统负责管理。采用web可以方便客户在企业内部(如工作室)或企业外部(如家中、旅途中)通过HTTP协议访问工作流引擎,提供一种跨平台的、一致的、简单的数据访问方式,实现瘦客户端的访问。流程模板定制模块以应用程序客户端的方式实现,但是对于定义好的流程模板,我们也可以通过浏览器的方式,通过HTTP协议访问工作流引擎,提交流程模板信息,由工作流引擎解释导入到数据库中。

    管理监控模块以应用程序客户端的形式实现,可通过HTTP协议对工作流引擎进行访问,获取流程的状态等信息,同时可以向工作流引擎提出请求,对流程状态进行改变;组织管理模块实现也为应用程序客户端,可通过HTTP协议访问组织机构服务器,实现对组织结构以及岗位人员的管理与操作。中间层由工作流引擎和组织结构服务器组成。在流程运行中,工作流引擎在解释工作流模板时访问组织机构服务器来获取工作流参与者的信息,将工作流与用户结合起来。中间层的作用屏蔽了客户端对数据库的直接访问,由中间层来统一对数据层进行访问操作,降低各层间的耦合度。

    参考工作流参考模型以及系统逻辑结构的设计思想,实际应用中的各功能模块之间的交互关系如图3所示。

   

点击放大图片

    图3 系统功能模块交互图


    组织管理模块定义的是企业的组织结构,包括对人员、岗位、角色的操作和授权控制,定义的结果存储在“组织模型库”中。当用户登录时,进行用户合法性的效验;同时该模块也为引擎模块提供参与者信息。

    流程模板定制模块负责业务流程的计算机实现过程,引用组织管理模块,指定与各个活动相关的参与者,借助工作流引擎的解释将流程信息保存到流程模板库中。同样的,流程模板定制模块也可借助工作流引擎的解释从流程模板库(或者流程模板文件)中读入模板信息,进行流程修改后保存到流程模板库中(或者流程模板文件)。

    引擎模块解释流程模板,控制工作流流程实例及活动实例(任务)的创建、激活、挂起、终止、结束;通过对引擎数据库中各对象属性信息的读写操作,从而对流程的运行进行控制和对相关资源的调配。引擎对流程进行解释完后,根据运行情况创建流程实例,按照流程模板定义,生成任务实例,并过滤出手动实现的任务实例,将其放入工作流任务列表中作为待处理事项(若是自动动作,则由引擎模块直接调用自动应用程序处理)。

    任务列表列出了与业务流程的参与者相关的一系列任务集,任务列表由引擎模块生成管理;任务列表处理模块(Worklist handler)分布在工作流客户端,负责管理用户和任务列表之间的交互,同时提供任务列表的检索和分类功能,等待参与者(工作流用户)发送请求并对该请求进行处理。

    业务处理模块是一个Web客户端,它需要访问组织模型库(内部包含账号信息)以对用户登录进行验证:并为通过登录验证的用户向任务列表处理模块发送请求,将分配给该用户的任务集从任务列表中取出,交由该用户处理,必要时调用外部应用程序进行相关处理。工作流用户还可以通过对引擎数据库的查询查看该用户处理过的任务历史记录。

    管理监控模块对工作流模板库和组织模型库进行静态管理,并在运行时调用工作流引擎进行管理和监控,也可以对已经处理完毕的工作流实例进行查询等。管理监控模块可以分为两种管理方式:静态管理和动态管理。静态管理包括对流程模板、组织模型以及流程运行的初始相关数据的查询、添加、修改和删除等操作;动态管理则是对工作流实例的状态及数据的修改等。管理监控模块的静态管理可以直接对客户端的其他定制工具所生成的结果进行修改,而动态管理则需要对引擎进行调用。

    4 小结

    在完成对工作流定义和工作流管理系统的了解,根据WfMC提出的工作流参考模型,论述了工作流管理系统的体系结构,对系统进行分层,根据功能进行模块的划分。在后面,我们将针对工作流流程设计器的设计以及工作流引擎的开发进行研究讨论。


第三十四届CIO班招生
国际CIO认证培训
首席数据官(CDO)认证培训
责编:fanwei

免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。