APP下载

基于SaaS模式的人力资源管理系统开发

2022-05-09袁筱钰孙亚博

江苏科技信息 2022年10期
关键词:租户管理系统人力资源

袁筱钰,孙亚博,蒋 静

(南京工程学院,江苏 南京 211167)

0 引言

人力资源管理系统作为现代企业信息系统的重要组成部分,可以提高企业绩效,优化人才结构。传统的人力资源管理系统由企业自行运行维护,对企业的软件、硬件均具有较高的要求,易造成系统优化困难、运行维护成本高以及难以满足企业日益丰富的智能化需求等问题。本文研究了软件即服务(SaaS)模型,并结合软件标准化、分布式、微服务体系结构或租赁使用等特点,开发了基于SaaS模型的人力资源管理系统,为中小企业人力资源管理信息化、智能化提供了一种解决方案。

1 SaaS概述

1.1 SaaS特征

SaaS软件即服务属于云计算,云计算还包括IaaS(基础设施即服务)和PaaS(平台即服务)[1]。SaaS模式结合了20世纪60年代的大型机、80年代的C/S主机/终端模式、1988年诞生的ASP应用服务模式和大数据技术,使得软件成为一种即租即用的云服务。1988年,应用服务提供商(Application Service Provider,ASP)提出的基于业务租赁的软件开发模式推动了中小企业的信息化建设,企业只需提供数据,即可通过虚拟互联网访问被集中管理的应用服务。但ASP框架仍存在网络和数据可靠性差,软硬件技术、大服务租赁无法满足企业丰富需求等问题。随着计算机软硬件技术的不断发展,SaaS模式包含的云计算、多租户架构、微服务等新兴信息技术为软件租赁模式提供了技术支持,弥补了ASP框架的不足。云计算技术通过虚拟化将不同地域的计算资源整合到服务器中,通过搭建分布式的软件服务满足软件租赁的需要;多租户架构为软件租赁的数据安全提供了可靠性支持;而微服务技术拓展了SaaS模式软件的多元化和可伸缩性,提升了软件的成熟度,在占用较少计算资源的情况下满足了客户灵活的需求。

1.2 SaaS模式的MVCD数据层模型

SaaS模式即租即用的特点,对软件的数据层提出了更高的要求。2006年,陈海栋[2]研究发现,传统的人力资源管理系统应用在系统、逻辑、数据等方面无法直接适应新型的SaaS模式,在传统的MVC(模型—视图—控制器)软件设计模式基础上,提出了更为适应SaaS模式的MVCD设计模式。这种新的设计模式增添了数据层的概念,实现了人力资源管理系统对多企业的支持,从而解决了传统的HRMS软件无法适应SaaS模式的问题。2007年,匡永光等[3]研究认为,SaaS模式应用所面临的最严峻的挑战就是多租户、可配置以及可扩展:多租户主要面临的是SaaS软件被多个租户使用时的高并发以及数据分离的问题;可配置则要求SaaS软件根据用户需求,提供个性化空间;而可扩展更为关注未知用户属性的需求。为解决这些问题,2009年,陆洪潮[4]在研究SaaS模式的人力资源管理系统时,在多租户数据模型中选择了成本最低、安全性较差、可扩展性较低的“共享数据库,共享数据模块”数据模型。为弥补其扩展性较低的不足,陆洪潮[4]采用了多种方法来提升系统的可扩展性,具体方法见图1。这种方法虽然没有“共享数据库、独立数据模块”的数据模型简洁方便,但也弥补了成本较低方案可扩展性不足的问题。

图1 可扩展性提升的方法

基于云计算的SaaS模式具有诸多优势,以SaaS模式下的云会计应用为例,SaaS模式具有运营成本低、部署周期快、协同功能强、运维操作简便等优点:在运营成本上,依托于云计算的分布式SaaS软件集中在服务器进行运营维护,从而降低企业成本;在部署上,SaaS模式作为多租户软件,在数据结构、字段、操作流程等方面具有较高的标准化要求,从而在标准的基础上提升了部署速度;在协同功能中,SaaS软件的标准化同样有助于企业的扩张和发展;在运维操作上,只需要企业掌握基础的互联网技术,人力资源管理系统即可依赖SaaS服务提供商进行运行维护等相关操作。

