袁筱鈺,孫亞博,蔣 靜
(南京工程學院,江蘇 南京 211167)
人力資源管理系統作為現代企業信息系統的重要組成部分,可以提高企業績效,優化人才結構。傳統的人力資源管理系統由企業自行運行維護,對企業的軟件、硬件均具有較高的要求,易造成系統優化困難、運行維護成本高以及難以滿足企業日益豐富的智能化需求等問題。本文研究了軟件即服務(SaaS)模型,并結合軟件標準化、分布式、微服務體系結構或租賃使用等特點,開發了基于SaaS模型的人力資源管理系統,為中小企業人力資源管理信息化、智能化提供了一種解決方案。
SaaS軟件即服務屬于云計算,云計算還包括IaaS(基礎設施即服務)和PaaS(平臺即服務)[1]。SaaS模式結合了20世紀60年代的大型機、80年代的C/S主機/終端模式、1988年誕生的ASP應用服務模式和大數據技術,使得軟件成為一種即租即用的云服務。1988年,應用服務提供商(Application Service Provider,ASP)提出的基于業務租賃的軟件開發模式推動了中小企業的信息化建設,企業只需提供數據,即可通過虛擬互聯網訪問被集中管理的應用服務。但ASP框架仍存在網絡和數據可靠性差,軟硬件技術、大服務租賃無法滿足企業豐富需求等問題。隨著計算機軟硬件技術的不斷發展,SaaS模式包含的云計算、多租戶架構、微服務等新興信息技術為軟件租賃模式提供了技術支持,彌補了ASP框架的不足。云計算技術通過虛擬化將不同地域的計算資源整合到服務器中,通過搭建分布式的軟件服務滿足軟件租賃的需要;多租戶架構為軟件租賃的數據安全提供了可靠性支持;而微服務技術拓展了SaaS模式軟件的多元化和可伸縮性,提升了軟件的成熟度,在占用較少計算資源的情況下滿足了客戶靈活的需求。
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.1.1 傳統人力資源管理系統存在的問題
人力資源管理系統可以優化企業的人力資源結構、提升公司績效。2004年,周文成等[5]研究了當時我國企業人力資源管理系統的使用情況,闡述了人力資源管理信息化對企業發展的重要意義,指明人力資源管理系統應用面臨的4個主要問題:軟件普及率低、應用水平差、應用層次低和應用效果差。浙江嘉興第一醫院引入了以數據庫管理為核心的人力資源管理系統,實現了從傳統的文檔管理到信息化系統管理的轉變[6]。基于數據庫的人力資源管理系統對當時的醫院人力資源管理起到了推進作用,但也為醫院的人才培訓和技術要求產生了影響。隨著大數據技術的不斷發展,企業對人力資源管理系統的需求不斷增加,以及系統數據結構和內容的擴充等因素,都對傳統的以數據庫為基礎的企業人力資源管理系統的運行維護、后續開發形成新的問題。以浙江嘉興第一醫院為例,人力資源管理系統存在的問題主要有以下3個方面:一是數據庫字段不規范、與行業標準不兼容帶來的人力資源管理系統難以擴展的問題;其次是數據需求大于數據輸入,數據無法簡易直觀展示的問題;最后是人力資源管理系統統計功能較為完善而分析預測功能較為缺乏,系統急需智能化的問題。
2.1.2 SaaS模式人力資源管理的優勢
SaaS模式人力資源管理系統可解決數據庫字段兼容性差、數據處理與展示和人力資源管理智能化的需求:在數據庫兼容方面,SaaS模式具備數據庫標準方案,所有基于同一SaaS軟件部署的人力資源管理系統在數據層面均可兼容;在數據處理與展示方面,云計算和分布式的特點可高效管理大量數據;在智能化需求方面,SaaS軟件可通過微服務部署的方式,為企業的個性化需求提供對應的服務。除此之外,基于SaaS模式的人力資源管理系統還可通過制定智能人才培養方案從而優化企業人才結構、加強企業文化改革,從而簡化企業管理層次、加強企業反應力、執行力和創新性。
根據企業人力資源管理的戰略組成要素,系統設計了以下需求模塊:人員檔案管理模塊、人力資源規劃調配模塊、培訓教育模塊、薪資和激勵模塊和考勤管理模塊,如圖2所示。在人員檔案管理中,員工的基本信息維護是檔案管理的主要內容,除此之外還需要對員工的個人檔案、履歷包括員工績效和科研成就等信息進行系統化管理。在人力資源規劃調配模塊,可進行人事調動和變動查詢。在教育培訓模塊中,可以設置培訓內容,管理培訓人員,設置培訓成果和獎懲措施。在薪資和激勵模塊,系統包括薪金計算和查詢、薪水設定規章制度等功能。在考勤管理模塊可查看考勤情況。

