ASP.NET 工作流引擎的系统框架设计开发(论文+源码)_Nueve

摘 要

工作流就是一系列相互衔接、自动进行的业务活动或任务。工作流引擎是工作流管理系统的核心,它的主要功能是通过计算机技术的支持去定义、执行和管理工作流,协调工作流执行过程中工作之间以及群体成员之间的信息交互。

论文主要讲述了工作流引擎的基本功能及设计方法,介绍工作流引擎的基本原理,具体分析了工作流引擎所包含的内容,详细介绍了相关的信息模型和控制模型。系统采用关系结构的理念来设计工作流引擎,给出了用Microsoft Visual Studio 2005和Microsoft SQL Server2000实现系统的方法。论文中利用本工作流引擎构建系统能适应大多数业务流程的扭转,大大缩短常见信息系统的项目开发周期,提高效率。

关键词:工作流引擎;关键业务;关系

The design of information system frame based on workflow engine

---- The subsystem of workflow engine

Abstract

Workflow is a series of interlocking, automatic business activities or tasks. Workflow engine is the work flow management system in the core, and its main function is to define, implement and manage work flow through the support of computer technology as well as co-ordinate work flow process of working implementation and groups of information between members of interaction.

The thesis has mainly described basic functions and design of the workflow engine, introduced the basic theories, and specifically analyzed the content included in the work flow and the details of the relevant information model and control model. The idea of relation structure has been used to design this system and the method to achieve the system function with Microsoft Visual Studio 2005 and Microsoft SQL Server2000 has been given out. Constructing system with the workflow engine can adapt to the majority of the business process reversing that significantly reduce the development cycle of the common information system and improve efficiency.

Key words: Workflow engine; Critical business; Relationship

  

1 引言

2 开发概述

2.1 Visual C# 语言概述

2.2 工作流引擎概述

2.3 工作流引擎现状分析

3 需求分析

3.1 用户需求

3.2 工作流引擎的分析

3.3 业务流程

3.4 开发运行环境

4 工作流引擎的设计

4.1 模块的划分

4.2 功能描述

4.3 工作流引擎的详细设计

4.4 数据库结构的设计

5 工作流引擎的实现

5.1 状态图管理的设计

5.1.1 功能描述

5.1.2 界面设计

5.1.3 工作流程和部分代码

5.2 任务管理窗体

5.2.1 功能描述

5.2.2 界面设计

5.2.3 工作流程和部分代码

5.3 任务指派窗体

5.3.1 功能描述

5.3.2 界面设计

5.3.3 工作流程和部分代码

6 测试结果

    

参考文献

    

    

1  引言

随着信息技术的高速发展,越来越多的企业需要建设各种各样的信息系统,为每个系统重复构建框架是一种浪费。这些系统的共性是基于分布式网络环境下的多级别、多用户的数据库系统,每个级别、用户可能拥有不同的权限,需要对不同的业务进行操作,各个业务之间的耦合也不尽相同。并且企业或者部门的计算机应用已不仅仅停留在诸如文档处理、公文流转以及信息发布等这些简单的业务层面上。越来越多的企业或部门要求将信息技术的应用扩展到关键业务中。例如,产品的设计和制造过程,银行的借贷和划账业务,还有物资部门的采购、审批和出入库业务等等,都属于相应企业或部门的关键业务。

《基于工作流引擎的系统框架设计开发——工作流引擎子系统》是采用Visual C#以及Microsoft SQL Server2000来开发的。系统主要由四个模块组成,他们分别是:状态图管理模块、任务列表模块、任务指派模块、任务提交模块。本系统主要包括了一下四个功能:状态图管理:对任务流程进行添加、删除、修改。任务列表:可以查看任务状态、未完成任务列表及已完成任务列表。任务指派:指派人员去完成任务。任务提交:完成任务后,进行提交,激活下一个任务。

由于信息技术的发展和日趋激烈的商业竞争,人们不再满足于独立、零散的办公自动化和计算机应用,而是需要综合的、集成化的解决方案。作为一种对常规性事务进行管理、集成的技术,工作流管理系统的出现是必然的。它可以改进和优化业务流程,提高业务工作效率;实现更好的业务过程控制,提高顾客服务质量;提高业务流程的柔性等。

开发概述

2.1 Visual C# 语言概述

Visual C#(读作“C sharp”)是 Visual Studio .NET 中引入的一种新的编程语言。C# 从 C 和 C++ 演变而来,是一种简单、现代、类型安全和面向对象的语言。设计 C# 是为了建立运行于 .NET 平台上的、范围广泛的企业级应用程序。用 Visual C# 编写的代码被编译为托管代码,这意味着它将受益于公共语言运行库的服务。这些服务包括:语言互操作性、垃圾回收、增强的安全性以及改进的版本支持。 在 Visual Studio .NET 中,Visual C# 完全得到项目模板、设计器、属性页、代码助理、对象模型和其他开发环境功能的支持。Visual C# 编程的库是 .NET Framework。

