袁宏杰 秦家瑞 臧永娜 李海濤 韓瀚



摘要:為了提高資產管理的效率和水平,對資產管理的業務流程進行了梳理和分析,提出了基于三層架構的資產管理信息系統。前端使用Delphi開發,Delphi能夠快速實現界面功能,基于組件屏蔽了系統底層實現,面向對象語言[1],能夠讓開發者重點關注業務邏輯。另外Delphi可以方便控制外設,打印輸出表單,實現套打資產卡片和標簽。后臺使用基于CXF的Web Service服務,服務部署到Tomcat上,數據庫采用MySQL數據庫,方便部署。
關鍵詞:網站開發;數據庫;資產管理;信息系統
中圖分類號:TP311? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)02-0060-02
1 背景
基于Delphi框架組件開發的應用[2],穩定性好,系統靈活方便,易于后期維護和管理;另外后臺使用Web Service實現業務邏輯,增強擴展性,基于MySQL數據庫,安裝和部署更為便捷。
2 資產管理信息系統分析與設計
2.1 業務流程分析
近年來,隨著高校的改革日益深入,如何高效、準確地進行資產的管理,已成為高校資產管理中面臨的嚴峻挑戰。傳統的手工或Excel表格的資產管理方式已難于滿足管理人員的日常需求,主要存在以下問題:一是隨著設備數量和種類的增多,快速準確的查找設備。二是每年度例行設備清查工作量大,用Excel維護管理導出的數據容易產生不一致的現象,給資產清查帶來必要的重復勞動。三是各個部門的資產設備變動情況不能實時跟蹤掌握。基于以上原因開發資產管理信息系統是十分必要的,經過對資產管理及使用部門的調研分析,資產管理信息系統的總體需求如圖1。
資產錄入管理:資產手工錄入和Excel數據導入,資產編號唯一,不能重復。
資產變動管理:部門內調撥申請、審核;資產部門間調撥申請、審核;退庫(銷賬);報修申請、審核等。
資產合同管理:資產合同錄入、合同信息維護、合同設備管理等。
資產查詢統計:可以按資產編號、類型、所屬部門、合同編號等單一查詢或組合查詢。
資產清查管理:資產清查是指由于長期資產未按要求進行變動或維護,需要通過清查對設備進行統一的調整過程。主要包括調整設備使用地點、領用人等信息。主要功能包括按部門、實訓室、辦公室等單位進行調整。
2.2 資產信息系統的技術架構
資產管理信息系統基于Delphi和Web Service框架進行設計,資產管理信息系統實現了資產數據導入、錄入和展示以及資產卡片、資產標簽、資產報表打印等功能。Delphi通過Web Service接口調用Tomcat發布的Web Service服務,實現業務邏輯處理。Web Service通過JAVA jdbc驅動連接MySQL數據庫[3],實現數據存儲及查詢,考慮到數據查詢的效率,采用了連接池技術。資產管理信息系統總體技術框架如圖2所示。
3 系統數據庫結構設計
資產管理信息系統的數據庫結構設計首先分析學院資產管理的需求,包括資產導入、資產錄入、資產調配等業務需求,然后確定數據流圖,設計并創建數據庫表,根據數據庫邏輯結構,建立數據庫及其應用系統的過程。圖3是資產管理系統中的部分E-R實體圖[4]。
4 系統技術實現
資產管理信息系統設計為三層架構模式,表示層、業務邏輯層、數據層[5]。系統技術實現方式如下。
4.1 系統前端界面技術實現
前端界面主要采用Delphi提供的組件包括按鈕、列表控件listview、菜單XPmenu庫,日志控件delphilog4j。首先客戶端通過Web Service接口請求參數后轉發給業務邏輯層,業務邏輯層對業務數據進行處理,并調用SQL語句將數據保存到MySQL數據庫中,最后將處理結果返回至客戶端。系統采用Delphi 自帶的Web Service基于WSDL導入方式生成Web Service接口單元,表示層包含該接口單元。Web Service接口核心代碼如下:
RIO.HTTPWebNode.UseUTF8InHeader := True;
try
Result := (RIO as CommFJJ);
if UseWSDL then
begin
RIO.WSDLLocation := 192.168.1.5;//服務器地址
RIO.Service :=CommFjj;
RIO.Port :=2051;//端口號
end else
RIO.URL := Addr;
finally
if (Result = nil) and (HTTPRIO = nil) then
RIO.Free;
end;
4.2 控制層的實現
控制層是Web Service CXF框架實現, 使用CXF框架發布WebService需導入CXF框架的相關Jar包,項目引用的cxf版本為3.1.8,該版本后導入lib目錄中的所有jar包。
Web Service接口類CommFJJ.java,接口實現類CommFJJImpl.java表示層轉發到控制層的消息通過CommFJJImpl接口實現類負責解析,根據功能標識,負責轉發到相應的業務邏輯處理模塊,業務邏輯處理模塊將消息處理完成后,在通過接口返回到表示層,具體的控制層處理過程如圖4,控制層的配置如圖5所示。
4.3 業務邏輯層的實現
在業務邏輯層,主要是根據資產管理業務邏輯流程進行處理,具體每個業務處理涉及與數據層的交互。業務邏輯層被設計在數據層之上,系統中通過MySQL結構化數據庫操作語言方式對數據進行增、刪、改、查,加工后的數據通過Web Service接口方式返回給前端界面,進行顯示和打印。
資產管理信息系統為了提高拓展性,采用了面向對象的模塊化處理方式,涉及公共調用的方法或對象,進行統一抽象成方法和類,具體實現由繼承它的方法或對象實現,提高了系統的拓展性。
4.4 數據持久層的實現
資產管理信息系統的數據層實現是通過JDBC來實現對數據庫的訪問。數據庫采用MySQL數據庫,采用InnoDB引擎[6],該引擎能夠實現自動提交或手動提交,并且可以用ROLLBACK實現回滾,同時具有事物機制,安全存儲可靠性高。InnoDB鎖定在行級,實現非鎖定讀。使得事物具有一致性。數據庫冷熱備份與恢復更具有靈活性。
5 系統實現的關鍵路徑
1)為了降低客戶端與后臺服務的大量數據交互,提高系統運行效率,前端界面展示部分,要進行界面中數據項的合法性檢查,檢查通過后再提交到后臺服務進行處理。后臺服務傳給前臺的數據,要格式化成字符形式,前端界面收到后,直接顯示不用再加工處理。
2)系統采用統一的接口,客戶端與Web Service端采用固定字符串格式進行數據交互,這樣方便后期系統升級和維護,提高了系統的拓展性。
3)基于Web Service調用方式,為系統后期提供移動端調用提供了接入方式,提高了設備接入的拓展性。
6 結束語
資產管理信息系統是一個基于Delphi+Web Service 模式的三層架構應用系統[7],該系統采用CXF Web Service主流框架作為技術路線,主要框架是開源的,降低了開發成本。各層之間耦合度低,層與層之間采用接口調用方式,提高了系統應用的靈活性和可擴展性。
參考文獻:
[1] 王書愛.面向對象程序設計的應用[J].電腦知識與技術,2011,7(29):7289-7290,7299.
[2] 張瑜.基于Delphi的物流企業人力資源管理系統的設計[J].自動化技術與應用,2020,39(9):159-162.
[3] 李偉超.利用Java JDBC進行數據庫訪問[J].民營科技,2017(4):83.
[4] 李威,高錦濤,高騰.基于E-R圖的關系數據庫關鍵字查詢[J].計算機系統應用,2012,21(9):156-161,140.
[5] 黃興榮.基于B/S架構模式的三層結構設計與實現[J].電腦知識與技術,2015,11(32):52-53.
[6] 鄔文軒,胡曉勤.一種基于MySQL Innodb數據引擎的增備方法[J].計算機安全,2013(5):30-33.
[7] 林志燦.Struts與Hibernate框架下在線考試系統的設計與實現[J].信息技術與信息化,2018(1):79-83.
【通聯編輯:謝媛媛】