999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Spring MVC及MyBatis的Web應用框架研究

2012-07-25 07:16:36高建華
微型電腦應用 2012年7期
關鍵詞:系統

徐 雯,高建華

0 引言

1 Spring MVC及MyBatis框架研究

針對 Web應用需求的日益增長,快速開發高質量的Web應用系統,成為業界研究的一大熱點問題。一般,Web應用表現層由JSP、Servlet實現,主要完成與用戶的交互;業務層交給 EJB實現,完成系統核心業務邏輯的處理;數據層由JDBC加DAO對象或是由EJB中的EntityBean實現,負責與各種數據源的交互。由于 EJB提供幾乎所有的企業級服務[1],所以本身啟動慢,部署比較復雜,而且性能比較差。本文采用Spring MVC設計模式和MyBatis框架,提出了 B/S結構與 C/S結構相結合的 Web應用框架,應用于TOPCard信用卡業務系統,說明Spring MVC和MyBatis在Web系統中的應用,該系統在性能差、復雜度高等方面有很大的改進。

本文的章節安排如下:第二部分對Spring MVC模式進行簡述、深入研究MyBatis框架。第三部分以TOPCard信用卡業務系統為例,對一種B/S結構與C/S結構相結合,采用Spring MVC和MyBatis為基礎的Web應用框架進行分析和研究。第四部分得到實驗結果并進行分析。

1.1 Spring MVC模式

MVC模式(Model-View-Controller)是軟件工程中的一種軟件架構模式,3個基本部分為Model、View、Controller[2]。Spring是以輕量級的開源框架,它以控制反轉原則和面向方面編程思想為基礎,提供管理業務對象服務[3]。Spring框架提供構建Web應用程序的全功能MVC模塊[4],它是一種高度可配置的MVC框架。Spring MVC實現了MVC的核心概念,它為Controller和處理程序提供了大量與此模式相關的功能,當向MVC添加反轉控制時,它使應用程序高度解耦,提供簡單的配置更改就可以動態地更改組件的靈活性,圖為Spring MVC設計模式結構,如圖1所示:

圖1 Spring MVC設計模式結構

Spring MVC的Web框架是一個請求驅動的Web框架,整個框架由Model,View,Controller 3個部件組成。Spring MVC的重要組成部分是Dispatcherservlet,它的主要任務是將請求分發到相應的處理程序,讓這些業務程序來處理這些請求。以下是TOPCard信用卡業務系統中Dispatcher Servlet的聲明和映射:

Dispatcher Servlet被命名為topcardweb攔截web請求,上述配置將隨web應用啟動而自動加載,采用通配符與URL對應來進行配置,所有以.ctl作為后綴的請求將都會被topcardweb攔截,并將攔截的請求通過控制器映射(Handdler Mapping)發送給相應的Bean進行處理。

1.2 MyBatis框架

MyBatis框架集合多種操作型關系數據的概念和方法,它是一個強大的數據訪問工具和解決的方法[5]。MyBatis框架主要包含DAO組件與SQL Map組件兩大類,MyBatis常用工具有Log管理等,其架構圖,如圖2所示:

圖2 MyBatis架構圖

MyBatis DAO組件的主要目標是抽象化應用程序的數據訪問層和持久層的表示方式和位置,使它遠離應用程序的業務邏輯,其主要功能是幫助開發人員進行基于DAO設計模式設計和開發J2EE應用程序。SQL Map組件是MyBatis Database Layer框架的重要組成部分,它使用簡單的XML配置文件將Java Bean、XML、Map映射成SQL語句,通過SQL語句的執行獲得Java Bean、XML、Map等對象。MyBatis SQL Map能大大減少訪問數據庫的代碼,并且提供了一個簡潔的框架,MyBatis DAO實現圖和SQL Map實現圖見參考文獻[9]。

Log管理是MyBatis不可缺少的部分,它管理4種模式的日志:①Jakarta Commons Logging(JCL)記錄日志信息;②Log4J;③JDK1.4 Logging API;④無日志模式。MyBatis框架使用JCL記錄日志信息,JCL使用獨立于具體實現的方式提供日志服務,可以插入包括Log4J和JDK1.4 Logging API等不同的日志服務實現。為了對日志做一定的封裝,MyBatis采用簡單的工廠模式,其Log類結構,如圖3所示:

圖3 MyBatis平臺的Log類結構圖

LogFactory依賴Log接口,它是日志的工廠類,Log接口能 通 過 NoLoggingImpl、 JakartaCommonsLoggingImpl、Jdk14LoggingImpl、Log4jImpl來實現。

2 Spring MVC和MyBatis在TOPCard信用卡業務系統中的應用

2.1 TOPCard信用卡業務系統的拓撲結構

