侯莉
摘要:以航空公司預(yù)付卡系統(tǒng)項(xiàng)目的開發(fā)為背景,根據(jù)航空公司預(yù)付卡業(yè)務(wù)的實(shí)際需求,基于J2EE框架結(jié)構(gòu)完成了整個(gè)航空公司預(yù)付卡系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),著重對(duì)系統(tǒng)所使用的關(guān)鍵技術(shù)、接口設(shè)計(jì)、非功能設(shè)計(jì)特別是安全性設(shè)計(jì)進(jìn)行了分析。航空公司預(yù)付卡系統(tǒng)的實(shí)際應(yīng)用表明,該系統(tǒng)達(dá)到了設(shè)計(jì)目標(biāo),并成功的實(shí)施與運(yùn)行,對(duì)航空公司預(yù)付卡業(yè)務(wù)開展起到了積極的推動(dòng)作用,對(duì)企業(yè)開發(fā)類似信息系統(tǒng)具有一定的借鑒意義。
關(guān)鍵詞:航空公司;預(yù)付卡; J2EE; SWEAT; SSL
中圖分類號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2012)18-4404-03
Design and Implementation of Airlines Prepaid Card Management System
HOU Li
(The Southwest Information Division,Air China Information Management, Chengdu 610041, China)
Abstract: According to the actual needs of the airlines prepaid card business, the prepaid card management system is designed and imple mented based on advanced technologies. And the key technologies in the system implementation process are analyzed. It shows that the sys tem design goals are achieved and the implementation is successful. The system plays a positive role in promoting the airline prepaid card business, and it has certain reference significance for companies to develop similar information systems.
Key words: airlines; prepaid card; J2EE; SWEAT; SSL
航空公司預(yù)付卡是由航空公司統(tǒng)一發(fā)行售賣的一種消費(fèi)卡,卡內(nèi)包含預(yù)存消費(fèi)金額及免費(fèi)服務(wù)產(chǎn)品,其消費(fèi)額度及產(chǎn)品數(shù)量根據(jù)不同的卡級(jí)別有所區(qū)別,持卡客戶可在該額度范圍內(nèi)通過航空公司呼叫中心、網(wǎng)站、售票處購買機(jī)票、服務(wù)產(chǎn)品等各類商品。航空公司預(yù)付卡作為航空公司市場(chǎng)競(jìng)爭(zhēng)的利器,其多元化的產(chǎn)品銷售模式,有利于穩(wěn)定和吸引商旅客源,有利于航空公司中小型企業(yè)客戶的發(fā)展和維系,有利于航空公司直銷渠道的發(fā)展壯大以及對(duì)客源的掌握,有利于資金回籠。通過航空公司預(yù)付卡系統(tǒng)的實(shí)施,為航空公司建立起一個(gè)先進(jìn)、成熟、安全可靠的預(yù)付卡系統(tǒng)平臺(tái),在直銷渠道全面實(shí)現(xiàn)卡片的銷售、續(xù)費(fèi)、消費(fèi)和服務(wù),并建立了完善的預(yù)付卡賬戶管理體系。同時(shí),通過建立統(tǒng)一的技術(shù)接口,可快速實(shí)現(xiàn)預(yù)付卡賬戶與外部系統(tǒng)的系統(tǒng)連接。
1航空公司預(yù)付卡系統(tǒng)需求分析
1.1業(yè)務(wù)需求概述
通過需求調(diào)研與分析,航空公司預(yù)付卡業(yè)務(wù)需求主要包括以下內(nèi)容:
1)預(yù)付卡前端服務(wù):預(yù)付卡的購買、開卡、持卡消費(fèi)、卡片續(xù)費(fèi)、卡片服務(wù)等。
2)后臺(tái)管理支持:卡片信息維護(hù)、卡片產(chǎn)品維護(hù)、制卡、卡片銷售與確認(rèn)到賬、卡片激活、卡片賬戶管理、數(shù)據(jù)報(bào)表等。
1.2系統(tǒng)功能框架
2.1基于J2EE架構(gòu)的設(shè)計(jì)與開發(fā)
J2EE是一套不同于傳統(tǒng)應(yīng)用開發(fā)的技術(shù)架構(gòu),包含許多組件,主要可簡(jiǎn)化并規(guī)范應(yīng)用系統(tǒng)的開發(fā)與部署,進(jìn)而提高可移植性、安全與再用性。J2EE核心是一組技術(shù)規(guī)范與指南,其中所包含的各類組件、服務(wù)架構(gòu)及技術(shù)層次,均有共通的標(biāo)準(zhǔn)及規(guī)格,讓各種依循J2EE架構(gòu)的不同平臺(tái)之間存在良好的兼容性。
MVC是模型(Model),視圖(View)和控制Controller)這三個(gè)詞語的縮寫。MVC模式的目的就是實(shí)現(xiàn)Web系統(tǒng)的職能分工。Model層實(shí)現(xiàn)系統(tǒng)中的業(yè)務(wù)邏輯,通??梢杂肑avaBean或EJB來實(shí)現(xiàn)。View層用于與用戶的交互,通常用JSP來實(shí)現(xiàn)。Controller層是Model與View之間溝通的橋梁,它可以分派用戶的請(qǐng)求并選擇恰當(dāng)?shù)囊晥D以用于顯示,同時(shí)它也可以解釋用戶的輸入并將它們映射為模型層可執(zhí)行的操作。
本系統(tǒng)采用Jsp+iBatis+Spring的J2EE技術(shù)架構(gòu),該開發(fā)架構(gòu)采用的MVC模式使頁面的顯示與處理分離,使開發(fā)和維護(hù)用戶接口的技術(shù)含量降低。使開發(fā)時(shí)間得到相當(dāng)大的縮減,它使程序員(Java開發(fā)人員)集中精力于業(yè)務(wù)邏輯,界面程序員(HTML和JSP開發(fā)人員)集中精力于表現(xiàn)形式上。分離視圖層和業(yè)務(wù)邏輯層也使得WEB應(yīng)用更易于維護(hù)和修改。
Web層主要應(yīng)用的JSP是用來開發(fā)含有動(dòng)態(tài)內(nèi)容網(wǎng)頁的一種技術(shù),JSP頁面不僅包含了HTML語言的各種標(biāo)簽,還包括JS腳本語言、CSS樣式表。使用JSP技術(shù)可根據(jù)需求快速更改頁面布局、實(shí)現(xiàn)表單的驗(yàn)證、讀取數(shù)據(jù)庫并保存信息。JSP的實(shí)現(xiàn)過程如下:首先向客戶端發(fā)出請(qǐng)求,服務(wù)器在將JSP轉(zhuǎn)譯為Servlet代碼,產(chǎn)生的源代碼執(zhí)行后,將結(jié)果(response)返回給客戶端。
在與數(shù)據(jù)庫交互的過程中,采用了iBatis框架結(jié)構(gòu)。它是一個(gè)開源的對(duì)象關(guān)系映射框架,同時(shí)對(duì)JDBC進(jìn)行了輕量級(jí)的對(duì)象封裝,使得開發(fā)人員能使用面向?qū)ο蟮乃季S來操作數(shù)據(jù)庫。iBatis可以在J2EE架構(gòu)中完成數(shù)據(jù)持久化的任務(wù)。
2.2系統(tǒng)接口設(shè)計(jì)
WebService是一個(gè)應(yīng)用組件,它邏輯性的為其他應(yīng)用程序提供數(shù)據(jù)與服務(wù)。各應(yīng)用程序通過網(wǎng)絡(luò)協(xié)議和規(guī)定的一些標(biāo)準(zhǔn)數(shù)據(jù)格式(Http,XML,Soap)來訪問WebService,通過WebService內(nèi)部執(zhí)行得到所需結(jié)果。其他WebService應(yīng)用程序可以發(fā)現(xiàn)并調(diào)用它部署的服務(wù)。WebService的主要目標(biāo)是跨平臺(tái)的可互操作性。企業(yè)級(jí)的應(yīng)用程序開發(fā)者都知道,企業(yè)里經(jīng)常都要把用不同語言寫成的、通過WebService,應(yīng)用程序可以用標(biāo)準(zhǔn)的方法把功能和數(shù)據(jù)“暴露”出來,供其它應(yīng)用程序使用。
航空公司預(yù)付卡系統(tǒng)實(shí)現(xiàn)了產(chǎn)品信息查詢、卡片信息查詢、支付與退款交易、交易的撤銷以及交易的查證等WebService接口,以便外部系統(tǒng)調(diào)用,實(shí)現(xiàn)在外部系統(tǒng)中的業(yè)務(wù)邏輯。以卡片信息查詢接口為例:1)調(diào)用方式
CardWSSoapBindingStub binding = (CardWSSoapBindingStub) new CardWSServiceLocator().getCardWS();
CardBo pl = binding. getProducts(userName,password,cardNo);
2)輸入:userName,password,cardNo
3)輸出:CardBo
圖2卡片信息查詢接口程序流程圖
2.3系統(tǒng)開發(fā)平臺(tái)
為了滿足系統(tǒng)開發(fā)的原則和系統(tǒng)性能要求,本系統(tǒng)的開發(fā)平臺(tái)選擇如表1所示。
2.4非功能需求設(shè)計(jì)
1)安全性:預(yù)付卡系統(tǒng)包含了大量的虛擬賬戶信息和交易信息,安全性是一個(gè)十分重要的原則。本系統(tǒng)在應(yīng)用級(jí)安全機(jī)制主要包括:用戶身份認(rèn)證、功能權(quán)限控制、機(jī)構(gòu)權(quán)限控制、業(yè)務(wù)權(quán)限控制和臨時(shí)權(quán)限控制,另外還包括日志跟蹤,上述安全控制機(jī)制可以滿足業(yè)務(wù)邏輯各個(gè)環(huán)節(jié)上的安全性。系統(tǒng)數(shù)據(jù)采用加密傳輸和存儲(chǔ)。
功能權(quán)限控制:系統(tǒng)通過角色來管理功能范圍,系統(tǒng)管理員可以設(shè)定多種角色、為不同角色劃分相應(yīng)的功能權(quán)限。將不同角色分配給不同的用戶,當(dāng)用戶登錄系統(tǒng)時(shí)就擁有不同的功能權(quán)限。
業(yè)務(wù)權(quán)限控制:系統(tǒng)可以為用戶設(shè)定監(jiān)控的具體業(yè)務(wù)內(nèi)容,用戶登錄系統(tǒng)后,只能查詢、分配的業(yè)務(wù)條線數(shù)據(jù)。再通過限制用戶可以操作的機(jī)構(gòu)范圍,該用戶就只能查詢某些機(jī)構(gòu)的某些業(yè)務(wù)數(shù)據(jù)。
日志跟蹤:系統(tǒng)詳細(xì)記錄用戶在系統(tǒng)中的各種操作,對(duì)各種敏感或者關(guān)鍵數(shù)據(jù)、功能的訪問進(jìn)行記錄。系統(tǒng)管理員可以自由分析系統(tǒng)用戶的使用情況,對(duì)違規(guī)操作進(jìn)行監(jiān)控、跟蹤。系統(tǒng)并在各業(yè)務(wù)記錄中詳細(xì)記錄操作的用戶和操作日期。
數(shù)據(jù)加密傳輸、存儲(chǔ):對(duì)于需要傳輸?shù)闹匾獢?shù)據(jù)進(jìn)行加密傳輸。數(shù)據(jù)傳輸過程中,采用網(wǎng)絡(luò)加密協(xié)議來保證數(shù)據(jù)傳輸?shù)陌踩?。加密協(xié)議采用SSL協(xié)議128位加密的安全聯(lián)接以保證網(wǎng)絡(luò)安全性。
2)可靠性:各軟件模塊設(shè)計(jì)及開發(fā)過程中,充分考慮軟件的健壯性,防止因多用戶同時(shí)操作所造成的系統(tǒng)崩潰等問題的出現(xiàn)。
3)易用性:軟件模塊力求界面簡(jiǎn)潔、明了;操作流程自然合理;提供各種提示信息,幫助用戶正確操作。盡量采用單選框、復(fù)選框、下拉框等控件以及系統(tǒng)根據(jù)操作的上下關(guān)系自動(dòng)產(chǎn)生部分?jǐn)?shù)據(jù),從而用戶減少輸入的錯(cuò)誤。
4)可維護(hù)性:提供簡(jiǎn)單易用的維護(hù)界面,系統(tǒng)易學(xué)易用,維護(hù)簡(jiǎn)便,充分考慮管理維護(hù)的可視化、層次化以及控制的實(shí)時(shí)性。
3小結(jié)
航空公司預(yù)付卡系統(tǒng)基于J2EE框架,設(shè)計(jì)并實(shí)現(xiàn)了預(yù)付卡的管理、銷售、服務(wù)、結(jié)算體系的系統(tǒng)化管理,包括卡片生成、制卡、銷售、付款到帳、開卡、續(xù)費(fèi)等整體流程的管理、卡產(chǎn)品庫統(tǒng)一管理、卡客戶信息統(tǒng)一管理等功能。該系統(tǒng)已在航空公司成功部署和運(yùn)行。依托本系統(tǒng),航空公司能靈活定制不同類型的預(yù)付卡產(chǎn)品,并根據(jù)不同時(shí)期的市場(chǎng)情況,有征對(duì)性的推出市場(chǎng)活動(dòng),迅速搶占市場(chǎng)先機(jī),助力航空公司銷售業(yè)務(wù)。
參考文獻(xiàn):
[1]余浩東.J2EE應(yīng)用框架設(shè)計(jì)與項(xiàng)目開發(fā)[M].北京:清華大學(xué)出版社,2008.
[2]趙俊峰等.Java Web應(yīng)用開發(fā)案例教程[M].北京:清華大學(xué)出版社,2012.
[3]常倬林.Java Web從入門到精通[M].北京:機(jī)械工業(yè)出版社,2011.
[4]陳先楨.基于輕量級(jí)J2EE架構(gòu)的銷售系統(tǒng)的構(gòu)建[D].上海:復(fù)旦大學(xué),2008.
[5]江左文,李淑芝,左坤隆.利用J2EE開發(fā)企業(yè)平臺(tái)的結(jié)構(gòu)分析[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2001,11(2):30-32.
[6]萬助盛,侯文永.J2EE企業(yè)計(jì)算平臺(tái)[J].計(jì)算機(jī)應(yīng)用研究,2000,17(12):38-42.