基于REST架构的人事管理系统设计与实现


  摘要:为了规范人事管理流程,提高人事录用效率,在单位内实现各部门人力资源共享,同时为了适应多平台工作环境,方便管理人员通过电脑、手机、平板等多种终端进行人事管理工作,提出了基于REST架构的人事管理系统。介绍了系统的总体架构、功能模块及数据库设计,并以招聘管理为例详细说明了招聘模块的具体实现。通过人事管理系统实现了日常人事管理电子化、流程化、规范化、便捷化,具有较高的实用价值。
  关键词关键词:REST;人事管理;多平台;招聘管理;Android
  中图分类号:TP319文献标识码:A 文章编号:16727800(2014)002011003
  0引言
  当前,越来越多的企事业和政府部门通过建设信息化系统来替代传统的纸质办公,电子信息化的便捷性、规范性逐步得到了大众的认可。人事管理在各企事业单位的行政管理工作中具有相当重要的地位,越来越多的单位意识到人力资源是一个企业的核心价值,管理好企业的人力资源是保障企业正常运作非常重要的环节。
  公安部第三研究所现有在职职工1 500余人,每年有近百人的人事变动,如果使用传统的纸质管理方式来管理人力资源,将浪费大量的人力物力,并且往往事倍功半。在此形势下,为了充分利用电子信息化的便捷性和规范性,建立统一的管理流程,通过建设人事管理系统来帮助管理人员准确地进行管理工作是十分必要的,本系统就是在此前提下进行设计和开发的。
  1REST架构风格
  REST(Representational State Transfer)是由Roy Thomas Fielding[1]在博士论文中提出的一种架构风格,又称“表征状态转移”,REST风格的架构包含了4个核心原则:①REST首先将所有的事物都抽象为资源,并将资源与URI进行对应,使得每个资源都有唯一对应的URI;②客户端通过URI来确定资源的表征,对资源的操作通过HTTP协议的不同方法(GET、POST、PUT、DELETE)来确定;③客户端通过链接将应用从一个状态改变为另一个状态,通过操作资源的表现形式来操作资源;④资源可以定义多种表现形式,客户端可以通过资源的描述对资源进行不同形式的展现[2]。
  由于HTTP协议是无状态协议,所以利用REST风格架构的Web软件也是无状态的[3]。客户端的每次请求应该详细描述本次操作的所有属性,服务器不会额外地保存操作状态。
  2系统架构设计
  2.1总体架构设计
  系统主要采用JAVA语言编写,采用JAVAEE架构[4],利用三层架构将系统从逻辑上分为表示层、业务层、数据层[5],如图1所示。
  (1)表示层。主要负责与最终用户之间的交互,并通过不同的展现形式将系统中的数据展现出来。表示层主要分为两部分:一个是基于Web的BS架构展现,通过Web的形式进行交互;另一个是基于Android平台的展现[6],通过构建Android应用展现数据。两者的数据来源均为REST接口。
  (2)业务层。主要是对业务逻辑的封装,业务层包含了面向表示层的REST接口、业务规则接口、数据访问接口,利用面向接口的编程方式进行设计,这三者之间的实现通过注入的设计模式进行相互调用。数据访问接口的实现通过Hibernate框架将数据库映射为实体,通过操作实体达到更新数据库的目的。
  (3)数据层。数据层即数据库,本系统采用MySQL作为数据库软件。
  2.2系统框架应用
  为了更高效、更方便地开发,系统整合了多种开源框架进行构建。主要的开发框架包括:
  (1)Hibernate。用Hibernate作为ORM框架,用作数据与实体之间的映射,由于系统主要采用面向对象的设计方法,为了消除面向对象方法与关系型数据库之间的差异,采用Hibernate作为数据操作的基本框架。
  (2)RESTEasy。RESTEasy是JBoss的一个开源框架,用于构建REST风格的Web服务。本系统中,通过使用RESTEasy框架,为不同的客户端程序提供统一的REST风格Web服务,专注于数据的提供,而展现方式由不同的客户端来实现。
  (3)jQuery。本系统使用jQuery作为Web展示部分的前端框架,在网页形式下提供各种前端特效,使操作更人性化、便捷化。
  由于本系统采用的是符合JAVAEE规范的jBoss应用服务器,因此,利用Java的Annotation可以实现各个框架之间的整合。
  3系统功能设计
  人事管理系统的主要功能如图2所示。
  人事管理系统的用户角色主要分为4类,按照权限从高到低主要分为系统管理员、人事管理专员、普通在职职工、一般注册用户。其中:系统管理员主要负责保障系统的正常运行,包括对用户权限进行调整,系统参数的设置等功能;
  人事管理专员主要负责对在职人员的信息审批管理、各部门的招聘信息发布管理、入职信息管理、一般信息发布等;
  普通在职职工主要负责对个人信息进行实时维护,维护后需要经过人事管理专员审批后才能生效;
  一般注册用户主要是一些应聘人员,需要对简历进行维护,选择应聘岗位等。
  (1)公共信息浏览。系统中的所有用户都具有浏览公共信息的权限,公共信息主要包括单位基本信息和组织架构,以及一些日常动态,便于应聘者和在职职工及时了解单位的人事动态。这些信息是由系统管理员或者人事管理专员在后台管理系统中进行录入的。
  (2)一般用户注册。主要是提供给应聘人员,在参加应聘之前需要注册成为系统会员,为了保证用户信息的真实性,在应聘前必须进行身份验证,验证方式可以通过邮件或者手机号码。用户在注册时必须填写邮件地址或手机号码,注册成功后系统会自动发送验证码到用户邮箱或用户手机。