工作流技术在教务管理系统中的应用

2009-10-26 09:34李彩云徐淑萍王亚文
电脑知识与技术 2009年22期
关键词:工作流

李彩云 徐淑萍 王亚文

摘要:为了提高办事效率,将教务工作过程中的所有环节衔接起来,使得事务处理结果能自动流转,该文提出并设计了一种基于工作流的教务管理系统。此系统利用WWF开发,可对工作流程进行监控和管理,并使得用户在实际执行过程中可调整业务流程。

关键词:教务管理系统;工作流;WWF

中图分类号:TP311文献标识码:A文章编号:1009-3044(2009)22-pppp-0c

教务管理系统涉及多部门、多用户,由多环节组成,各环节之间存在着自然的逻辑联系, 基于工作流的教务管理系统不仅能够解决独立环节的事务问题,而且能够将过程中的所有环节衔接起来,使得上一个环节的事务处理结果能自动流转到下一环节以便利用或处理,最终可以缩短办事周期、改善校园内(外)部流程、减少人为差错和延误,极大地提高办事效率,具有广阔的发展前景。它也使得大学在复杂多变的社会环境中,为了快速适应变化,在保存现有投资,现有系统不变的情况下,迅速调整工作流程成为可能。

1 关键技术

1.1 工作流技术

根据WFMC(国际工作流管理联盟)的定义,工作流(Workflow)就是自动运作的业务过程部分或整体,表现为参与者对文件、信息或任务按照规程采取行动,并令其在参与者之间传递。简单地说,工作流就是一系列相互衔接、自动进行的业务活动或任务。工作流是经营过程的一个计算机实现,而工作流管理系统则是这一实现的软件环境,它完成工作流的定义和管理,并按照在计算机中预先定义好的工作流逻辑推进工作流实例的执行。

工作流管理系统的三种基本功能[1]:

1) 设计功能(Build-time function): 提供工作流流程及其相关活动的定义及模拟。

2) 运行控制功能(Run-time control function): 提供工作流流程的管理,并根据流程定义控制活动(Activity)的执行次序。

3) 运行交互功能(Run-time interaction function):与用户或IT应用程序进行交互以完成活动的执行。

1.2 开发平台WWF介绍

Windows Workflow Foundation是.NET Framework3.0添加的新组件,它提供了一个编程框架和工具以开发和执行各种不同的基于工作流的应用程序。Workflow Foundation是一个企业级工作流开发框架和引擎,它允许把一个工作流定义为一系列的活动,并可以将活动轻易地进行重用和组合。你甚至可以在工作流己经处于运行过程中时添加和删除活动,这将使你在面对改变的时候具有巨大的灵活性。它还提供了一个创建自定义活动的框架[2]。

2 系统设计

应用系统开发根据建好的工作流模型,建立相应的信息系统、数据库系统,实现教务工作流管理系统,实现工作流管理系统和应用系统集成。

2.1 教务管理系统中的工作流模型

在分析教务管理系统业务流程与业务特点的基础上,对流程模型进行了设计与实现。本文实现了一个基于关系型数据库的轻量级工作流引擎,运用WWF技术对核心模块进行了具体的设计并实现了工作流管理系统的流程控制、活动转移、任务分配及用户权限管理等基本功能。

工作流模型是对业务流程的抽象表示。模型中需要明确的表达出流程中的活动与活动间的关系,活动间传递的信息、活动的执行实体、活动所需要的资源等。因此,结合教务管理信息系统流程特点,流程模型从逻辑上分为三部分,即过程模型、信息模型和组织模型。

2.1.1 过程模型

过程模型用来定义工作流的过程逻辑,包括组成工作流的所有活动以及活动之间的依赖关系。它是整个工作流模型的基础与核心,其他模型均为其提供支持。过程模型描述一个能够由工作流执行服务执行的过程信息,包括活动信息、转移信息、相关应用程序及相关数据等。

下面我们以学生毕业离校审核为例,其它模块类似。

流程介绍:学生毕业离校审核程序是:学生提交申请后,由系部审核,系部审核通过就交给教务处审核,教务处审核通过后权限交给财务科,财务科审核通过后交给学籍管理员。其中哪个部门没有通过都会填写相关事宜返回给学生。学生收到后删除此次申请,结束这个流程实例,及时处理相关事情并再次提交申请,创建另一个流程实例。如果每个部门都同意后,系统便将权限释放给学籍科。学籍科存档、上报后终结流程。

流程示意图如图1:

2.1.2 组织模型

基于角色的组织模型,一定程度的提高了系统的安全性和任务派遣灵活性。通过工作流客户端接口的设计实现了用户的待办任务、已办任务、流程监控等功能模块,使得工作流技术较好的应用在了教务管理信息系统中。

组织模型用于定义由“谁”来执行的问题,为过程模型提供参与者。基于角色的权限控制是在权限与用户之间引入了角色作中介,利用角色控制各种操作的使用权。

