APP下载

基于工作流的高校低值易耗品管理应用研究

2013-05-03习海旭

实验技术与管理 2013年10期
关键词:低值易耗品实例流程

习海旭

(江苏理工学院 计算机工程学院,江苏 常州 213001)

低值易耗品是指价值在规定限额以下,使用期在一年以内的各种用具和物品[1]。在高校实验室的物资管理工作中,低值易耗品的购置和报废比较频繁,管理工作涉及多个部门,不但管理难度大,而且易产生管理漏洞。高校的信息管理系统[2-3]能够在一定程度上实现信息处理的自动化,但不能很好地解决管理工作中执行流程变化、条件更新和同步协调等实际问题。本文将探讨工作流技术和低值易耗品管理工作的结合点,详细阐述应用工作流技术的低值易耗品管理系统的架构、设计和实现。

1 高校低值易耗品管理现状

实验用低值易耗品的采购与供应是应用型本科院校物资管理的重要组成部分。虽然它所占金额的比例不大,但为降低事业经费支出,合理分配、利用高校资源,仍有必要重视低值易耗品的管理工作。

低值易耗品的管理包括预算、申请、购置、报销、收发存、维修/维护和报销等多个环节(见图1),其管理工作琐碎,涉及多个部门、众多使用人员和管理者,要求有较高的灵活性和工作效率。

图1 低值易耗品的管理环节

目前,在高校低值易耗品的管理工作中不同程度地采用了信息化管理手段,但这些管理信息系统大多是自成独立系统,独自定义数据并进行数据的采集、存储和统计[4]。管理人员在低值易耗品的管理中,需要频繁地在不同信息管理系统之间调用数据和处理业务,不能统一管理、调配并及时获得低值易耗品的状态和流动过程信息。

采用了工作流技术的管理系统能够按照定义好的工作流,调用外部的应用程序和数据,在不同的信息管理系统之间执行统一、交互协作的业务处理流程。传统的信息管理系统只提供一组固定的业务流程处理程序,而在实际工作中,管理流程有很多例外情况,并且会随着高校物资管理的改革作出一定的调整。工作流管理系统将业务流程描述作为输入并管理流程实例的执行,应用更灵活,系统维护成本更低。

2 工作流技术简介

工作流技术是为实现某个业务目标,在多个参与者之间,按某种预定规则自动传递文档、信息或者任务[5]的技术。工作流是业务过程的计算模型,是将业务过程中的业务逻辑和业务规则在计算机中以恰当的模型进行表达并对其实施计算。工作流将业务过程划分为一组任务(或活动),描述了每个任务(或活动)的各项参数,如步骤的定义、任务(或活动)的启动和终止条件、业务过程的逻辑和规则、执行者、它们所需数据流的建立和所涉及的应用程序等[5],使得工作流管理系统能够管理各项工作流的活动逻辑、规则和条件,并按照指定工作流调用和监控相关资源(人和应用),实现业务处理过程自动化、程序化管理。

传统的工作流应用软件多是利用E-mail在不同的用户之间传递信息来推进任务的执行[6]。这些系统扩展性差、不适应分布式工作环境,系统数据难以统计和检索,任务催办、监督等系统协调功能较难实现。目前,基于B/S结构的工作流信息管理系统开发研究得到了更多的关注。

3 系统的整体架构

基于工作流的低值易耗品管理系统基于 Windows环境,以.NET为开发平台,数据库采用SQL Server 2008,XML文档采用.NET提供的XML文档模板。客户端通过HTTP协议和Web服务组件进行交互,包括工作流组件和其他业务功能组件。Web服务组件通过ADO.NET数据访问组件访问数据库SQL Server,获得业务逻辑所需的数据;通过XML DOM组件访问XML文档并读写文档内容,Web组件将逻辑处理的结果返回给客户端,客户端浏览器解释并显示返回的内容(见图2)。

图2 系统架构图

整个管理系统架构方案采用分层结构,明确地分离了表现层和业务逻辑层,能够保证应用服务逻辑的一致性和稳定性、结构的开放性、功能的可扩展性和可维护性、开发的可并行性,同时采用一些开源的框架,兼顾了经济性。

系统的总体架构从结构上分为用户层、表示层、业务层、数据访问层以及在层间传递数据的数据传输对象。

(1)用户层。用户层作为客户端程序,用来与用户交互,并把来自系统的信息显示给用户。系统的用户层采用IE浏览器作为交互方式。

(2)表示层。表示层主要控制页面外观,产生页面逻辑以及对用户输入的数据进行合法性验证。系统中主要包括基于ExtJS框架的JavaScript脚本。其中JavaScript脚本可以增强用户体验,ASPX负责视图的功能,由 HTML、C#程序片断和 ASP.NET标签构成。

