摘 要: 在分析了軍港油庫(kù)自身需求和特點(diǎn)的基礎(chǔ)上,,給出了一個(gè)基于Web的軍港油庫(kù)油料供應(yīng)管理系統(tǒng)的實(shí)現(xiàn)方案。方案采用MVC設(shè)計(jì)模式和輕量級(jí)J2EE體系架構(gòu),利用成熟開(kāi)源的iBatis框架,,并詳細(xì)闡述了編碼輸入,、刷卡加油和數(shù)據(jù)通信等關(guān)鍵技術(shù),構(gòu)建了一套安全穩(wěn)定,、可擴(kuò)展的分布式應(yīng)用系統(tǒng),。
關(guān)鍵詞: 軍港油庫(kù);iBatis框架,;ExtJS框架,;CDMA無(wú)線(xiàn)通信
軍港油庫(kù)是我軍重要的保障實(shí)體,在油料供應(yīng)中扮演了一個(gè)舉足輕重的角色,。隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,,適用于軍港油庫(kù)的油料供應(yīng)管理系統(tǒng)也由C/S(客戶(hù)機(jī)/服務(wù)器)結(jié)構(gòu)發(fā)展到B/S(瀏覽器/服務(wù)器)結(jié)構(gòu),大大減輕了系統(tǒng)維護(hù)與升級(jí)的成本和工作量,。但是現(xiàn)有的系統(tǒng)存在著系統(tǒng)功能不完善,、技術(shù)體系不合理、通信系統(tǒng)不完善,、系統(tǒng)“孤島”問(wèn)題嚴(yán)重等諸多缺陷,。因此,為適應(yīng)我軍機(jī)械化,、信息化跨越式發(fā)展需要,,加快軍需物資油料信息化建設(shè)步伐,提高綜合保障能力,,圍繞首長(zhǎng),、機(jī)關(guān)指揮、決策要求和油料供應(yīng)信息化建設(shè)的實(shí)際需要,,有必要對(duì)軍港油庫(kù)建設(shè)進(jìn)行新的需求分析,,構(gòu)建一個(gè)全方位、一體化的軍港油庫(kù)油料供應(yīng)管理系統(tǒng),。
1 系統(tǒng)分析與設(shè)計(jì)
1.1 軍港油庫(kù)業(yè)務(wù)流程
軍港油庫(kù)油料供應(yīng)主要負(fù)責(zé)收油,、儲(chǔ)油、發(fā)油三大核心業(yè)務(wù),。收油是指按照月油料運(yùn)輸計(jì)劃,,接收煉油廠或后方油庫(kù)來(lái)油;儲(chǔ)油是指做好油料的儲(chǔ)備管理工作,,包括對(duì)庫(kù)存油料進(jìn)行清點(diǎn),,形成報(bào)表上報(bào)相關(guān)單位;發(fā)油是指向其他油庫(kù)大批量調(diào)撥油料,、向供油單位小批量零發(fā)油以及辦理艦船加退油手續(xù),。最后把所有的收油,、庫(kù)存、發(fā)油情況按規(guī)定上報(bào)相關(guān)部門(mén),。
1.2 系統(tǒng)功能設(shè)計(jì)
本系統(tǒng)是基于Web的軍港油庫(kù)油料供應(yīng)管理系統(tǒng),,圍繞油料的“收、儲(chǔ),、發(fā)”各個(gè)環(huán)節(jié)進(jìn)行科學(xué)管理,,全面反映油庫(kù)油料的增加、減少及相關(guān)變動(dòng)情況,。系統(tǒng)的功能結(jié)構(gòu)如圖1所示,。
(1)調(diào)撥管理。完成軍港油庫(kù)油料的收發(fā)管理以及月終對(duì)庫(kù)存油料進(jìn)行清點(diǎn),,將油庫(kù)油料測(cè)量記錄錄入系統(tǒng)中,,自動(dòng)計(jì)算油料重量,形成油料清點(diǎn)證件,。
(2)零發(fā)油,。接收領(lǐng)油指標(biāo)(正常、助供,、國(guó)家儲(chǔ)備),,辦理油料支撥單,實(shí)現(xiàn)零發(fā)油自動(dòng)記載賬簿,。
(3)艦船加(退)油,。辦理加(退)油艦艇手續(xù),將艦艇加(退)油數(shù)據(jù)寫(xiě)入加油卡中,。
(4)其他業(yè)務(wù),。按規(guī)定進(jìn)行其他油料憑證(包括其他收入、其他支出等)的辦理,。
(5)油料賬表,。根據(jù)各項(xiàng)憑證和原始單據(jù)自動(dòng)形成賬目、報(bào)表以便統(tǒng)計(jì)查詢(xún),。
(6)系統(tǒng)維護(hù),。完成單位、油品等信息的代碼管理,,以及基礎(chǔ)信息的填報(bào),、數(shù)據(jù)的備份恢復(fù)和數(shù)據(jù)傳輸?shù)取?br />
2 系統(tǒng)的架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)
系統(tǒng)設(shè)計(jì)基于MVC模式和iBatis框架,,采用J2EE分層結(jié)構(gòu),。所謂MVC模式,即模型,、視圖,、控制器的設(shè)計(jì)模式,。在開(kāi)發(fā)中,Javabean被用作模型,,Jsp頁(yè)面被用作視圖,,控制器則由servlet來(lái)實(shí)現(xiàn)。iBatis相對(duì)Hibernate和Apache OJB等“一站式”ORM(對(duì)象關(guān)系映射)而言,,它是一種“半自動(dòng)化”的,、輕量級(jí)的解決方案,可以大幅提高系統(tǒng)的靈活性[1],。整個(gè)系統(tǒng)具體分為:(1)表現(xiàn)層:用來(lái)處理用戶(hù)的請(qǐng)求,,并據(jù)此做出響應(yīng)。主要由JSP頁(yè)面實(shí)現(xiàn),;(2)業(yè)務(wù)邏輯層:為表現(xiàn)層提供所需的業(yè)務(wù)方法,。Service類(lèi)和DAO接口屬于業(yè)務(wù)層。Service類(lèi)封裝了業(yè)務(wù)以及相應(yīng)的事務(wù)控制,,由form bean類(lèi)調(diào)用,,DAO接口屏蔽了底層的數(shù)據(jù)庫(kù)操作,供具體的Service類(lèi)調(diào)用,;(3)數(shù)據(jù)持久層:采用了iBatis實(shí)現(xiàn)ORM,,是對(duì)應(yīng)DAO接口的具體實(shí)現(xiàn)。這些實(shí)現(xiàn)類(lèi)以及iBatis的配置文件共同構(gòu)成了數(shù)據(jù)持久層,。系統(tǒng)架構(gòu)如圖2所示,。
3 關(guān)鍵技術(shù)
3.1 編碼輸入幫助
數(shù)據(jù)編碼設(shè)計(jì)是系統(tǒng)數(shù)據(jù)規(guī)范化管理的基礎(chǔ),其設(shè)計(jì)質(zhì)量直接影響到系統(tǒng)的效率,。如本系統(tǒng)需要用到的“單位基本信息”,、“油料基本信息”、“裝備基本信息”等,,且它們都是一種層次結(jié)構(gòu)形式編碼,。例如單位按油料供應(yīng)隸屬關(guān)系可以分為多層,假設(shè)每層編碼為三位數(shù)字或字母,,則可以編碼“001”對(duì)應(yīng)“XXX軍區(qū)”,,“001001”對(duì)應(yīng)“XXX集團(tuán)軍”,“001001001”對(duì)應(yīng)“XXX師”等逐級(jí)對(duì)照,。當(dāng)系統(tǒng)中需要輸入單位的地方,,能不能快速地通過(guò)輸入編碼層次式顯示出相應(yīng)的單位名稱(chēng)是系統(tǒng)非常重要的一個(gè)功能。目前類(lèi)似的基于Web的編碼輸入幫助系統(tǒng),,尤其是代碼數(shù)據(jù)量較大的情形,,在靈活性、易操作性方面都存在一些不足,,因此利用ExtJS技術(shù)設(shè)計(jì)了一種算法完善,、功能強(qiáng)大,、界面美觀的層次式輸入幫助系統(tǒng)。ExtJS是基于AJAX的組件框架技術(shù),,用于開(kāi)發(fā)RIA應(yīng)用,。它利用純Html/CSS+JS技術(shù),提供了豐富的跨瀏覽器UI組件,;靈活采用JSON/XML數(shù)據(jù)源,,減輕了服務(wù)端表示層的負(fù)荷,使客戶(hù)端能實(shí)現(xiàn)MVC應(yīng)用[2],。
3.2 POS機(jī)刷卡加油
利用IC卡和POS機(jī)的智能性,、存儲(chǔ)性能,設(shè)計(jì)艦船加油卡和專(zhuān)用POS機(jī)辦理油料業(yè)務(wù),,通過(guò)數(shù)據(jù)接口與業(yè)務(wù)系統(tǒng)進(jìn)行有效集成,。基于卡的兼容性,、安全性,、經(jīng)濟(jì)性,選擇大存儲(chǔ)量芯片,,考慮到數(shù)據(jù)傳輸?shù)目煽啃院桶踩?,選擇接觸式智能卡作為平臺(tái)開(kāi)發(fā)。專(zhuān)用POS機(jī)用于軍港油庫(kù)艦船加油現(xiàn)場(chǎng)和補(bǔ)給艦(船)加油的業(yè)務(wù)辦理,,主要進(jìn)行身份審核,、指標(biāo)增減、憑證打印和數(shù)據(jù)采集,。它采用USB2.0/1.1通信協(xié)議進(jìn)行數(shù)據(jù)交換,,預(yù)置數(shù)據(jù)和上傳數(shù)據(jù)的接口函數(shù)封裝成ActiveX控件,由系統(tǒng)調(diào)用ActiveX控件方式操作POS機(jī)讀寫(xiě)數(shù)據(jù),。
當(dāng)需要補(bǔ)給油料的艦船靠岸在軍港碼頭后,,經(jīng)辦人持艦船加油卡和領(lǐng)退油介紹信到軍港油庫(kù)業(yè)務(wù)部門(mén)辦理加油手續(xù),將艦船加油數(shù)據(jù)寫(xiě)入IC卡中,,并預(yù)扣加油卡內(nèi)艦船油料指標(biāo),;然后在發(fā)油碼頭加油,加完油后通過(guò)POS機(jī)刷卡登記艦船加油實(shí)際發(fā)油數(shù),;最后把POS機(jī)連接軍港油庫(kù)系統(tǒng)上傳艦船加油實(shí)發(fā)數(shù),。
3.3 CDMA無(wú)線(xiàn)通信
軍港油庫(kù)油料供應(yīng)系統(tǒng)產(chǎn)生的日常業(yè)務(wù)數(shù)據(jù)需要及時(shí)、準(zhǔn)確上傳給上級(jí)單位,。但由于這些數(shù)據(jù)密級(jí)性比較高,,其傳輸要求較高安全級(jí)別的通信網(wǎng)絡(luò),加之各軍港油庫(kù)網(wǎng)絡(luò)建設(shè)情況參差不齊,,因而綜合考慮選擇軍用CDMA無(wú)線(xiàn)網(wǎng)絡(luò)來(lái)進(jìn)行數(shù)據(jù)傳輸,。軍用CDMA無(wú)線(xiàn)網(wǎng)絡(luò)是為了滿(mǎn)足軍隊(duì)的特殊需要,依托CDMA公眾網(wǎng),,采用碼分多址技術(shù)體制建立的可實(shí)現(xiàn)軍用特殊功能的移動(dòng)通信網(wǎng)絡(luò)[3],。它具有信號(hào)覆蓋范圍廣、保密性高,、應(yīng)用成熟等優(yōu)勢(shì),。通過(guò)它的短信傳輸方式,不需要事先建立連接,,方便靈活,,可以實(shí)時(shí)傳輸業(yè)務(wù)數(shù)據(jù)。因此CDMA短消息傳輸方式是很好的選擇,。
本文設(shè)計(jì)了基于Web的軍港油庫(kù)油料供應(yīng)管理系統(tǒng),,通過(guò)系統(tǒng)框架、后臺(tái)數(shù)據(jù)庫(kù)系統(tǒng)和系統(tǒng)功能模塊的合理設(shè)計(jì),,利用ExtJS技術(shù),、POS機(jī)、軍用CDMA無(wú)線(xiàn)通信網(wǎng)絡(luò),,使得本系統(tǒng)不僅實(shí)現(xiàn)了油料供應(yīng)的憑證辦理,、賬目記載、報(bào)表統(tǒng)計(jì)等基本功能要求,,而且系統(tǒng)具有跨平臺(tái)特性,、可擴(kuò)展性、實(shí)用性和可維護(hù)性,,艦船POS機(jī)刷卡加油和軍用CDMA無(wú)線(xiàn)網(wǎng)絡(luò)傳輸油料關(guān)鍵數(shù)據(jù)更具有前瞻性,,系統(tǒng)取得了較高的軍事經(jīng)濟(jì)效益。本系統(tǒng)目前已經(jīng)投入使用,,實(shí)踐證明本系統(tǒng)的方案不僅很好地滿(mǎn)足了需求,,同時(shí)也為解決同類(lèi)問(wèn)題提供了一個(gè)通用的設(shè)計(jì)和實(shí)現(xiàn)方案,對(duì)其他部門(mén)業(yè)務(wù)系統(tǒng)建設(shè)也起著良好的借鑒作用,。
參考文獻(xiàn)
[1] 李爽.基于半自動(dòng)化iBatis的輕量級(jí)ORM改進(jìn)研究[J].天津職業(yè)院校聯(lián)合學(xué)報(bào),,2009,11(2):64-65.
[2] 呂海東,,陸永林.基于EXTJS和DWR的Web監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)時(shí)代,,2009,3(12):27-28.
[3] 中國(guó)軍事通信百科全書(shū)編審委員會(huì).中國(guó)軍事通信百科全書(shū)移動(dòng)通信手冊(cè)[M].2005:189-191.