TOPCard信用卡業務系統的拓撲結構,包括信用卡的申請、建賬制卡、授權、清算等核心業務,提供信用卡業務的核心支持。輔助系統通過與核心信用卡系統的協作來完成信用卡的其他業務功能,如圖4所示[8]:

圖4 TOPCard信用卡業務系統的拓撲結構

各個系統的功能如下:

(1)TOPCard信用卡業務系統進行信用卡核心業務的處理,包括申請、建賬制卡、授權、清算等。

(2)TOPCard信用卡業務系統與TOPCard核心業務系統之間通過在線和批量的方式進行交互。在線方式包括ATM、柜面取現等交易。批量方式包括清算、總帳等文件。

(3)卡中心員工、分行柜員,通過直接登錄TOPCard信用卡業務系統的方式進行業務處理。

(4)行內核心系統向 TOPCard信用卡業務系統發出的文件主要有:行內消費預借現金請款文件、柜面還款清算文件、約定還款應答文件。TOPCard信用卡業務系統向行內核心系統返還的文件主要有:會計總賬文件、約定還款請求文件。

(5)國際組織將收到的請款文件,給 TOPCard信用卡業務系統進行入賬,TOPCard信用卡業務系統批量結束后,將當日的爭議退單等信息生成返還文件,傳回給各個國際組織前置機,以便傳回給國際組織。

(6)輔助業務系統,包括影像征審系統、CallCenter、網銀系統、積分系統、防欺詐系統、催收系統、數據集市。

影像征審系統進行申請件的處理、影像的管理以及對持卡人的征審和授信處理,為信用卡系統提供申請信息來源。

CallCenter、網銀系統用TOPCard信用卡業務系統提供的客戶信息、賬戶信息等,為客戶提供全方位的服務。

積分系統,利用TOPCard信用卡業務系統提供的交易數據,為持卡人累計獎勵積分并實現相應的兌換等功能。

防欺詐系統,利用 TOPCard信用卡業務系統提供的交易信息,按照預定的規則給卡中心提供預警信息。

催收系統,處理TOPCard信用卡業務系統中處于拖欠等狀態的客戶,跟蹤對應的客戶的行為。

數據集市,對 TOPCard信用卡業務系統的業務數據進行整合,提供各種分析結果用于產品的風險、效益評估,同時作為市場推廣和營銷的依據。

TOPCard信用卡業務系統,在前臺連接模式和客服和卡中心運營渠道中,客服、卡中心通過瀏覽器訪問Web服務器,Web服務器采用JDBC和TCP/IP兩種方式與信用卡主機通訊。WEB應用采用Spring MVC框架,應用邏輯采用面向服務的設計思想,資源管理層采用MyBatis的工具對數據庫進行訪問。

2.2 TOPCard信用卡業務系統的三層結構

TOPCard信用卡業務系統采用B/S與C/S混合模式。在客服和卡中心運營渠道以及前臺連接模式中采用 B/S模式,分為 3層結構,具體如下:客服、卡中心、Web服務器、信用卡主機。在聯機渠道中,采用C/S模式,分為三層結構,各層之間采用TCP/IP通訊。具體如下:國際組織、各組織接口機、TOPCard系統;銀聯系統、銀聯前置、TOPCard系統;行內渠道、行內前置、TOPCard系統。

TOPCard信用卡業務系統建立在B/S與C/S三層結構基礎上,這樣的設計方法有利于設計大型的分布式程序。通過把系統的功能分離到多個邏輯層面,將一些敏感的數據放在最下層,即在防火墻后面處于一個非常安全的地方。應用服務技術,可以使應用程序基本上不直接訪問系統和操作系統,這樣就減少了像大多數兩層結構的弱點。TOPCard信用卡業務系統的三層結構。如圖5所示:

圖5 TOPCard信用卡業務系統的三層結構

2.3 TOPCard信用卡業務系統的邏輯結構

Spring MVC及MyBatis架構的整合,能將Web系統中的表示層、業務層和邏輯層有效地分開,從而有利于web系統的整體維護和升級[6]。Controller實現了org. springframework.web.servlet.mvc接口,Model主要用來完成對MyBatis數據庫的操作,由Dao,DaoImpl,Service和ServiceImpl相關的接口和類在程序中來實現,View用JSTL和Xml來完成[7],如圖6所示:

圖6 Spring MVC和iBATIS的整合圖

TOPCard信用卡業務系統邏輯結構圖,如圖7所示:

圖7 TOPCard信用卡業務系統邏輯結構圖

Spring作為全局控制存在與整個流程之中。

(1)在展現層中,為用戶接口(展示頁面)提供信息供應,本層采用Spring MVC框架做表現層平臺。首先通過JSP頁面實現前臺交互,負責傳送Request和接收Response,然后Spring MVC根據配置文件將DispatcherServlet接收到的Request委派給相應的Controller處理。