C#语言是一门简单,现代,优雅,面向对象,类型安全,平台独立的一门新型组件编程语言。其语法风格源自C/C++家族,融合了Visual Basic的高效和C/C++强大。其优雅的语法风格,创新的语言特性,因而深受世界各地程序员的好评和喜爱。C#起源于C语言家族,因此,C,C++和Java的程序员能很快熟悉它。C#获得了ECMA和ISO/IEC的国际标准认证,它们分别是ECMA-334标准和ISO/IEC 23270标准。Microsoft用于.NET框架的C#编译器就是根据这两个标准实现的。

2.2 ​​​​​​​工作流引擎概述

工作流技术起源于二十世纪七十年代中期办公自动化领域的研究,由于当时计算机尚未普及,网络技术水平还很低以及理论基础匮乏,这项新技术并未取得成功。1983年至1985年间,在图像处理领域和电子邮件领域出现了早期的含有工作流特征的商用系统。

进入九十年代以后,随着个人计算机、网络技术的普及和推广,以及信息化建设的日益完善,使得工作流技术的研究与开发进入了一个新的热潮。1993年,国际工作流管理联盟(WfMC)的成立标志着工作流技术开始进入相对成熟的阶段。为了实现不同工作流产品之间的互操作,WfMC在工作流管理系统的相关术语、体系结构及应用编程接口等方面制定了一系列标准。工作流管理联盟给出的工作流定义是:工作流是指整个或部分经营过程在计算机支持下的全自动或半自动化。在应用中可以把由计算机软件系统(工作流管理系统)控制其执行的过程都称为工作流。在工作流参考模型中,工作流引擎是工作流管理系统的核心。工作流引擎是为工作流管理系统在定义提供支持、同时在运行时提供解释和执行服务的一组数据模型和软件。

工作流引擎(Workflow Engine, WfE)的主要功能是通过计算机技术的支持去定义、执行和管理工作流,协调工作流执行过程中工作之间以及群体成员之间的信息交互。工作流需要依靠工作流引擎来调度、实现。作为工作流的核心应能提供以下几个方面的功能支持:解释过程定义;创建过程实例并控制其执行;调度各项活动;为用户工作表添加工作项;通过应用程序接口(API)调用应用程序;提供监督和管理功能等。

国际工作流管理联盟对工作流的过程模型提出了8种基本单元和6种控制结构。

8种基本单元分别是:开始活动、结束活动、原子活动、子过程、活动块、或节点、与节点、弧。

6种控制结构分别是:顺序结构、与分叉、与合并、或分叉、或合并、重复。

对于8种基本单元中,开始活动和结束活动本身没有实际意义,只是用来标识过程的开始和结束;子过程和活动块也可以分解为原子活动和各种控制结构的组合。这样下来,8种基本活动单元可以提炼出核心的是原子活动节点、与节点、或节点和弧四个基本单元。而6种控制结构,则可以看成是原子活动节点、与节点、或节点和弧的各种组合关系。进一步分析可以得出:6种控制结构是两个原子活动节点之间,由与节点、或节点和弧构成的控制单元。

所以,可以将原子活动单元单独提出来,我们把它称之为活动节点(Activity),将原子活动之间的各种连接方式(与节点、或节点和弧的组合)称之为基于计算机算法控制的由计算机自主完成的控制节点(ControlNode)。

近一步,我们可以在两个相邻的控制节点之间插入“哑活动”节点(是虚拟的,不做任何动作,但在计算机中创建活动实例)。这样任何一个工作流图就可以分解为活动节点和控制节点的前后连接。

这样,在一个流程实例的所有节点的状态图中,活动节点(包括“哑活动”节点)就是控制节点的流转算法的输入条件,控制节点查询状态图,与预制条件对比,就可以激活它的后续节点,从而达到工作流流转。

综上所述,它构建了一般信息系统的框架,在传统的关系数据库基础之上定义工作流数据模型;它利用DBMS内嵌的编程语言来实现工作流引擎的控制逻辑;开发者可以在此框架的基础上搭建自己的具有工作流特性的信息系统。基于工作流引擎的信息系统框架的适用对象并非应用系统的最终用户,而是利用专用开发工具构造相应应用系统的专业开发人员。

2.3 ​​​​​​​工作流引擎现状分析

近几年国家非常重视企业的信息化建设,在电子商务(EC),企业资源计划(ERP), 产品数据管理(PDM),客户关系管理(CRM),计算机集成制造(CIMS)等领域投入了大量的人力和物力,力图尽快达到国际先进水平。然而,电子商务(EC),企业资源计划(ERP),产品数据管理(PDM),客户关系管理(CRM),计算机集成制造(CIMS),办公自动化(OA)等信息系统的发展又都离不开工作流技术的支持,它是企业实现管理信息化和技术信息化的关键技术。我国政府充分认识到工作流技术的重要性。本文针对目前国内企业信息化过程中,最重要的两个领域(产品数据管理,企业资源计划)研究工作流管理功能建模、工作流安全、工作流实例监控、以及工作流与PDM,ERP 系统的集成应用等问题。

