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