(2)在業務層中,實現具體業務邏輯,為應用展現層提供服務支撐,本層采用Spring框架技術實現。管理服務組件的Spring IOC容器,負責向控制器提供Model組件和該組件的DAO組件完成業務,并提供事務處理、緩沖池等容器組件以提升系統性能和保證數據的完整性。

(3)在數據持久層中,為上層業務服務提供數據訪問支持,本層采用MyBatis技術實現。依賴于MyBatis的對象化映射和數據庫交互,處理DAO組件請求的數據并返回處理結果。

2.4 TOPCard信用卡業務系統運行流程圖

TOPCard信用卡業務系統,用Spring MVC作為MVC開發模式做展現層平臺,利用MyBatis作為O/R Mapping數據持久層框架,Spring作為全局控制存在與整個流程之中,其運行流程,如圖8所示:

圖8 TOPCard信用卡業務系統運行流程圖

3 實驗結果與分析

為了進行實驗對比分析,本文進行比較的基于EJB的信用卡業務系統其業務層交給 EJB實現,完成系統核心業務邏輯的處理;數據層由EJB中的 Entity Bean實現,提供原始數據面向對象的封裝,借助CMP(容器管理持久性)獲得O/R映射能力,完成與各種數據源的交互。實驗軟件環境參數如下:

信用卡主機、備機:AIX 或 HP-UX或Solaris

數據庫:DB2或Oracal

Web服務器:linux(Redhat ES)、WebSphere

銀聯前置:linux(Redhat ES)或solaris for X86

客服工作站:Windows XP

卡中心工作站:Windows XP

3.1 性能分析

系統性能是一個總體概念,包括了硬件、網絡、數據庫、應用各個方面的配置和數量,同時還必須考慮配置成本,即不能為了保證系統性能而通過任意擴大系統配置的辦法來滿足系統性能。因此構建優秀的應用軟件體系,對發揮系統整體性能就顯得尤為關鍵。

影響信用卡應用系統總體性能的主要是聯機授權模塊、批處理及報表模塊等,這些模塊中的性能薄弱都將導致整個系統的業務無法充分展開,影響到銀行的業務運作。

各個模塊性能瓶頸可能出現的位置是:聯機授權模塊主要存在于通訊能力、數據庫操作以及應用服務器的信息處理能力;批處理及報表模塊的性能瓶頸主要存在于對數據庫的讀寫、文件的寫操作以及服務器的計算能力上。由于聯機授權模塊、批處理及報表模塊是系統中對性能要求最高的部分,如表1所示:

表1 TOPCard與基于EJB信用卡業務系統的性能測試結果

TOPCard信用卡業務系統在預測銀行10年的業務量下的性能測試結果與基于 EJB的信用卡業務系統的比較。假設信用卡帳戶500萬張卡,日均交易20萬筆,200人并發訪問WEB服務。

在性能方面,可以看出基于Spring MVC及IBATIS的TOPCard信用卡業務系統大大優越于基于EJB的信用卡業務系統。

3.2 復雜度分析

基于EJB的信用卡業務系統為了實現全面且完整的系統應用時,重量級容器 EJB會帶來諸如部署復雜,運行緩慢,內在服務多等負面作用。EJB要求創建多個組件接口并實現多個不必要的回調方法組件接口要求實現 EJBObject或 EJBLocalObject 以及處理許多不必要的異常。基于XML的EJB部署描述符比較復雜并容易出錯。EJB組件并非是真正面向對象的,因為它們在繼承和多態性方面的有使用限制開發人員無法在 EJB 容器外部測試 EJB 模塊,而在容器內部調試EJB非常復雜和耗時。調用 EJB是一項復雜的任務。即使是在應用程序中使用最基本的EJB也需要對JNDI有一個詳細的了解對容器的依賴使得 EJB只能用于服務器組件的開發,無法實現一次編寫。

在復雜度方面,基于EJB的信用卡業務系統的復雜度大于基于Spring MVC及IBATIS的TOPCard信用卡業務系統。

3.3 代碼復用率分析

Spring是輕量級的框架,對其他對象沒有侵入性,代碼有很高的復用性,并且是一個免費的開源框架;而 EJB是重量級的框架,難以維護和復用。所以顯而易見,基于Spring MVC及IBATIS的TOPCard信用卡業務系統,能解決基于EJB的信用卡業務系統的代碼復用率低的問題。

4 總結

本文通過對采用Spring MVC和MyBatis框架為基礎的Web應用框架進行分析和研究,可以發現將Sping MVC應用于TOPCard信用卡業務業務系統的架構中,可以有效的將系統的表示層、業務層、邏輯層分開來,提升系統性能,提高了系統的可維護性和可擴展性;將MyBatis應用到于TOPCard信用卡業務系統中,不僅可以大大提高代碼的復用性,而且能有效隔離數據庫設計和應用中使用的對象模型,這就使得它們兩者之間的相關性能降至最低。將Spring作為全局控制存在與整個流程之中,使得系統復雜度大大降低,提高了代碼復用率。Web應用框架的研究是一個不斷深入、逐步完善的過程,在對Web應用框架不斷推廣試用的基礎上,還將進一步擴展其功能,使其應用領域更加廣泛。