随着社会生产的流程化,工作流(Workflow)起着越来越重要的作业,工作流管理系统的核心是工作流引擎。对于企业来说,其生产经营活动就是由各种各样业务流程交织在一起组成的。然而,在企业管理中,许多流程在日常操作过程中已被习惯,而不被人们所重视,更不能被有效的管理起来。另外,客户的需求瞬息万变,而产品的生命周期也是在不断缩短,技术在不断创新。企业要在这样一个竞争和变换的外部环境中求得生存,就必须要有随需而变的能力,不断地调整和优化自身的各种业务流程,对流程进行重构和再造。

当前工作流管理系统在全国范围尤其是大中城市的各种企业都得到广泛应用。随着企业的不断发展,充分利用电脑的先进管理方式,将企业管理推向“无纸化”、“现代化”已经成了解决当前企业管理问题的当务之急。

总结:先说明工作流管理系统的对当今企业的重要性,然后再说明工作流管理系统的核心是工作流引擎,最后分析目前我国企业管理的现状,更体现出有一套完善的工作流引擎系统对企业管理的重要性。

3  需求分析

3.1 用户需求

用户通过工作流管理系统可以更便捷的进行业务管理,而工作流引擎是工作流管理系统的核心部分,所以有必要对工作流引擎进行设计。用户需要通过工作流系统进行任务流程的定制,包括添加、删除、修改流程,并且可以直观的查看出任务的状态,可以通过任务列表察看未完成任务和已完成任务,可以进行任务指派,任务指派需要确认指派的基准和群体。用户在完成任务后,需要提交任务。

3.2 工作流引擎的分析

我们把基于工作流引擎的信息系统框架定义为:数据模型和控制模型。其中基于工作流引擎信息系统框架的数据模型又分为框架模型、机构模型和信息模型三类。控制模型将信息模型、机构摩型和框架模型有机的结合在一起,它根据其中定义的业务规则来流转业务流程,控制模型是工作引擎的控制中心。图1是基于工作引擎的信息系统通用框架的结构图。

图1工作引擎的信息系统通用框架的结构图

其中调度中心接受从个性化界面(外部接口)发送过来流程控制的请求(如业务初始化、获取任务以及结束任务等),根据不同的请求类型调用相应的处理模块完成与本次请求相关的操作并将结果返回。该操作是基于DBMS的并发机制和锁机制来实现工作流引擎的控制模型,不需要诸如请求队列等形式的数据结构。从而实现了多个外部请求之间的独立性。调度中心在收到活动节点状态变化触发之后,根据其后继控制节点的类型,调用不同的算法,计算并设置控制节点后继节点的状态,来生成状态图。所涉及到状态图中活动节点的各种状态,他们之间的转换关系见图2。

图2状态转换图

任务管理主要根据调度中心的指示完成诸如任务创建、任务状态的转换以及相关数据的维护等工作。每次“结束任务”的外部请求将触发调度中心调用“任务管理”为后继活动(如果存在的话)创建新的实例;同时,其他不同的外部请求也将触发“任务管理”实施任务状态的切换。

任务指派处理只是针对常规交互活动活动,通常情况下,在任务状态由“睡眠状态”切换到“就绪状态”过程中完成任务的指派工作,即处于就绪状态的任务在通常情况下都确定了其执行者。任务指派过程首先根据任务指派基准确定可以执行此任务的群体人员,通常情况下这是一个包含多个人员的集合;然后根据任务指派方法确定由这个群体中的哪些个体来执行任务,执行任务的个体标识记录在相应任务记录的UserID字段中。

任务完成过后,需要将任务提交给调度中心,任务由“执行状态”切换到“处理结束通过状态”或“处理结束未通过状态”,同时激活下一个任务。

3.3 业务流程

管理员或者超级用户定制工作流程,详见图3。

图3状态图管理流程图

管理员或者超级用户进行任务指派,详见图4。

图4任务指派流程图

个人、队列或者团队通过查看任务列表了解任务。

完成任务后提交。

执行下一个任务。

3.4 开发运行环境

安装此系统所需的基本软、硬件环境为:

  1. Windows98 或WindowsNT/2000/XP。
  2. Microsoft Visual Studio 2005。
  3. Microsoft SQL Server2000数据库。
  4. 512M以上内存。
  5. 5G以上可用硬盘空间。
  6. VGA显示器。

本程序在Windows XP操作系统下,以Microsoft Visual Studio 2005为前台开发工具,用Microsoft SQL Server2000为后台数据库开发实现的。

总结:以一个某省电信部门的物流信息系统为分析对象,确定该部门的组织结构和业务流程后最后确定工作流引擎系统应该具备的功能,以确定系统的主要模块,也简单介绍了该系统的开发环境和运行条件。

图7数据库关系图

图8 状态图管理页面截图

图9任务管理页面截图

图10任务指派截图

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值