权限是对系统中特定功能的操作限制,而角色是具有某种权限的用户的集合。由图2可看出,基于角色的权限控制实现了人与操作权限的逻辑分离,即将操作权限关联于角色,而角色则关联于用户。实际应用中一个用户可以具有多种角色,一个角色也可以属于多个用户,即用户与角色之间是多对多的关系。同样的,一个角色可以拥有多项操作权限,而一个权限也可以属于多个角色。因此,基于角色的权限管理具有大的灵活性[3]。系统使用时,由系统管理员根据应用的需要,定义各种角色,然后设置角色的操作权限,而用户被指派为不同的角色。只有属于相应角色的用户才能获得该角色所拥有的操作权限,否则无权操作。这样的操作模式使得权限的管理与维护变得容易。例如当用户职务发生变化时,只要将该用户从原有的角色中删除并赋予新的角色即可。实际工作中,角色和权限之间的变化相对于角色与用户之间的变化慢的多。

2.1.3 信息模型

信息模型用于定义并维护一个工作流实例运行过程中所需要的全部信息,并负责管理这些数据的使用范围和表示方式。很多情况下,流程的各个环节的任务之间要传递流程数据,这样后续的任务才能被正确地启动。也就是说流程的各个业务模块之间不是孤立的,他们即需要其他业务模块提供的大量数据信息,也会因为自身的执行而生成一些数据。因此,信息模型的设计是决定活动之间能否正确流转的关键。

信息模型按照其功能由以下三类数据构成[1]:

工作流相关数据:它是工作流管理系统在进行工作流实例状态转换时所需要访问的数据,这些数据可以被工作流引擎、工作流参与者和应用程序访问,并能够被修改。本系统中的工作流相关数据用于确定过程实例状态转换的条件,同时也被引用于活动转移的条件判断中。例如,学生离校申请流程中教务处审批后得到的“教务处审批结果”和财务部门审核结束而生成的“财务部门审批结果”等数据,它们的值要被后续的判断节点所使用,进而决定此次申请流程的流转。工作流相关数据可以被应用程序访问并修改。因此,工作流相关数据是可以在活动实例之间传递的一类数据。

工作流控制数据:工作流执行服务管理的系统数据。这类数据由工作流执行服务控制,用户及应用程序不能对其进行直接的访问,但可以通过接口对某些数据进行查询。例如,工作流实例的状态信息、某一活动的状态信息等。

应用数据:是指那些由应用程序操作的数据。它们是针对应用程序设计的,工作流管理系统无法对它们进行访问。例如,离校申请类流程中用户所填写的申请单内容。这类数据反映的是具体应用的实际内容信息,在整个流程中流动,与流程控制无关。

2.2 系统实现

申请单为用户提供信息输入和显示的交互界面。在申请单上,申请人与各级审批人都有各自填写的固定区域。我们可以分别为申请人及各级审批人设计表单,在不同工作节点调用不同表单的特性。当前表单继承前一级审批人的审批信息,当前审批人自动在自己可编辑的区域内审批,而下一级审批人的填写区域则为空白。

为不同角色设计一套不同的界面:由于每个角色在流程中的作用不同,操作不同,关心的信息也不同。因此系统为每个角色定制了一套界面。如学生要为其提供一个“提交申请”的按钮,用来启动一个工作。而审核人只要看到“审核”视图即可。其实现方法是将所有功能按钮按角色隐藏,当用户访问系统时,系统从数据库中提取角色信息与当前用户相对照,自动为用户显示相应的按钮。

数据均以数据表的形式存储在数据库中。比如学生离校手续流程设计的数据库主要有:用户表、角色表、角色用户关系表、申请表、申请记录表。各个表字段数据类型、字段宽度根据所存储数据决定,建表使用SQL Server提供的工具构建。用户表用于记录用户的基本信息,是组织结构中最基本的元素。用户是活动的执行者,也是角色的分配对象。角色是用户所能拥有的一组职能的代名词,一个角色可以分配给多个用户,同时一个用户也可以具有多种角色。角色与用户的多对多关系由角色用户关系表来维护。申请表保存的是申请表的内容,申请记录表保存的的是申请表的状态和审批的历史记录。由于申请表在工作流上进行流转时会有不同的业务状态,因此申请表的实例与其状态的信息是一对多的关系。

3 结束语

工作流技术是一种不断发展的技术,今后在系统开发中一方面要据高校教务管理的发展,进一步完善系统功能,如实现用户自定义流程等;另一方面,需要不断学习工作流技术的理论知识和实践成果,不断地将理论新成果引入管理系统开发中。

参考文献:

[1] 范玉顺.工作流管理技术基础[M].北京:清华大学出版社,2001.

[2] 周健.WF本质论[M].北京:机械工业出版社,2007.

[3] 支黎峰,李毅,杨新村.基于工作流和角色权限控制的科技期刊编务管理信息系统[J].上海电力,2006(1):72-74.

猜你喜欢
工作流
支持节点协同的工作流模型构建方法研究
基于工作流2.0的智慧教室设计与研究
工作流在电力生产管理信息系统中的设计和应用
基于J2EE的电子政务系统研究与应用
基于J2EE的电子政务系统研究与应用