[1]Johnson, Juergen Hoeller. R. Expert One-on-One J2EE Development without EJB[M]. Indiana: Wiley Publishing Inc, 2004.

[2]Ren Yongchang, Xing Tao, Xing Zhaofeng, Zheng Jianchun. Application Research for Integrated SSH Combination Framework to Achieve MVC Mode[C]. International Conference on Computational and Information Sciences,pp.449-502, Sept. 2011.

[3]Shi GAO, XingHeng WANG, Xue DENG. Public Computer Education Management System

[4]based on Java EE Lightweight framework[C]. International Conference on Computer Science and Service System, pp. 1486 - 1489, Jun. 2011.

[5]張宇, 王映輝, 張翔南. 基于Spring的MVC框架設計與實現[J]. 計算機工程, Vol.36, No.4, pp.59-62, Feb.2010.

[6]Clinton Begin, Brandon Goodin and Larry Meadors. iBatis in Action. Manning publications Co. Chero Station,2007.

[7]Harvey M.Deitel, Paul J.Deitel著,[M]劉宗田, 苗沛榮等譯, Java程序設計教程, 機械工業出版社, 2002.

[8]Kumar, B V Sangeetha, S Subbrahmanya S V著[M], 宋梅, 張學平譯, 深入淺出J2EE架構, 清華大學出版社,2006.

[9]TOPCARD信用卡核心系統產品說明書,[K]上海華騰軟件系統有限公司, 2009.

[10]封小鈺, 王飛. 基于iBATIS 數據庫訪問技術的研究與應用.[J]電腦開發與應用,Vol.21, No.6, pp.51-53,Apr.2008.

猜你喜歡
系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
基于UG的發射箱自動化虛擬裝配系統開發
半沸制皂系統(下)
FAO系統特有功能分析及互聯互通探討
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統 德行天下
PLC在多段調速系統中的應用
主站蜘蛛池模板: 91原创视频在线| 国产在线拍偷自揄拍精品| 亚洲区第一页| 国产精品视频导航| 婷婷综合在线观看丁香| 男人的天堂久久精品激情| 国产亚洲视频免费播放| 久久国产成人精品国产成人亚洲 | 亚洲成a人片在线观看88| 少妇被粗大的猛烈进出免费视频| 国产成人精品2021欧美日韩| 午夜福利在线观看入口| 97视频在线精品国自产拍| 国产精品第一区| 国产男人的天堂| AV熟女乱| 毛片久久久| 色综合久久88| 农村乱人伦一区二区| 成人福利在线免费观看| 中文字幕日韩丝袜一区| 欧美日韩精品一区二区视频| 51国产偷自视频区视频手机观看| 成人久久精品一区二区三区 | 色哟哟国产精品| 园内精品自拍视频在线播放| 一级毛片免费观看久| 国产成人亚洲综合A∨在线播放| 午夜在线不卡| 国产97区一区二区三区无码| 亚洲天堂视频网站| 亚洲人成影视在线观看| 女人一级毛片| 国产亚洲高清在线精品99| 天天摸夜夜操| 欧美精品亚洲精品日韩专区va| 无码内射在线| 国产玖玖视频| 欧美精品成人| 国产精品视频a| 黄色网站不卡无码| 91po国产在线精品免费观看| 亚洲永久精品ww47国产| 91视频日本| 亚洲无码免费黄色网址| 久久永久视频| 成人国产精品一级毛片天堂| 在线无码av一区二区三区| 国产精品成人不卡在线观看 | 成人精品免费视频| av色爱 天堂网| 亚洲综合天堂网| 国产午夜一级毛片| 国产精品入口麻豆| 日本午夜影院| 日本在线国产| 国产二级毛片| 免费 国产 无码久久久| 国内熟女少妇一线天| 国产精品嫩草影院视频| 国产91线观看| h网址在线观看| 国产精品免费电影| 婷婷综合亚洲| 欧美精品成人一区二区在线观看| 亚洲伊人天堂| 中文字幕在线日本| 欧美激情视频二区三区| av大片在线无码免费| 全午夜免费一级毛片| 狠狠v日韩v欧美v| 久久综合九色综合97婷婷| 欧美成人一级| 国产欧美日韩一区二区视频在线| 国产小视频a在线观看| 久久精品国产91久久综合麻豆自制| 国内精品伊人久久久久7777人| 亚洲视频影院| 久久综合色视频| Aⅴ无码专区在线观看| 制服丝袜国产精品| 国产精品免费露脸视频|