宋慶慶
(中國兵器裝備集團兵器裝備研究所,北京 102202)
隨著特種產品技術的發展和社會需求的不斷擴大,用戶和生產企業對產品的質量越來越重視,作為檢驗產品質量的第三方質量檢測和認證機構的業務量逐年遞增。第三方質量檢測工作的業務環節較多,主要包括委托申請、核價、被試樣品接收發放、試驗任務分派、執行、數據收集、財務結算、檢測報告發放等[1]。長期以來,各類業務信息均采用手工方式進行整理、記錄和傳遞,不僅工作量大、效率低、容易出差錯,而且無法對寶貴的業務數據進行有效的積累和再利用,純手工工作模式已逐漸不能滿足目前業務發展的需求[2]。基于上述原因,同時為了規范外部委托檢驗檢測工作的業務流程,滿足CNAS、CMA 等規范的要求,實現各個部門之間的業務協同,有必要建設一套面向外部委托業務的檢驗試驗綜合管理系統[3]。
本系統是基于Spring Boot 框架的對外檢測任務的內部綜合管理平臺和面向委托客戶的客戶服務平臺。Spring-Boot 一個基于Spring 框架的輕量級Java開發框架[4],而Spring-Cloud 基于Spring-Boot,為微服務體系開發中的架構問題提供了一整套的解決方案——服務注冊與發現,服務消費,服務保護與熔斷,網關,分布式調用追蹤,分布式配置管理等。Spring-Boot 具有四大特性:自動配置、Spring-Boot Starter、Actuator、命令行界面(CLI)。Spring-Boot 快速整合了第三方框架,減少甚至不需要配置文件,解決了以往的Spring 框架下的弊端。
檢驗試驗綜合管理系統的主要功能包括面向檢測試驗中心內部的客戶管理、試驗目錄及價格管理、試驗任務管理、試驗樣品管理、試驗數據管理、檢測報告管理,收付款管理、發票管理等工作,面向委托客戶的客戶服務系統,供委托客戶通過網絡主動發起檢測預約,完成付款及樣件發送,跟蹤了解試驗進展,及時獲取樣品、報告、發票等相關信息。此外,本系統還包括試驗中心網站,供潛在用戶了解中心業務范圍、業務辦理方法和檢索中心所提供的檢測項目的內容及價格。為防止暴力破解,本系統的登錄頁面需加入驗證碼來進行人機識別。
本系統的使用者包括檢驗試驗中心工作人員、委托客戶和潛在客戶三類。不同類型的用戶有著不同系統入口和功能權限。
本系統的客服服務部分需要客戶能夠從外部訪問,需要部署在互聯網上。本系統以檢驗測試中心網站的方式運行,試驗中心及委托方均需通過瀏覽器以訪問檢驗測試中心域名的方式打開本系統。委托方在試驗中心客服人員為其開通(企業)賬號后,可登錄本系統的客戶服務模塊,完成提交委托申請、提交匯款信息、提交樣品郵寄信息、查看委托任務的進度、查看發票進度、查看預付款/應付款情況等工作。
試驗中心的內部功能僅限試驗中心內部用戶使用,主要涉及客戶服務人員、試驗主持、樣品管理員、財務人員及其他相關人員。試驗中心相關電腦需要能夠訪問互聯網,且根據規定不能連接本單位的內部網絡。為了便于試驗現場的操作,系統需支持安卓、平板等手持終端進行試驗數據的錄入、審核和樣品收發,手持終端通過上網卡連接外網服務器。
本系統主要由網絡、硬件分系統和軟件分系統3部分組成。
考慮到目前以阿里云、華為云為首的國內的云供應商的支持能力已較為成熟,能夠提供較好的穩定帶寬,能夠較好地保證系統的運行安全和數據安全,故本系統采用租用云主機的方式進行部署,這樣既減少系統初期建設的一次性投入,又可以隨著業務擴展方便得升級系統的容量,還能夠獲得較好的安全保障和支持。因此,本系統將服務器部署在云服務供應商的機房內,委托客戶和試驗中心工作人員通過互聯網訪問系統。
硬件分系統主要由應用服務器、數據庫服務器和客戶端計算機組成,應用服務器主要用于運行應用服務器軟件,數據庫服務器主要用于運行數據庫和數據存儲,客戶端計算機主要用于Web 客戶端軟件運行提供平臺。
本系統使用Java 開發,采用基于Spring Boot 的微服務架構和前后端分離的方式,總體技術架構可分為展示交互層、服務層和數據層三層(圖1)。

