基于工作流的请假审批系统的设计与实现
2009-04-23密海英
密海英
[摘要]从请假审批系统的建立与实施出发,提出建立一套基于工作流技术的请假审批系统的设计和实现,讨论采用工作流技术来改进传统的请假审批系统。
[关键词]工作流 请假审批系统 数据库 角色权限控制
中图分类号:TP2文献标识码:A文章编号:1671-7597(2009)0320041-01
一、引言
工作流技术作为近十年来的一个研究的热点,一直受到人们普遍的关注。工作流的概念起源于生产组织和办公自动化领域,它是针对日常工作中具有固定程序的活动而提出的一个概念,其目的是通过将工作分解成定义良好的任务、角色,按照一定的规则和过程来执行这些任务并对它们进行监控,达到提高办事效率、降低生产成本、提高经营管理水平和竞争力的目标。实际上,自从进入工业化时代以来,有关过程的组织管理与流程的优化工作就一直在进行,它是企事业管理的主要研究内容之一。只不过在没有引入计算机信息系统的支持以前,这些工作是由人来完成的。
结合本人所在单位的实际工作,论文课题将目标定为研究在请假系统中应用工作流技术来实现无纸化请假,提供效率,降低成本。
二、工作流技术基础
1993年工作流管理联盟(Workflow Management Coalition,简称WflVIC)的成立标志着工作流技术开始进入相对成熟的阶段。为了实现不同工作流产品之间的相互操作,WfMC在工作流管理系统的相关术语、体系结构及应用编程接口等方面制定了一系列标准。工作流管理联盟给出的工作流定义是:工作流是一类能够完全或者部分自动执行的经营过程,它根据一系列过程规则、文档、信息或任务能够在不同的执行者之间进行传递或执行。在实际情况中可以更广泛地把凡是由计算机软件系统(工作流管理系统)控制其执行的过程都称为工作流。由此可以看出,工作流是经营过程的一个计算机实现,而工作流管理系统是这一实现的软件环境。
三、系统的功能划分
本系统划分为底层基础架构模块、安全模块、工作流程管理模块、请假单管理模块、统计分析及报表模块组成。
(一)基础架构模块和安全模块
基础架构包括数据访问服务、统一异常处理、检测跟踪服务、日志服务。安全模块包括身份验证、基于角色的授权、权限分配。
(二)请假单管理模块
创建、修改、管理请假单。查看当前的请假单、查看历史请假单。
(三)工作流管理模块
工作流管理模块负责配置、创建、执行工作流。提供解释过程定义、创建并且控制工作流执行。调度各项活动。提供监督和管理功能等。
(四)统计分析及报表模块
按照组织结构分析显示相应的报表,如按部门等。根据时间分析显示相应的报表,如按月、年等。
四、系统架构
该系统采用Browser/Server体系结构,整个系统分为三层,即客户端、Web应用服务层和数据库服务器。
(一)Web客户端
在本系统中客户端即是指Web浏览器,是最终的用户界面,其对应用服务器提出请求,并接受应用服务器的反馈数据,所有的对请假单和工作流数据操纵以及结果报表等显示都在浏览器中完成。
(二)Web应用服务器
Web应用服务器采用MVC框架,控制器C基本的任务就是对用HTTP协议发来的客户机请求转给模型端M进行处理并通过显示V响应转换成特定的格式,最后把页面和其他对象发到发出请求的客户机上。本系统中控制器主要由RequestServlet负责。模型端又分成两层,服务层:由RequestService(请假单服务组件),WorkflowService(工作流服务组件),Userservice(用户和安全检测服务)和reportService(报表服务组件)和相对应的数据访问层来封装对数据库的操作。显示层用jsp来完成。所有层之间用ValueObject(值对象)来传递业务数据。
(三)DB服务器
数据库是所有东西的关键核心,工作流和请假单等信息都记录在数据库里面。
五、系统功能的具体实现
在前面所阐述的系统总体设计的基础上,本节具体分析在系统的数据库设计、基于角色的安全控制和各主要功能模块实现过程中所采用的技术和方法。
(一)数据库的设计
数据库设计的目的是对于当前应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足请假系统的应用需求。
(二)请假单管理和工作流的数据库设计
请假单表:描述请假单信息。包括请假单唯一的标识、类型、天数、开始时间、结束时间、相对应的工作流等。
请假类别表:可以自定义请假类别,事假、病假、年假等。
工作流表:用户可以配置工作流,一共几个步骤,经过几层批准。
工作流状态:待批准、已批准、取消、拒绝等。
(三)系统安全权限模块的设计与实现
1.系统权限设计的模型。本系统采用了标准的RBAC0的理论模型作为安全模块的基础。
RBAC模型作为目前最为广泛接受的权限模型。由NIST(The National Institute of Standards and Technology,美国国家标准与技术研究院)制定。
在RBAC之中,包含下面几个基本数据元素:
用户users:使用本系统的用户;
角色roles:普通员工角色、管理人员角色、审核归档角色等;
目标objects(OBS):请假单、报表等;
操作operations(OPS):查找、查看、修改、批准、拒绝、归档等动作;
许可权:由一对操作和目标组成,如修改请假单、查看报表、批准拒绝请假单等。
2.系统权限模块的数据库设计。在将RBAC模型运用到系统权限模块的实现过程中,设计了包含用户表、角色表、权限表、角色和权限的关系表和用户和角色的关系表等五张数据表,其相互间的关系如图1所示。
六、结束语
随着信息化技术的发展以及当前各方面的新需求,工作流技术在办公自动化系统中占据了越来越重要的地位。本系统的研发是一次有益的尝试,为企事业推广基于工作流的请假系统提供了初步的参考依据,并对提高企事业信息化将会带来积极的意义。
参考文献:
[1]范玉顺,工作流管理技术基础[M].清华大学出版社,2001.4.
[2]魏永合、王成恩、马明旭,工作流系统中的委托授权机制研究[J].计算机集成制造系统,2009,(01):160-165,172.
[3]马超、曹渠江,一种处理工作流动态变更的有效方法[J].微计算机信息,2009,(03):258-260.