然而SaaS模式也具有劣势,同样以SaaS模型下的云会计应用为例,SaaS模式软件在应用时面临传统企业在应用SaaS软件时的商业模式转变需要时间、软件服务的可持续性差、信息安全可能带来的风险、标准化与多元化的平衡等问题。这些问题可以分为两个方面:一是传统企业的转型,涉及企业经营模式和思维方式的转变;二是SaaS软件自身质量问题,包含SaaS软件的信息安全可靠性、软件成熟度和性能等。SaaS模式下的人力资源管理系统对于企业具有简洁易用、成本低、可配置等特点,而可配置、可拓展和安全性仍然是SaaS面临的主要问题。新兴的微服务架构则为SaaS模式可自由配置、简化架构提供了可能。本项目将结合SaaS模式下已有的信息管理系统与微服务架构,建立一种基于微服务框架SpringBoot的轻量级开发的SaaS模式系统,弥补传统模式下信息管理系统的不足,探索微服务架构与SaaS模式结合的形式,建立更加灵活简洁的企业人力资源管理系统。

2 人力资源管理系统现状与策略

2.1 人力资源管理现状

2.1.1 传统人力资源管理系统存在的问题

人力资源管理系统可以优化企业的人力资源结构、提升公司绩效。2004年,周文成等[5]研究了当时我国企业人力资源管理系统的使用情况,阐述了人力资源管理信息化对企业发展的重要意义,指明人力资源管理系统应用面临的4个主要问题:软件普及率低、应用水平差、应用层次低和应用效果差。浙江嘉兴第一医院引入了以数据库管理为核心的人力资源管理系统,实现了从传统的文档管理到信息化系统管理的转变[6]。基于数据库的人力资源管理系统对当时的医院人力资源管理起到了推进作用,但也为医院的人才培训和技术要求产生了影响。随着大数据技术的不断发展,企业对人力资源管理系统的需求不断增加,以及系统数据结构和内容的扩充等因素,都对传统的以数据库为基础的企业人力资源管理系统的运行维护、后续开发形成新的问题。以浙江嘉兴第一医院为例,人力资源管理系统存在的问题主要有以下3个方面:一是数据库字段不规范、与行业标准不兼容带来的人力资源管理系统难以扩展的问题;其次是数据需求大于数据输入,数据无法简易直观展示的问题;最后是人力资源管理系统统计功能较为完善而分析预测功能较为缺乏,系统急需智能化的问题。

2.1.2 SaaS模式人力资源管理的优势

SaaS模式人力资源管理系统可解决数据库字段兼容性差、数据处理与展示和人力资源管理智能化的需求:在数据库兼容方面,SaaS模式具备数据库标准方案,所有基于同一SaaS软件部署的人力资源管理系统在数据层面均可兼容;在数据处理与展示方面,云计算和分布式的特点可高效管理大量数据;在智能化需求方面,SaaS软件可通过微服务部署的方式,为企业的个性化需求提供对应的服务。除此之外,基于SaaS模式的人力资源管理系统还可通过制定智能人才培养方案从而优化企业人才结构、加强企业文化改革,从而简化企业管理层次、加强企业反应力、执行力和创新性。

2.2 基于SaaS的人力资源管理系统模块设计

根据企业人力资源管理的战略组成要素,系统设计了以下需求模块:人员档案管理模块、人力资源规划调配模块、培训教育模块、薪资和激励模块和考勤管理模块,如图2所示。在人员档案管理中,员工的基本信息维护是档案管理的主要内容,除此之外还需要对员工的个人档案、履历包括员工绩效和科研成就等信息进行系统化管理。在人力资源规划调配模块,可进行人事调动和变动查询。在教育培训模块中,可以设置培训内容,管理培训人员,设置培训成果和奖惩措施。在薪资和激励模块,系统包括薪金计算和查询、薪水设定规章制度等功能。在考勤管理模块可查看考勤情况。

图2 人力资源管理系统模块

3 基于SaaS的人力资源管理系统的搭建

3.1 关键技术与应用

3.1.1 基于BootStrap的前端开发

本项目采用SaaS多租户架构模式,根据系统需求使用BootStrap框架开发前端页面。版本采用Bootstrap3.7,在开发过程中:首先,需创建文件夹结构,将Bootstrap文件置于tool文件夹下;第二,创建html骨架结构,并引入对应的样式文件;第三,进行编码,通过类控制样式即可。

3.1.2 基于SpringBoot的微服务开发

SpringBoot框架具有现货供应和约定编程的特点。在开发过程中,Springboot框架使用“约定”来避免开发过程中冗长的配置工作和注释,以避免xml文件的配置工作;除此之外,SpringBoot框架生成依赖模块,开发者只需加入相关依赖即可使用,特点是开发者能更注重业务逻辑这类轻量级开发。图3以员工信息管理模块为例展示了使用SpringBoot的开发流程。

图3 员工管理模型开发流程

3.1.3 基于MyBatis和多租户数据模型的数据持久层设计

