UML软件工程组织

工作流管理系统体系结构设计
作者:葛志春 来源:希赛网

摘要:工作流管理系统将最终成为覆盖于各类台式机与网络操作系统之上的业务操作系统,但工作流技术目前还不够完善。作者在深入研究了工作流管理联盟提供的工作流管理系统模型和各大主流工作流管理系统的基础上设计了一套功能全面的工作流管理系统体系结构。本文主要从该体系结构的三个层次深入介绍了该系统结构。

关键词:工作流管理系统 、业务操作系统、软件体系结构、业务建模

1、引言

在一个组织内部存在着两种信息:一种是数据信息,另一种是业务信息。在组织之间也同样存在着两种信息:一种是数据信息,另一种是业务往来信息。如果这两种信息用计算机系统来管理,前一种属于组织内部的信息系统,后一种属于B2B电子商务系统。目前对数据信息的计算机管理系统(即:数据库管理系统)经过多年的发展已经成熟。对业务过程的计算机管理系统由于比较复杂,可变因素较多,难度大,因此发展还不成熟。工作流技术作为现代组织实现过程管理与过程控制的一项关键技术,为组织的业务处理过程提供了一个从模型建立、管理到运行、分析的完整框架。同时,工作流管理系统(Workflow Management System ,WFMS)通过一套集成化、可互操作的软件工具为这个框架提供了全过程的支持。Thomas Koulopoulos曾预言:工作流管理系统将最终成为覆盖于各类台式机与网络操作系统(如:Windows,Unix,Windows NT)之上的业务操作系统BOS(Business Operating System),它将带来操作系统的一次革命。但是目前工作流技术无论从理论上还是从实践都还不够完善,要实现Thomas Koulopoulos的预言可能还需有一段路要走。本文主要介绍了由作者独立设计一套工作流管理系统体系结构,以供工作流技术爱好者参考。

2、工作流管理系统的基本概念

顾名思义,工作流就是工作任务在多个人或单位之间的流转。在计算机网络环境下,这种流转实际上表现为信息或数据在多个人之间的传送。工作流管理联盟( Workflow Management Coalition ,WfMC)对工作流的定义是:“业务过程的部分或全部在计算机应用环境下的自动化”。 她所要解决的主要问题是,“使在多个参与者之间按照某种预定义规则传递的文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者是促使此目标的实现”。

工作流管理系统就是通过管理一序列的工作活动以及相关人员、资源、信息技术资料来提供业务处理程序上的自动控制。工作流管理系统通过计算机软件来定义、管理和执行工作流程。在工作流管理系统中计算机运用程序的执行顺序是由工作流逻辑的计算机描述来驱动的。她的主要目标是对业务过程中各步骤(或称活动、环节)发生的先后次序,以及同各个步骤相关的人力、资源、信息资料的调用等进行管理,从而实现业务过程的自动化。当然这种管理可能会在不同的信息及通信环境下实现,所涉及的范围可以小至一个只有几人的工作组,也可以大到政府、企业组织各个机构之间。工作流管理系统将人员、组织结构、设备资源、信息源(如数据库、文件系统、电子邮件、计算机辅助设计工具等)整和成一个整体。这样,工作流管理系统就成为了一个理想的用来收容业务逻辑的业务知识仓库,并给予业务逻辑一个易操作易控制的界面。

工作流管理系统的最大优点就是实现具体应用逻辑和过程逻辑的分离,实现在不修改具体功能的情况下,通过修改业务流程模板来改变系统的功能,完成对组织生产经营过程的部分业务或全部业务的集成管理,有效的把人力资源、物质资源和信息组织在一起,发挥最大的效能。

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

工作流管理系统在实际运用中一般分为三个阶段:工作流建模阶段,工作流模型实例化阶段和工作流执行阶段,如图1。在工作流建模阶段主要通过工作流建模工具完成业务流程的模型建立,将实际的业务操作流程转为为计算机可模拟处理的工作流模型;在模型实例化阶段主要通过工作流引擎完成具体业务流程的实例化,为具体业务流程办理流转提供工作流相关数据和工作流控制数据,并为业务流程的办理提供所需要资源(如人力资源和物料、设备资源等); 工作流执行阶段主要完成业务流程的执行,重点是完成人机交互和系统内部应用或外部应用程序的调用。

 

 根据工作流的三个阶段的分工,工作流管理系统结构可以分为过程设计定义功能、运行控制功能和运行交互接口三个层次的功能,如图2。

 
 4、过程设计定义功能

过程设计定义功能主要作业务处理流程的计算机定义,她提供了一种分析、建模、系统定义技术,将一个现实世界的业务处理过程转换成计算机可处理的定义;最终的定义叫作工作流模型、过程模版或过程定义,她可以用图形符号进行表示。 工作流管理系统结构这一层次主要包括以下功能:业务建模与信息建模、组织管理、资源管理、内部应用开发工具、数据窗口开发工具、工作流定义等功能。

4.1业务建模与信息建模

业务流程是由各业务环节连接而成,而每一个业务环节都由多个相互关联、不同层次的要素构成。在业务建模时可自顶向下的将业务流程中各个业务环节最终分解成一系列的原子任务。所谓原子任务,即将有可能发生的每笔业务进行原子化分解,细分到不能再分割的操作单元,每个操作单元即是一个原子任务。任务之间的相互联结也将最终转化为数据流、信息流、协作流、资源流。这样各个原子任务的控制连接,就成为了工作流模型。因此,工作流是企业中过程流、数据流、信息流、协作流、资源流等各种流的综合集成。业务建模工具主要提供流程定义开发人员便捷的与数据流图工具或活动图等流程描述工具类似的业务流程分析工具。