(3)业务层。业务层处理应用的核心业务逻辑,业务逻辑对象则把业务规则、约束、活动和数据结合在一起。

(4)数据访问层。数据访问对象(data access object)把底层的数据访问操作和上层的业务逻辑分开。

(5)数据传输对象(data transfer object)。数据传输对象是为负责层与层之间数据的传输而设计的实例化对象。

4 系统的设计和实现

4.1 系统的功能设计

结合高校低值易耗品管理工作的实际,本系统包括角色及权限管理、公告显示和主流产品信息、文件资料传输、低值易耗品基本信息维护、低值易耗品状态信息和低值易耗品申领流转等6个大模块。

(1)角色及权限管理模块。它是管理系统的基础模块,是保证系统安全性的重要内容。该模块的设计思想是:先为系统建立不同的用户角色,并为每一种角色设置不同的操作权限。在新建用户时,可为每个用户指定1个或者多个角色。

(2)公告显示和主流产品信息模块。该模块向全校的教职员工通知相关信息,为全校教职工展示各类教学科研物品的详细资料,为其选用物品提供参考。

(3)文件资料传输模块。其作用是在各管理员之间传输文件资料和即时消息,包括发送消息、草稿箱、发件箱、收件箱、联系人等。发送消息可以添加附件,联系人来源于不同的登录用户。

(4)低值易耗品基本信息维护模块。该模块主要包括了对物品类别和物品信息的管理。

(5)低值易耗品状态信息模块。它实时显示各种物品的申报、入库、已领和库存数量。点击物品名称后,会详细显示各个院系对该物品的申报和已领数量;点击物品已领数量,详细列出各项物品编号、领用人和状态信息。该模块还集成了分类统计的功能。

(6)低值易耗品申领流转模块。该模块是系统实现的重点和难点,它的功能是处理低值易耗品的管理流程,包括预算、采购、入库、出库、付款、保修等,流程处理的结果将实时影响状态信息模块的结果。该模块主要包括流程模型定义、工作流解释、流程监控等功能。

4.2 工作流组件架构的设计

通过分析 WFMC(Workflow Management Coalition,工作流管理联盟)组织提出的工作流管理系统参考模型,笔者设计了一种符合标准的低值易耗品申领流转工作流组件架构(见图3)。该工作流组件包括管理流程定义模块、工作流引擎模块、超时处理模块、通用功能模块。

图3 低值易耗品申领流转功能架构

(1)管理流程定义模块。该模块对过程模型、组织模型和信息模型进行定义,即为流程的建模人员提供业务管理各项活动逻辑、完成流程活动参与者结构以及流程执行中相关数据模型的定义工具。

(2)工作流引擎模块。该模块的功能是解释激活的工作流模块,即利用组织、角色和权限表中的数据,自动生成工作流实例中各个相关处理步骤中的人员列表;激活相关的处理步骤并向系统任务表中插入系统任务;启动工作流实例并管理流程实例的运行;维护工作流数据并在用户之间实现任务的传递;提供对工作流的控制、管理、监控等功能。

(3)超时处理模块。工作流启动者可对其创建的工作流实例的运行情况进行管理,对未执行完的工作流实例执行停止、挂起、修改等操作。系统还可按照设置的系统时钟自动提醒,内置了催办通知、同意流转和拒绝终止3种超时处理方式。

(4)通用功能模块。该模块实现了 WFMC参考模型中的五类接口,它是一组功能的中间件,为各功能部件提供标准的通信协议,包括管理流程定义、超时处理、普通功能与工作流引擎之间的通信、不同工作流之间的通信。

低值易耗品申请流转功能的运行原理是:普通用户输入业务信息,触发工作流引擎根据定义好的工作流模板,引用角色中的数据,生成工作流实例和相应的系统任务。系统任务所涉及的角色在接收系统任务通知的同时,调用相关数据进行处理。工作流引擎接受用户的数据操作,对相关的数据进行更新并生成新的系统任务,以实现任务在用户之间传递。超时处理模块检查任务的执行情况,并根据实例中对应角色的超时处理参数的设定来执行相应的超时处理操作。

4.3 系统数据的设计

本系统基于有限状态机[7](FSM)数学模型来定义工作流模型,即:将业务过程的每个任务描述成一系列的步骤和步骤的状态,步骤状态包含名称和输入两种信息,不同状态之间的连接通过执行动作结果触发转换条件来实现,状态的变化实现任务的流转。

为了方便用户可视化地自定义工作流模板系统的开放互访,本系统采用XML文档存储工作流模板和工作流实例。工作流模板XML文档中包含工作流模板的类型、所拥有的任务步骤等信息;工作流实例XML文档中存储了工作流引擎引用角色数据,解释工作流模板定义所产生的相关信息,包括工作流模板类型、流程号、流程名称、实例开始时间和结束时间、启动人、活动步骤、过程状态等信息。活动步骤包括步骤类别、用户、用户反应、反应描述、开始时间和结束时间、优先级、状态、超时处理方式、处理时限、业务信息编号等信息。通过实例文档和工作流引擎可依次生成系统任务,从而实现用户之间的业务流转和处理。

