莫秋晶 黃志遠 王愛華 黃華 陶歆
摘要
本文以柳鋼信息化服務管理要達到的目標為導入,通過系統(tǒng)功能設計、流程設計,采用SpringBoot開發(fā)框架對其進行實現(xiàn),通過系統(tǒng)的實際應用,滿足了柳鋼信息部對信息化服務管理的要求。
【關鍵詞】Java Spring Boot 信息化服務管理系統(tǒng)
1 前言
柳鋼信息化服務管理系統(tǒng)是對信息化項目開發(fā)過程和運維階段所產(chǎn)生系統(tǒng)問題的提報、處理跟蹤、人員分配、記錄追溯和最終評價,并且依據(jù)兩化融合的要求保存記錄項目各階段的相關資料,有效形成信息化服務的閉環(huán)管理和知識庫的建立。通過此系統(tǒng)的開發(fā)、實施和應用,我們需要實現(xiàn):
(1)建立統(tǒng)一的系統(tǒng)運維管理體系,對系統(tǒng)問題進行有效的分類,以問題緊急優(yōu)先級進行差別化管理、對問題處理進行及時的分派和跟蹤。
(2)全面系統(tǒng)地收集用戶特別是終端和近終端用戶對系統(tǒng)問題的反饋,以準確地、快速地實現(xiàn)高質(zhì)量的運維服務、持續(xù)改進產(chǎn)品質(zhì)量,提高客戶的用戶體驗,提高用戶的滿意度。強化考核要求,根據(jù)問題處理進度和結果,正確反映實際運維工作的解決狀況。
(3)優(yōu)化業(yè)務流程的操作步驟,減少多余的操作環(huán)節(jié),提高處理效率。
(4)減少手工的錄入工作,實現(xiàn)數(shù)據(jù)在原始發(fā)生時一次錄入,建立準確、完整的數(shù)據(jù)庫,提高效率、提高準確性并降低業(yè)務人員的勞動強度。
(5)建立信息溝通、共享渠道,讓正確的信息在需要的時候準確的到達合適的人。
(6)加強對系統(tǒng)問題數(shù)據(jù)的收集和分析,形成知識庫,為后續(xù)運維人員提供有效的問題處理參考。
2 系統(tǒng)功能
2.1 功能設計
柳鋼信息化服務管理系統(tǒng)由柳鋼信息管理部自主研發(fā),主要用于:柳鋼內(nèi)部信息化管理系統(tǒng)開發(fā)過程和系統(tǒng)運維階段產(chǎn)生的系統(tǒng)問題的提報、處理跟蹤、人員分配、記錄追溯和最終評價;柳鋼內(nèi)部信息化系統(tǒng)項目實施過程和運維階段產(chǎn)生的所有項目資料的保存和查閱;機房日常點檢情況的記錄、問題反饋、問題處理和查閱。根據(jù)業(yè)務需求,系統(tǒng)設計的主要功能如表1所示。
2.2 流程設計
為了實現(xiàn)信息化服務管理工作的閉環(huán)管理和流程的高效性,我們對業(yè)務實際流程進行了優(yōu)化,并設置了以下角色:業(yè)務負責人(負責任務的提報及確認評分)、項目負責人(負責項目信息維護、項目任務分配)、實施員(負責任務提報確認、任務處理)、硬件管理員(負責作業(yè)信息維護、點檢問題處理)、機房值守員(負責點檢問題記錄和提報)。
2.2.1 項目任務管理流程
項目任務管理流程即是在系統(tǒng)開發(fā)過程或系統(tǒng)運維階段產(chǎn)生的歸屬于系統(tǒng)問題的提報、人員分配、處理跟蹤、確認評分的操作流程。具體流程設計如圖1所示。
2.2.2 點檢問題管理流程
點檢問題管理流程即是對機房日常點檢問題的反饋、處理和結果查看的操作流程。具體流程設計如圖2所示。
3 系統(tǒng)開發(fā)技術應用
3.1 Spring Boot框架技術
在柳鋼信息化服務管理系統(tǒng)項目中,我們采用的是Spring Boot開發(fā)框架,在項目開發(fā)過程中,項目成員就可以把重心放在業(yè)務應用邏輯層面,而無需關注底層邏輯是如何實現(xiàn)的。Spring框架主要包括的功能有:Ioc、AOP、Spring-MVC、Spring JDBC、Spring Security等。采用此開發(fā)框架,可以根據(jù)項目特性自動生成Spring框架,能夠生成獨立運行的Spring應用,沒有冗余代碼生成,也沒有XML配置文件,支持Restfult編碼風格,把Tomcat或JettyWeb應用服務器內(nèi)嵌其中而不用提供WAR包。
3.2 前后端分離
在本項目中,我們采用的是Restful API設計,即前后端分離,通過token實現(xiàn),用戶登錄系統(tǒng)時生成token及token過期時間,token與用戶是——對應的關系,調(diào)用接口時將token放到header或請求參數(shù)中,服務端即可知道調(diào)用接口的用戶信息及其是否擁有調(diào)用接口的權限。
3.3 權限控制
使用開源權限控制項目shiro,在shiro配置代碼里,配置為anon表示不經(jīng)過shiro處理,配置為oauth2表示經(jīng)過oauth2Filter處理,前后端分離的接口都會交給oauth2Filter處理,以此保證沒有權限的請求拒絕訪問。
3.4 XSS防范及腳本過濾
xSS跨站腳本攻擊的基本原理和SQL注入攻擊類似,都是利用系統(tǒng)執(zhí)行了未經(jīng)過濾的危險代碼,不同點在于XSS是一種基于網(wǎng)頁腳本的注入方式,也就是將腳本攻擊載荷寫入網(wǎng)頁執(zhí)行以達到對網(wǎng)頁客戶端訪問用戶攻擊的目的,屬于客戶端攻擊。在本項目中針對XSS攻擊,我們提供了過濾功能,可以有效防止XSS攻擊。
3.5 SQL注入防范
在本項目中,我們使用的是Mybatis,如果使用${}拼接SQL,則存在SQL注入風險,可以對參數(shù)進行過濾,避免SQL注入。
3.6 后端校驗機制
我們在本項目中使用的是HibernateValidator校驗框架,且自定義ValidatorUtils工具類,用來校驗數(shù)據(jù)。
3.7 定時任務模塊
本系統(tǒng)使用開源框架Quartz,實現(xiàn)的定時任務,己實現(xiàn)分布式定時任務,可部署多臺服務器,不重復執(zhí)行,以及動態(tài)增加、修改、刪除、暫停、恢復、立即執(zhí)行定時任務。Quartz自帶了各數(shù)據(jù)庫的SQL腳本,如果想更改成其他數(shù)據(jù)庫,可參考Quartz相應的SQL腳本。
3.8 Redis緩存
在設計緩存架構時,我們主要考慮的關鍵有:查詢數(shù)據(jù)時盡量減少DB查詢,F(xiàn)IB主要負責寫數(shù)據(jù);盡量不使用LEFT JOIN等關聯(lián)查詢;多使用單表查詢,緩存命中率最高;數(shù)據(jù)庫insert、update、delete時,同步更新緩存數(shù)據(jù);合理運用Redis數(shù)據(jù)結構。
3.9 系統(tǒng)日志
系統(tǒng)日志是通過Spring AOP實現(xiàn)的,我們自定義了注解@SysLog,使用方式如下所不:
@RestController
@RequestMapping("/sys/user")
public class SysUserController extendsAbstractController{
@SysLog("保存用戶")
@RcquestMapping("/save")
@RequiresPerinissions("sys:user:save")
public Rsave(@RequestBodySysUserEntity user){
ValidatorUtils.validateEntity(user,AddGroup.class);
user.setCreateUserld(getUserld());
sysUserService.save(user);
retuniR.ok();
3.10 文檔在線預覽
我們使用pdf.js實現(xiàn)pdf文件的在線預覽,而對于不是pdf文件我們通過OPENOFFICE提供的命令實現(xiàn):
soffice-headless-accept-"socket,host-127.0.0.1,port-8100;urp;"-nofirststartwizard
將office文檔轉換pdf文檔的功能,再通過pdf實現(xiàn)文檔的在線預覽。在預覽技術的使用過程中,業(yè)務方提出需要對文檔的訪問權限進行控制,因此我們首先需要禁止直接使用url訪問文檔路徑的方式,再通過接口在后臺讀取文檔,通過IO流回傳頁面顯示的方式,在接口中通過邏輯控制訪問權限。
3.11 UI技術
我們采用vue.js+elementai實現(xiàn)html5標準的前端UI,通過vue的雙向綁定模式,使得表單的封裝以及調(diào)用結構的參數(shù)傳遞更加簡潔,大大減少了前端開發(fā)工作的周期。
4 結語
本文針對信息化服務管理需求,設計、開發(fā)和實現(xiàn)了基于Spring Boot的信息化服務管理系統(tǒng)。通過系統(tǒng)的開發(fā)、實施和應用,建立了統(tǒng)一的系統(tǒng)運維管理體系,實現(xiàn)運維全過程的記錄跟蹤和追溯。對于系統(tǒng)的需求提出和問題提報等過程,提高了提報和反饋的效率,對問題進行了分類,同時以問題的緊急程度進行差別化管理、對問題處理進行及時的分派和過程跟蹤,對過程痕跡都進行了有效記錄和保存,有效形成了整體的運維閉環(huán)管理。實現(xiàn)技術知識積累和項目階段跟蹤。對于提報的所有問題和處理情況都可進行查閱,為相關人員處理類似問題提供了一定的參考。系統(tǒng)項目的所有過程文檔,都按照項目階段進行上傳和保存,可實時了解到各項目所處的實施情況和所處階段,方便相關項目人員進行統(tǒng)籌管理。
參考文獻
[1]楊陽,湯光恒.基于Spring Boot的高校部門測評系統(tǒng)的設計與實現(xiàn)[J].福建電腦,2018(08):128-129.
[2]楊家煒.基于Spring Boot的web設計與實現(xiàn)[J].輕工科技,2016,32(07):86-89.
[3]呂宇琛.SpringBoot框架在web應用開發(fā)中的探討[J].科技創(chuàng)新導報,2018,15(08):168+173.