圖1 基于微服務的三層軟件架構
本架構的中間一層為服務層,該層選用Spring Boot 與Spring Cloud 相結合的微服務架構來實現輕量級的SOA 架構。在服務層中,業務建模、流程配置、項目管理、任務管理等業務功能被實現為各自獨立的微服務。每個微服務啟動后都會在微服務注冊目錄中進行登記,當前端要訪問某一服務時,微服務網關會在注冊目錄中查詢該服務,并將請求分派給該服務。
微服務網關不僅實現了服務層的靈活部署,還實現了應用的前后端分離。圖1 中左側為前端的交互展示層,微服務網關對前端暴露統一標準的REST 接口,以JSON 格式收發數據,前端應用界面可以根據具體的需要選擇各種網頁技術、移動端技術或桌面開發技術來實現。本系統的前端頁面采用最新的HTML5 技術開發,界面美觀大方、風格統一、便于掌握、易于操作。
圖2 中右側為數據層,本系統支持以關系數據庫的方式存儲結構化數據,和以文件系統的方式存儲管理文件數據。
此技術架構為系統提供了很好地穩定性、可維護性和可擴展性。這三層結構可以分別運行在不同的電腦上。
(1)數據庫層采用主流的關系數據庫。Postgre SQL 或Oracle 數據庫具有強大的數據存儲和查詢能力,適用于數據管理,并具有良好的穩定性和擴充性。
(2)服務器層主要包括本系統應用服務器、數據庫服務器等。
(3)用戶層主要是與用戶交互的可視化工具和操作界面。
外部委托檢測業務的核心過程為:委托客戶委托試驗中心對指定的被試品進行指定的試驗,雙方簽訂委托檢測協議,試驗中心在收到被試品后進行試驗,委托方支付相關試驗費用和報告費用,試驗中心交付相關的檢測報告。該流程如圖2 所示。
由圖2 可知,外部委托檢測的總體業務可分為客戶管理、檢測預約、樣品管理、試驗任務執行、收付款、報告管理、發票管理等幾個子流程。為了實現上述業務功能和流程,本系統的功能模塊主要包括中心網站(開放訪問)、客戶服務系統(面向委托客戶)、檢測業務系統(面向中心用戶)、財務管理、系統管理等五個部分,各模塊所包含的功能如圖3 所示。

圖2 業務總體流程

圖3 系統功能模塊圖
本模塊面向檢驗試驗中心的潛在客戶,供其了解本中心的概況、動態,并提供本中心可認證檢測的項目范圍的查詢。本部分內容可由公眾訪問,不需要進行登錄。
客戶服務系統是委托客戶登錄后使用的系統,主要用于完成提交委托申請、提交匯款信息、提交樣品郵寄信息、查看委托任務的進度、查看發票進度、查看預付款/應付款情況等工作。為保證系統安全,委托客戶登錄時,除了需要輸入用戶名/密碼之外,還需要輸入人機識別驗證碼。
委托客戶登錄后,會首先進入賬戶一覽界面。顯示該企業賬戶的最近委托申請/任務的最新狀態,以便快捷進入。委托客戶也可以選擇功能菜單進入相應的功能。
檢測業務管理模塊面向中心內部的工作人員,包括客戶服務人員、試驗主持、樣品管理、財務人員和管理人員。本模塊需要登錄后才能使用,登錄時需要輸入登錄名、密碼和驗證碼。必要時,可加入短信驗證。為了方便試驗現場的工作,試驗數據管理及樣品管理功能可使用手持式安卓平板進行操作。本模塊包括試驗目錄及價格管理、客戶管理、預約管理、任務管理、樣品管理、試驗數據管理、檢測報告管理、收付款管理、發票管理等功能。
財務管理是企業管理中非常重要的一環,財務管理能力的大小,直接影響企業的經濟收益。本模塊主要包括應收款查詢和發票管理兩個功能。
系統管理由系統管理員使用,包括用戶管理、權限管理、日志管理、系統參數設定、資訊管理等功能。
本系統設計開發工具采用Eclipse、Oracle、Tomcat等,基于Web 的應用開發采用J2EE 架構,并采用主流程序設計語言,包括HTML、PL/SQL、SQL、JAVA、JavaScript 等,實現整個系統功能模塊的開發。
因系統運行在互聯網環境中,為保證系統的數據傳輸安全,系統采用安全傳輸機制HTTPS 協議傳輸數據。
基于Spring Boot 框架的檢驗試驗綜合管理系統,不僅實現了外部委托檢測任務的全流程管理,而且實現了任務、樣品、試驗和數據的全程跟蹤和可追溯。該系統的成功應用,不僅促進了部門間的協同,簡化和規范了檢驗試驗中心的日常工作,更高效、準確地完成委托檢測任務,而且為委托客戶提供更快捷、及時、優質的服務。