MyBatis是一种Java持久框架,它可通过xml描述符或注解,将对象与存储过程或SQL语句相关联,并映射到数据库中的相应记录[7]。它可以通过简单的xml或注释来配置和映射本机信息,从而消除了编写大部分jdbc代码、手动设置参数和获取结果集的需要。

针对SaaS模式下的多租户同时使用软件的新环境,SaaS模式的软件采取了多租户数据储存模型,力求在保证数据安全的同时将成本降低。目前的调查研究中,最为常见的数据模型有3种,分别是“独立数据库”“共享数据库、独立数据模块”与“共享数据库、共享数据模块”。本项目根据SaaS模式的特点,采用了“共享数据库、独立数据模块”多租户数据模型。首先在一个数据模块下建立相关的元数据表、业务数据表等对象框架,并给数据表增加租户编号属性。其次,为每个租户提供一个单独的数据模块,在该模块下,创建与业务数据表对应的业务数据视图。最后,给每个租户建立DB User,每个DB User只能访问对应模块,用户访问时连接身份认证中心,由服务器对身份鉴定、识别,从而达到用户之间的数据分割与正常访问[7],如图4所示。

图4 多租户数据访问模块

利用Spring Security来管理权限和维护数据安全性。Spring Security是一个身份验证和访问控制框架,具备功能强大且高度可定制的特点。它可为Java应用程序提供身份验证和授权,并且可以轻松扩展以满足自定义要求。

3.2 系统基本功能模块开发

3.2.1 人员档案模块

人员档案模块是人力资源管理系统的基础模块,包括记录员工信息、档案管理、档案内容、履历管理和奖惩管理等诸多功能。良好的人员档案管理功能对合理分配人力资源具有正面影响。为搭建标准化数据库,提升人力资源管理系统的可兼容性、可靠性和可扩展性,数据字段设计员工基本信息包括人员基本信息、学历信息、人事信息和其他信息3个方面:人员基本信息包括员工的工号、姓名、性别、民族、联系方式、身份证号码、生日、年龄、婚姻状态等信息;学历信息包括员工的学位、学历、教育经历等;人事信息包括员工合同信息、社保信息和奖惩信息等;其他信息则根据企业的特征提供个性化定制服务。

3.2.2 人事调配模块

人事调配模块具有人员职称信息查询、员工职称评定与考核、绩效管理、人事调配和人事变动查询等功能。为实现人事调配模块:首先,在招聘新员工后,应添加新员工相关信息,同理在员工离职或退休后进行员工信息的删减,以避免脏数据的积压造成系统效率低下;其次,着重于历史信息管理,根据员工的职称和绩效考核进行历史信息记录;第三,根据历史考核信息和企业规章制度,进行人事调配的智能推荐,从而达到优化人力资源结构的目的;最后,在进行人事调配后,员工信息应被及时更新,以确保功能的有效性。

3.2.3 教育培训模块

教育培训是企业人力资源管理系统的重要组成部分,企业可通过教育培训提升人才素质、定向化培养专业人才、传播企业文化、促进人才交流。为达到企业教育培训进一步数字化、智能化的需求,开发的人力资源管理系统首先应对培训类别和项目进行良好的统计;第二,应建立培训记录,记录培训类别、培训性质、培训人数、参加人数、评估结果、成绩比例等;第三,对参与培训的员工成绩进行智能分析和展示,基于培训成绩比重自动计算考试综合成绩,并判定员工培训是否合格;最后,根据人员的培训成绩信息分发证书,并将信息及时发送给人事调配管理人员。

3.2.4 薪资和考勤管理模块

在薪资和考勤管理模块,与培训模块类似,建立相应的考勤历史记录,结合企业规章制度进行薪资激励、职称和绩效考核总评,并将数据量化分析与薪资管理对应起来,使得员工可以及时有效查询薪资组成与反馈。

4 结语

本文根据SaaS模式的特点,结合SaaS软件开发技术与发展瓶颈,分析SpringBoot、MyBatis等技术,探索研究开发基于SaaS模式的人力资源管理系统的方法。这使得这些企业在获取人力资源管理系统增值服务的同时,不必考虑技术问题,拿来即用,只要按期支付系统的租赁费用即可,从而大大降低了这些企业使用人力资源管理系统的成本。

猜你喜欢

租户管理系统人力资源
基于James的院内邮件管理系统的实现
多租户数据隔离及加密研究
浅析人力资源挖潜增效的途径
基于多租户隔离的云安全建设
基于LED联动显示的违停管理系统
让人力资源会计成为企业的“新名片”
一种新型高效的多租户共享数据模型
海盾压载水管理系统
基于MVC模式的多租户portlet应用研究*
宝鸡:松绑人力资源