业务模型是信息模型的出发点。信息模型说明了业务处理对象中所包含的信息,或者说执行具体功能的活动的输入、输出数据、以及这些数据之间的逻辑关系。信息建模工具可提供使用E-R图方法构建信息系统的逻辑数据模型;根据实际选用的数据库管理系统,建立适用于该数据库管理系统的物理数据模型,同时可生成目标数据库管理系统的数据库创建脚本。 信息模型是个两层次的建立过程,先建立逻辑模型,再建立物理模型。逻辑模型支持数据的概念模式,它从抽象的层次上反映内部数据间的关联,不管具体的数据结构及数据存储方式等等。物理模型支持数据库的物理设计,它与具体选定的数据库类型密切相关。

4.2组织管理

在组织单位中组织结构是信息决策、任务执行和监督管理等重要活动的载体,组织结构揭示了组织单位人员管理的层次,反映了人与工作、决策、责权之间的联系。因此,组织结构对于一个组织单位中如何完成业务流程的建模和提高管理、生产效率是至关重要的。组织结构、工作流、过程建模等概念的提出,为描述组织单位业务流程提供了有力的工具,也使过程到组织的映射模型的建立成为可能。

工作流管理系统结构提供了组织管理功能,用于定义业务单位的组织架构和人员管理职责分配等工作。为工作流模型的定义和工作流的实例化、执行提供人力资源约束和支持。

4.3资源管理

资源是进行生产经营不可缺少的物资因素,在工作流的执行过程,必须得到企业资源的支持,相应的组织实体才能够按照要求完成活动。同时,工作流要保证将正确的信息和资源在正确的时刻以正确的方式送给正确的小组或成员。

工作流管理系统结构提供了资源管理功能,用于建立组织单位的资源模型,表示组织单位的资源结构和配置情况,描述组织单位各种资源对象之间的联系和关系,为工作流模型提供资源约束和支持。

4.4内部应用开发工具

工作流管理系统结构提供了图形化应用开发工具,用户可以使用图形化设计方法,开发出动态页面应用,其结果可保存为html或jsp或其他可直接调度执行的运用程序。这些内部应用程序具有数据库访问能力,能够访问或存储工作流相关数据和控制数据。在流程定义时流程开发人员可以直接设计并提供流程节点预调用。 运行时用户可以在任务列表中直接调用,执行所需完成的工作。它的最大的优点是让开发人员避免了复杂业务处理应用程序的开发。

4.5数据窗口开发工具

工作流管理系统结构提供了图形化设计复杂报表页面的能力,可设计任意复杂的报表,并可画出各种统计分析图并能够使用多种形式输出。在流程定义时数据窗口开发工具就像内部应用开发工具一样可以由用户自行定义并提供流程节点预调用。当流程实例运用到指定节点时,用户可以直接调用该数据窗口以用户所需要的形式展现相关信息内容。

4.6工作流建模工具

工作流建模工具以工作流元模型为基础,通过分析不同类型的业务过程,采用有向图的方法对现实的业务活动进行形式化描述,建立业务过程到工作流模型的映射机制。对于建模工具而言一方面为用户提供了一个建立规范的业务过程的接口,另一方面,所建立的工作流过程可以存储于工作流库中作为工作流引擎的输入,投入运转、执行并接受监控。建模工具的主要包含以下功能:

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

4.7工作流模型库

工作流模型库主要用于保存和管理已定义完成的工作流模型。在工作流程启动时工作流引擎将直接加载并将其实例化,同时为工作流的流转提供基础模板。

5、运行控制功能

运行控制功能主要对工作流模型的定义进行解释,创建并控制过程的运行实例,调度过程的各种行为步骤,调用适当的人力、资源和应用程序以完成任务的执行。工作流管理系统的核心部件就是工作流管理控制软件——工作流引擎。工作流管理系统结构在这一层次的主要包括:工作流引擎和工作流监控管理2部分。

5.1工作流引擎

工作流引擎可以说是工作流管理系统的心脏。一个工作流管理系统通常可以包括一个或多个工作流引擎,不同工作流引擎通过协作共同执行工作流程。工作流引擎实际上是经营过程的任务调度器,在某种程度上还是资源的分配器。在采用工作流管理系统支持经营过程中,工作流引擎可以看成是一个业务操作系统BOS(Business Operating System)。业务过程在她的管理、监控之下运行,因此工作流引擎的性能和可靠性就直接决定了业务过程的运行效率和安全性。

5.2工作流监控管理

系统管理与监控是工作流系统一个非常重要的功能。工作流系统管理与监控工具能够对工作流在整个组织内部的流动状况进行监视,并提供一系列的管理功能,实现安全性、过程控制和授权操作等方面的管理。它包括以下几个方面的功能:

1)建立、设置和优化组成工作流管理系统的各个软件。
 2)对过程模型进行实例化。
 3)将过程模型中的角色实例化。
 4)将运行中的过程实例、活动实例和数据分发到各个工作流机中。
 5)启动、挂起、恢复和终止过程实例。
 6)管理正在执行的过程实例,并对正常结束或异常退出的过程实例的历史数据进行统计和分析。

6、运行交互接口

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

7、结论

该工作流管理系统体系结构是作者深入研究了工作流管理联盟提供的工作流管理系统模型和各大主流工作流管理系统的基础上设计出来的。以该体系结构为基础作者领导开发了基于J2EE架构的新一代工作流管理系统UniFlow。UniFlow工作流管理系统目前已在电子政务中取得了广泛的运用。


版权所有:UML软件工程组织