本系统的其他信息,如业务数据、表单数据、表单目录、动作条件、系统任务、用户角色信息等都存储在SQL Sever数据库中。其中,业务数据表存储了工作流实例运行所需填写的业务数据信息;表单数据表存储了表单名称、类型、描述、字段、数据类型、角色编号等信息;表单目录表存储了流程所对应的多个表单的填写顺序信息;动作条件表存储了动作ID、触发变量、变量值、前一步骤ID、后一步骤ID等信息;系统任务表主要包括序号、用户、任务类别、任务描述、业务编号等信息;用户角色表存储了用户ID、角色ID信息。

数据库表之间的实体关系图如图4所示。

图4 数据实体关系图

4.4 工作流引擎模块的设计

本系统工作流引擎类结构图的设计[8-9]如图5所示。

图5 工作流引擎类结构图

(1)FlowInterface类。该类为工作流引擎和普通功能模块、外部程序之间提供数据通信服务,实现远程调用。该类通过对底层程序的封装和逻辑组合,实现对任务的管理。

(2)FlowManage类。该类对流程进行管理,功能包括响应请求,实例化工作流程,实现工作流实例的更新、保存、删除、启动和发送等执行操作。

(3)StepManage类。该类对工作流实例步骤进行管理。在FlowManage类实例化并启动工作流实例后,StepManage类不断地实现每一步的实例运作,功能包括步骤实例的生成、下一个步骤的计算。

(4)DistributeUser类。该类是在工作流实例创建时,根据模型定义的参与者,将具体的任务分配给不同的人员,其功能包括经办人实例的创建、经办人输入信息的保存和办理信息的标志。

(5)TaskManage。该类为管理员和普通用户提供功能函数,其功能包括获取流程列表、某一流程实例的经办历史、某用户的所有待办事宜、回撤流程、经办信息的管理等操作。

5 系统的应用

从整体上看,各个阶段的低值易耗品有不同的状态,一系列的活动和任务触发状态的改变。低值易耗品管理过程本质上是基于一定规则的活动和任务的逻辑组合,和工作流技术的“业务流程驱动”特点相吻合[4,10-11]。在实施基于工作流的低值易耗品管理系统时,我校梳理了管理规章制度,规范并优化了管理流程,在已有的管理系统中定义应用接口、对外发布服务,以便与工作流管理系统连接。在采用了该系统之后,管理员可根据实际需要灵活并可视化地调整实验室低值易耗品的管理流程设计,使低值易耗品管理工作效率得到了较大的提高。

[1]石风华,吴英豪.高校低值易耗品管理现状及建议[J].和田师范专科学校学报:汉文综合版,2006,26(4):201-202.

[2]冯素江,王文淑,袁海涛.实验用低值易耗品管理的改革与探索[J].实验室研究与探索,2004,23(1):103-104.

[3]王承明,袁玉清,殷元元.基于校园网的低值易耗品管理信息系统的设计与开发[J].实验室研究与探索,2005,24(12):58-59,69.

[4]吴兵,杜菁,张伟.信息技术环境下医学院校低值易耗品的管理[J].实验技术与管理,2011,28(9):197-199.

[5]史美林.CSCW:计算机支持的协同工作[J].通信学报,1995,16(1):55-61.

[6]罗海滨,范玉顺,吴澄.工作流技术综述[J].软件学报,2000,11(7):899-907.

[7]夏长虹,陈文博.信息传递在基于Web的工作流系统中的应用[J].计算机工程与应用,2002,38(10):218-220.

[8]吴胜宗.工作流的数学建模及其模型仿真研究[D].西安:西北大学,2007.

[9]蒋劢,赵春生.动态网站数据维护管理系统的研究与实现[J].四川理工学院学报:自然科学版,2007(4):24-27.

[10]张清娜.企业的办公自动化系统的设计与实现[J].辽宁行政学院学报,2005(6):225-226.

[11]关长青.计算机在低值易耗品管理中的应用[J].实验室研究与探索,1992,11(2):125-126.

猜你喜欢

低值易耗品实例流程
吃水果有套“清洗流程”
高校低值易耗品管理高效化探讨与研究
事业单位低值易耗品管理分析
内部控制在材料管理中的应用
——以A环境保护研究所为例
改进和加强铁路企业低值易耗品管理
违反流程 致命误判
本刊审稿流程
析OGSA-DAI工作流程
完形填空Ⅱ
完形填空Ⅰ