圖2 人力資源管理系統模塊
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.1 人員檔案模塊
人員檔案模塊是人力資源管理系統的基礎模塊,包括記錄員工信息、檔案管理、檔案內容、履歷管理和獎懲管理等諸多功能。良好的人員檔案管理功能對合理分配人力資源具有正面影響。為搭建標準化數據庫,提升人力資源管理系統的可兼容性、可靠性和可擴展性,數據字段設計員工基本信息包括人員基本信息、學歷信息、人事信息和其他信息3個方面:人員基本信息包括員工的工號、姓名、性別、民族、聯系方式、身份證號碼、生日、年齡、婚姻狀態等信息;學歷信息包括員工的學位、學歷、教育經歷等;人事信息包括員工合同信息、社保信息和獎懲信息等;其他信息則根據企業的特征提供個性化定制服務。
3.2.2 人事調配模塊
人事調配模塊具有人員職稱信息查詢、員工職稱評定與考核、績效管理、人事調配和人事變動查詢等功能。為實現人事調配模塊:首先,在招聘新員工后,應添加新員工相關信息,同理在員工離職或退休后進行員工信息的刪減,以避免臟數據的積壓造成系統效率低下;其次,著重于歷史信息管理,根據員工的職稱和績效考核進行歷史信息記錄;第三,根據歷史考核信息和企業規章制度,進行人事調配的智能推薦,從而達到優化人力資源結構的目的;最后,在進行人事調配后,員工信息應被及時更新,以確保功能的有效性。
3.2.3 教育培訓模塊
教育培訓是企業人力資源管理系統的重要組成部分,企業可通過教育培訓提升人才素質、定向化培養專業人才、傳播企業文化、促進人才交流。為達到企業教育培訓進一步數字化、智能化的需求,開發的人力資源管理系統首先應對培訓類別和項目進行良好的統計;第二,應建立培訓記錄,記錄培訓類別、培訓性質、培訓人數、參加人數、評估結果、成績比例等;第三,對參與培訓的員工成績進行智能分析和展示,基于培訓成績比重自動計算考試綜合成績,并判定員工培訓是否合格;最后,根據人員的培訓成績信息分發證書,并將信息及時發送給人事調配管理人員。
3.2.4 薪資和考勤管理模塊
在薪資和考勤管理模塊,與培訓模塊類似,建立相應的考勤歷史記錄,結合企業規章制度進行薪資激勵、職稱和績效考核總評,并將數據量化分析與薪資管理對應起來,使得員工可以及時有效查詢薪資組成與反饋。
本文根據SaaS模式的特點,結合SaaS軟件開發技術與發展瓶頸,分析SpringBoot、MyBatis等技術,探索研究開發基于SaaS模式的人力資源管理系統的方法。這使得這些企業在獲取人力資源管理系統增值服務的同時,不必考慮技術問題,拿來即用,只要按期支付系統的租賃費用即可,從而大大降低了這些企業使用人力資源管理系統的成本。