錢春陽
摘要:大數(shù)據(jù)時(shí)代已經(jīng)來臨,數(shù)據(jù)信息深刻地影響著社會的發(fā)展與人類的生活。如何有效合理的利用大數(shù)據(jù)信息,讓數(shù)據(jù)引領(lǐng)著人類的生活與進(jìn)步,這就顯得異常重要。該文介紹了在互聯(lián)網(wǎng)模式下,利用SSM開源框架(SpringMVC、Spring、MyBatis)設(shè)計(jì)出數(shù)據(jù)銀行平臺,即利用數(shù)據(jù)銀行平臺,通過類似電子商務(wù)交易的形式實(shí)現(xiàn)數(shù)據(jù)的合理利用。
關(guān)鍵詞:SSM;JavaEE;大數(shù)據(jù);數(shù)據(jù)銀行
中圖分類號:TP391 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2018)18-0064-03
1 系統(tǒng)開發(fā)背景
第三次信息化浪潮的來臨,以物聯(lián)網(wǎng)、云計(jì)算與大數(shù)據(jù)為標(biāo)志的信息技術(shù)快速發(fā)展。數(shù)據(jù)信息已經(jīng)滲透到各行各業(yè),成為信息化社會的重要資源。
當(dāng)前軟件產(chǎn)業(yè)的發(fā)展已經(jīng)進(jìn)入互聯(lián)網(wǎng)時(shí)代,傳統(tǒng)的軟件開發(fā)模式已經(jīng)不能快速滿足互聯(lián)網(wǎng)時(shí)代的高速迭代,快速響應(yīng)的要求。譬如電信,銀行等傳統(tǒng)行業(yè),數(shù)據(jù)的需求量激增,開發(fā)時(shí)間相對緊急,傳統(tǒng)的從數(shù)據(jù)挖掘,數(shù)據(jù)處理到數(shù)據(jù)抽取的模式不能滿足快速的需求增長,這就要求各行業(yè)需要建立對應(yīng)的大數(shù)據(jù)平臺,以及數(shù)據(jù)資源共享平臺便于數(shù)據(jù)的重復(fù)需求獲取,同時(shí)還可挖掘相應(yīng)的數(shù)據(jù)需求搭建數(shù)據(jù)銀行,在不違反法律的框架下,挖掘有價(jià)值的數(shù)據(jù)提供給用戶。數(shù)據(jù)銀行的信息化復(fù)雜程度較高,本文就以電信行業(yè)的業(yè)務(wù)特征為例,詳細(xì)介紹數(shù)據(jù)銀行的設(shè)計(jì)與實(shí)現(xiàn)[1]。
2 系統(tǒng)技術(shù)介紹
2.1 系統(tǒng)的技術(shù)選型
1)系統(tǒng)采用B/S架構(gòu),有數(shù)據(jù)需求的可以直接通過瀏覽器訪問數(shù)據(jù)銀行商城,查詢和獲取對應(yīng)的數(shù)據(jù)。
2)系統(tǒng)分為后臺管理系統(tǒng),和數(shù)據(jù)銀行商城,后端采用目前主流的SSM開源框架(SpringMVC、Spring、Mybatis)實(shí)現(xiàn)基于MVC模式的數(shù)據(jù)銀行系統(tǒng)
3)前端頁面采用Bootstrap前端框架以及輕量級的JS庫Jquery,采用bootstrap框架的界面元素可以幫助開發(fā)人員快速開發(fā)出界面美觀的頁面。
4)JavaEE開發(fā)環(huán)境采用Eclipse集成環(huán)境,WEB服務(wù)器采用Tomcat7.0。
5)數(shù)據(jù)庫采用主流開源數(shù)據(jù)庫MySQL,用來存放后臺管理數(shù)據(jù)以及商城端的數(shù)據(jù),不負(fù)責(zé)源數(shù)據(jù)的存儲。
2.2 關(guān)鍵技術(shù)介紹
1)JavaEE技術(shù)
JavaEE為應(yīng)用Java技術(shù)開發(fā)服務(wù)器端應(yīng)用提供了一種獨(dú)立、可移植、多用戶、安全的企業(yè)級平臺,簡化了企業(yè)應(yīng)用的開發(fā)、管理和部署。JavaEE是一個(gè)標(biāo)準(zhǔn),而不是一個(gè)產(chǎn)品。JavaEE使用多層的分布式模型,應(yīng)用程序的邏輯根據(jù)其實(shí)現(xiàn)不同的功能被封裝到各個(gè)組件中,各個(gè)組件根據(jù)其所屬的層被安裝到不同的機(jī)器中。
事實(shí)上,Sun公司設(shè)計(jì)JaEE的初衷就是為了解決C/S結(jié)構(gòu)的弊端。在傳統(tǒng)C/S模式中,客戶端擔(dān)當(dāng)了過多的角色而顯得臃腫,在這種模式中,第一次部署的時(shí)候比較容易,但難于升級或改進(jìn),可伸展性也不理想,而且經(jīng)常基于某種專有的協(xié)議,通常是某種數(shù)據(jù)庫協(xié)議。它使得重用業(yè)務(wù)邏輯和界面邏輯非常困難,現(xiàn)在JavaEE 的多層企業(yè)級應(yīng)用模型將兩層化模型中的不同層面切分成許多層,一個(gè)多層化應(yīng)用能夠?yàn)椴煌姆?wù)提供一個(gè)獨(dú)立的層。
經(jīng)過多年發(fā)展,JavaEE平臺已經(jīng)成為電信、金融、電子商務(wù)等各行業(yè)的企業(yè)級應(yīng)用系統(tǒng)的首選平臺,比如各行業(yè)常用的OA辦公系統(tǒng),財(cái)務(wù)系統(tǒng),人力資源系統(tǒng)等等。
2)SSM開源框架(SpringMVC、Spring、Mybatis)
企業(yè)級Web應(yīng)用系統(tǒng)的開發(fā)要求有一個(gè)良好的軟件架構(gòu),便于協(xié)作開發(fā)和擴(kuò)展升級,以及后期的維護(hù)。目前主流的SSM集成框架提供了JavaEE企業(yè)級web應(yīng)用的輕量級解決方案。SSM框架包括基于表現(xiàn)層的SpringMVC框架、基于持久層的MyBatis框架,以及業(yè)務(wù)邏輯層框架Spring。
SpringMVC:是Spring提供的實(shí)現(xiàn)Web MVC模式的輕量級的框架。使用性能方面比傳統(tǒng)的Struts2更加優(yōu)異,是Spring框架的一部分,可以方便地使用Spring所提供的其他功能。
Spring:Spring致力于解決JavaEE各層的解決方案。它以IOC(Inversion of Control,控制反轉(zhuǎn))和AOP(Aspect Oriented Programming,面向切面編程)為兩大核心技術(shù)。使用基本的JavaBean來取代以前低效臃腫的開發(fā)模式。Spring在表現(xiàn)層提供SpringMVC解決方案,在業(yè)務(wù)邏輯層提供管理事物和日志等,在持久層可以整合各大持久層框架,譬如Mybatis框架等,提供高度的開放性融合其他框架。Spring是企業(yè)級應(yīng)用的開發(fā)首選,貫穿于整個(gè)表現(xiàn)層,業(yè)務(wù)邏輯層和持久層。
Mybatis:是當(dāng)前主流的Java持久層框架之一,相較于Hibernate,該框架具有高度的靈活性,性能優(yōu)異,易于維護(hù),學(xué)習(xí)簡單,是各大互聯(lián)網(wǎng)公司持久層首選的框架[2][3][4]。
3 系統(tǒng)的主體設(shè)計(jì)
數(shù)據(jù)銀行平臺包含數(shù)據(jù)銀行后臺管理系統(tǒng)和數(shù)據(jù)銀行商城兩大部分。數(shù)據(jù)銀行的數(shù)據(jù)來源包含各行業(yè)的關(guān)系型數(shù)據(jù)庫以及非關(guān)系型數(shù)據(jù)庫,數(shù)據(jù)銀行平臺通過從數(shù)據(jù)源進(jìn)行數(shù)據(jù)抽取,建模以及清洗等過程形成結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù),并通過數(shù)據(jù)封裝的形式進(jìn)行API接口調(diào)用提供給有數(shù)據(jù)需求的用戶[5][6]。
3.1 系統(tǒng)功能模塊設(shè)計(jì)
數(shù)據(jù)銀行根據(jù)業(yè)務(wù)需求分為后臺管理系統(tǒng)和數(shù)據(jù)銀行商城兩大部分。其中商城端負(fù)責(zé)數(shù)據(jù)信息的展示與數(shù)據(jù)信息的銷售。后臺管理系統(tǒng)負(fù)責(zé)數(shù)據(jù)的API封裝,監(jiān)控分析,以及用戶管理等。數(shù)據(jù)銀行模塊功能圖如圖1所示:
1)數(shù)據(jù)銀行商城包括數(shù)據(jù)市場和個(gè)人中心。其中數(shù)據(jù)市場包括批量數(shù)據(jù)服務(wù)、API服務(wù)以及訂購/申請。個(gè)人中心包括我的服務(wù)、我的賬戶、監(jiān)控分析和個(gè)人信息。
2)數(shù)據(jù)銀行后臺管理包括資源管理,服務(wù)生命周期管理,用戶管理,服務(wù)計(jì)價(jià)管理,監(jiān)控分析,安全訪問控制以及調(diào)度監(jiān)控控制模塊。同時(shí)還包括數(shù)據(jù)資產(chǎn)管理。
3.2 系統(tǒng)主流程設(shè)計(jì)
數(shù)據(jù)銀行平臺包含數(shù)據(jù)使用者、數(shù)據(jù)開發(fā)者、數(shù)據(jù)運(yùn)營者三個(gè)角色。數(shù)據(jù)開發(fā)者:如果系統(tǒng)沒有對應(yīng)的數(shù)據(jù)服務(wù),需進(jìn)行數(shù)據(jù)開發(fā);數(shù)據(jù)運(yùn)營者:數(shù)據(jù)開發(fā)完畢后,進(jìn)行相關(guān)的注冊,對數(shù)據(jù)進(jìn)行測試與發(fā)布,以及運(yùn)營后的監(jiān)控管理;數(shù)據(jù)使用者:數(shù)據(jù)在數(shù)據(jù)銀行商城發(fā)布之后,用戶通過商城進(jìn)行數(shù)據(jù)的訂購。主流程如圖2:
3.3 系統(tǒng)數(shù)據(jù)模型設(shè)計(jì)
該系統(tǒng)結(jié)合數(shù)據(jù)信息封裝、數(shù)據(jù)服務(wù)的訂閱與調(diào)用,構(gòu)建了用戶與數(shù)據(jù)服務(wù)之間的關(guān)系,從而設(shè)計(jì)了符合數(shù)據(jù)銀行系統(tǒng)的數(shù)據(jù)模型。根據(jù)主流程設(shè)計(jì)如下五個(gè)主表:數(shù)據(jù)服務(wù)表(service)、數(shù)據(jù)開發(fā)表(service_dev)、數(shù)據(jù)訂閱表(data_order)、賬戶訂閱關(guān)系表(acct_order_rel)。
4 系統(tǒng)的實(shí)現(xiàn)
4.1 后臺管理系統(tǒng)的實(shí)現(xiàn)
1)首頁
首頁包含:待辦信息、異常告警、當(dāng)日Top5服務(wù)等。
2)數(shù)據(jù)管理
數(shù)據(jù)管理包含數(shù)據(jù)開發(fā)、服務(wù)注冊、服務(wù)測試和服務(wù)計(jì)價(jià)界面
4.2 數(shù)據(jù)銀行商城
該商城端包括服務(wù)市場、個(gè)人中心、幫助中心等。為用戶提供數(shù)據(jù)的訂閱功能
5 總結(jié)
通過數(shù)據(jù)銀行平臺的設(shè)計(jì)與實(shí)現(xiàn),在某電信行業(yè)運(yùn)營后,很好地為公司內(nèi)部信息化數(shù)據(jù)的API調(diào)用提供了便捷的處理方式,同時(shí)公司在法律的框架下,提供相應(yīng)的數(shù)據(jù)信息給用戶,創(chuàng)造出了巨大的數(shù)據(jù)商業(yè)價(jià)值。使得企業(yè)的數(shù)據(jù)得到了最大化地利用。
參考文獻(xiàn):
[1]吳志霞. 基于 SSH 的在線項(xiàng)目管理平臺的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)與現(xiàn)代化,2011,27(8):184-186.
[2] Paul Deck. Spring MVC 學(xué)習(xí)指南[M]. 林儀明 崔毅,譯.北京: 人民郵電出版社,2015.
[3] 鄒紅霆. 基于 SSM 框架的 Web 系統(tǒng)研究與應(yīng)用[J]. 湖南理工學(xué)院學(xué)報(bào),2017,30(1) 200-202.
[4] 陳欣. 基于java三層構(gòu)架的管理信息系統(tǒng)中DAO層的構(gòu)建探索[J]. 科技資訊, 2015, 13(11): 26-27
[5] 董源. 基于AOP的數(shù)據(jù)庫應(yīng)用安全控制的設(shè)計(jì)與實(shí)現(xiàn)[J]. 計(jì)算機(jī)系統(tǒng)應(yīng)用,2015,24( 12) : 74-80.
[6] 王坤. 基于J2EE平臺 Spring MVC 框架開發(fā)的 MIS 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D]. 上海: 華東師范大學(xué)碩士學(xué)位論文, 2008.