基于Web的工作流建模工具的设计与实现

时间:2022-07-07 12:22:28

基于Web的工作流建模工具的设计与实现

摘要:本文介绍了一个以Petri网建模理论为基础的可视化建模工具的设计实现过程,并给出了结合Web多层开发框架实现该工具的技术路线。

关键词:工作流;工作流建模; Web

中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)15-3747-02

The Design and Implication of the Web-Based Workflow Modeling Tool

ZHANG Yuan,NIE Pei-yao

(Department of Computer Information Engineering,Shandong University of Finance,Jinan 250014,China)

Abstract:This paper introduces the design and implementation of a graphical workflow definition tool based on the Petri-Net modeling theory,and gives the implication technology under the multi-layer developing frame based on Web.

Key words:Workflow;Workflow Modeling;Web

1 引言

随着工作流技术的逐渐成熟和一系列产品规范的陆续出台,很多公司都推出了自己的工作流产品和建模工具以适应市场需求 [1]。这些产品大多具有良好的通用性,但应用于专用系统中时往往在功能上显得针对性不足,需要开发专用的工作流建模工具来满足这种需求情况。本文主要介绍了我们的开发的工作流建模工具--MVCDesigner的设计原理及实现技术。

2 建模工具的功能特点

MVCDesigner提供给用户一个可视化的建模环境,使用户可以在GUI界面下建立过程模型,完成过程定义数据的生成、修改、删除、验证、保存和获取。该工具如下特点:

2.1 强大的理论模型与简洁的图形化操作方式相结合

MVCDesigner建模工具采用基于WF-Net [7]为的形式化描绘方式,继承了Petri网[2,3]直观的动态描述能力和强大的理论支持,为我们对工作流程的分析与验证提供了有力的支持,同时提供了图元的编辑功能,大大方便了设计者对流程的建立及修改。

2.2 自带标准模型库增强服用性

作为针对药品行业的工作流产品,MVCDesigner自带了一个标准模型库,存储了针对药品营销行业的全程管理、GMP规范库存管理、标准表单,以及统计分析、发票管理、资产管理、人力资源管理、客户管理等11个标准模型。建模人员可以在此基础上进行设置和组态,降低了模型分析的难度,提高了模型的可靠性。

2.3 基于B/ S模式,提高系统实用性

MVCDesigner以网络环境为支撑,客户机只需支持Web 浏览器及Java 解释器就可以利用MVCDesigner提供的工具箱操作过程模型对应的各个实体图符,方便地参与工作流建模,最大限度地降低了对硬件环境的依赖。

2.4 生成XML[4]格式的过程描述文件

为了使工作流建模系统可以与其它的工作流相关产品进行集成,我们按照WfMC的接口1[5]进行设计,通过自带的格式转化组件把用户建立的工作流过程模型图转变成XML描述文件并保存到数据库,实现了工作流数据在网络环境下的无障碍地传递和共享。

3 框架结构及实现原理

3.1框架概述

从功能实现上分析,建模工具主要包括以下几个模块:

(1)可视化建模组件:向建模人员提供可视化的工作流程定义界面及相关组件。

(2)命令调度器:是系统的总控部分,负责客户端传来的各种命令的解释与各种数据的组织和传递,调用相应的功能模块进行处理。

(3)图形生成器:负责将用户指定的过程定义以可视化的形式显示到界面。

(4)模型解析器:负责把Applet下绘制的过程模型映射成Java对象,必要时解析成符合XML格式的数据流。

(5)功能操作组件:负责完成用户对已存在过程定义的调用及修改、删除等操作。图1给出了过程建模工具的结构图。

图1 MVCDesigner框架结构图

3.2运行及实现机制

建模人员第一次调用建模工具时,工作流系统将调用安全模块对其进行身份验证。通过验证后,实现了可视化建模组件访问接口的Applet被从服务器端下载装入客户机运行。

建模人员根据业务过程分析建立可视化过程模型并填写各元素的属性表单,完成流程相关信息的定义。

模型提交时,系统将这些图形化的模型信息映射成一定的数据结构,以二进制对象流的形式传送到服务器端。

模型解析器按照我们制定的XML Schema标准将界面上完成的图形化过程模型转化为XML格式存入数据库,借助目前各种主流数据库对XML数据的广泛支持对流程定义进行管理。对未完成的模型则以XML文件的形式存储于服务器上某一特定目录;当模型需要回显时,查找过程定义数据库或临时目录得到过程定义的描述文件,形成图形化模型返回给客户端显示。这种网络存储对于客户端使用者而言是透明的。

系统通过数据访问DAO[7,8]来实现建模工具与数据系统的连接、数据的读/写等操作,使获取的数据来源扩展到分布于各种异构平台上的数据库服务器而不必局限于某台固定的数据库服务器。

4 MVCDesigner中的数据处理

MVCDesigner在实现过程中包含有大量的数据转换和传递操作,涉及到多个相关接口。工作流程在系统中有两种数据表示法:一种是系统内部的对象表示法,是工作流引擎可以解释的流程定义形式。另一种是XML文本表示法,只用于完整定义的持续性存储及其在不同系统间的传递。

对象表示法以工作流实体作为操作单位:一个工作流过程就是一个对象,这个对象包含一些属性、子对象实体和关于这些属性或实体的操作。

用户使用建模工具每设计一个过程模型就生成一个过程定义对象。对于已完成的工作流定义转换成XML文本文法表示形式保存到服务器端的定义数据库中,生成的图形以序列化文件的形式存放,每一个图形对应一个序列化文件。在工作流模型未完成之前,也可以序列化保存,以便于对文件继续进行编辑。

可视化的流程编辑环境要求模型中的基本元素及结构在界面上以直观的图形方式表达,建模人员对工作流定义的创建、修改、删除通过直接操作这些元素完成,同时重新载入模型时能够显示当前工作流定义的状态。所以在工作流基本元素类中除了要定义这些元素的静态属性外,还要定义它的动作响应、图形显示(每种元素对应的几何形状、颜色、坐标位置)。为了将用户界面显示和应用分离,我们定义了一个Property类描述流程元素及其静态属性。模型建立时,它以用户输入的元素属性数据为参数进行实例化。另外还定义了一个Paint接口,每一个定义元素类都有一个实现了该接口的类,专门负责代表该元素的图元的显示、移动及删除等操作。通过上述定义,我们可以将逻辑与表现分离,方便地将语义符号映射成对象实体,并且能够容易地对过程描述语言的语义进行扩充。图2是建模子系统中的主要数据类图。

上一篇:基于集团架构的网络平台设计与实现 下一篇:数字音频压缩编码技术研究