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

售票網站后臺管理系統架構設計與實現

2017-05-31 19:28:02鄧源清石智偉
軟件導刊 2017年5期

鄧源清+石智偉

摘要摘要:互聯網售票模式受到追捧,發展迅速,傳統的客運企業對建立互聯網售票平臺需求強烈。采用B/S結構模式,以.NET作為開發平臺,分析了三層架構存在的不足, 結合MVC設計模式,探討了四層架構模式。增加IBLL業務接口層和IDAL數據接口層,整合ExtJS、Spring.NET、Nhibernate技術框架,實現了基于四層架構的客運企業互聯網售票網站后臺管理系統,以滿足客運企業售票需求。

關鍵詞關鍵詞:三層架構;MVC;四層架構;ExtJS; Spring.NET;Nhibernate

DOIDOI:10.11907/rjdk.171044

中圖分類號:TP319

文獻標識碼:A文章編號文章編號:16727800(2017)005009603

0引言

隨著Internet的快速發展,航空、鐵路已相繼實現了網絡售票,很大程度上緩解了購票難問題,傳統的客運行業也急迫需要建立網絡售票平臺。本文以客運企業互聯網售票平臺為核心,搭建了一個簡潔易操作的后臺管理系統。

大多數Web系統開發都依賴非常成熟的J2EE平臺[14]。微軟的.NET Framework因其支持多種編程語言受到歡迎,通過創建一個跨語言的公共API集,.NET框架可實現跨語言繼承、錯誤處理功能和調試功能等,大大提高了開發效率[56]。一些流行的技術框架常用于軟件系統開發中,如基于腳本語言JavaScript開發的ExtJS框架,可快速開發出豐富的界面效果[7];專注于.Net 企業應用開發的Spring.NET框架, IoC(Inversion of Control,控制反轉、反向控制)和AOP(Aspect Oriented Pogramming,面向切面編程)降低了類之間的耦合度,使程序更靈活、擴展性更好[89];基于.Net 的針對關系型數據庫的對象持久化類庫Nhibernate,從數據庫底層來持久化 .Net 對象到關系型數據庫,代碼僅和對象關聯,操作數據庫時自動生成SQL語句,確保對象提交到正確的表和字段中,簡化了程序開發流程,縮短了開發時間[1011]。

目前,Web系統開發普遍采用分層架構,三層架構是最流行的分層模式,即將整個系統架構劃分為界面層(User Interface layer)、業務邏輯層(Business Logic Layer)、數據訪問層(Data access layer)[12]。不同于MVC(ModelViewController)設計模式,它把Model細分為BLL、DAL、Model,體現著分層的“低耦合高內聚”。這種分層模式在開發中雖然應用廣泛,但對所有項目都一成不變地使用大三層架構也存在以下缺點:

(1)數據訪問層及業務邏輯層存在不足。由于方法定義和執行代碼處于同一頁面,業務層在轉達來自Web層的內容時還要處理內容,需要編寫大量代碼,執行到數據訪問層時也是如此,不利于訪問不同數據庫,增加了開發工作量。

(2)典型的大三層架構不利于維護。分層不夠詳細,容易牽一發而動全身,一個模塊的變動會影響到其它模塊變動,系統升級或維護困難、成本增加。

在分析三層架構不足的基礎上,根據Web發展現狀,結合客運企業網站的特點及需求,本文提出了四層架構設計。

1系統架構設計

1.1MVC設計模式

MVC模式,即模型-視圖-控制器,強調把復雜的 Web 應用系統分成模型、視圖和控制器3個層次進行開發[13]。視圖對應系統的界面,負責接收用戶請求及顯示后臺處理結果;模型對應系統中的數據和業務邏輯處理;控制器對應系統中的輸入輸出控制、用戶請求處理及數據同步顯示。每個核心部件任務分配明確,各自處理,降低了處理數據和顯示數據間的耦合性[14]。

對比三層架構,這種分層模式更像是一種基于頁面分層的設計模式,三層架構則是基于業務邏輯來分層的一種架構體系。

1.2四層架構設計

售票網站后臺管理系統將MVC設計模式與三層架構相結合,形成四層架構。在常用的大三層架構模式上,UI界面層采用MVC模式,舍棄MVC模式的Model,取View和Controller,或者說數據的處理、數據庫的操作交由BLL和DAL完成,并在業務邏輯層中增加業務邏輯接口層IBLL,數據訪問層中增加數據接口層IDAL,具體設計如圖1所示。

自上而下,表現層處于客戶端,即用戶使用的PC,其它層均處于服務器端,用戶訪問系統時通過HTTP協議請求服務器資源。

表現層:采用ExtJS框架實現界面顯示。

控制層:接收用戶在界面層的各種請求并轉達至下一層進行業務邏輯處理,并將最后的處理結果返至表現層。

業務邏輯層和數據訪問層:業務邏輯層BLL通過實現IBLL接口所定義的方法處理系統各種業務邏輯,如退票處理、留言回復等;需調用數據庫時,再通過工廠模式DALFactory創建類調用方法訪問接口IDAL,再由數據訪問層DAL實例化接口,實現對數據庫的操作。數據訪問層融入了Nhibernate框架,實現數據持久化,并將所有的組件部署于一種面向切面編程的spring.NET框架中,進行管理、維護、執行,spring.NET框架把離散的組件組裝到一起,對后期的擴展及維護帶來極大便利。

Model:各層之間數據交互的媒介。

2架構實現

2.1表現層實現

(1)界面整體布局設計。基于JavaScript的ExtJS框架在界面布局方面做得非常優秀,在Web后臺管理系統開發中應用廣泛。系統界面實現選擇常用的border布局,將界面分為east、south、west、north、center五個部分,在其items中指定使用region參數為其子元素指定具體位置,其中,center 區域是必須使用的,center區域會自動填充其它區域的剩余空間。

(2)表單設計及驗證。ExtJS對表單的設計也很實用,基本的校驗方式如手機號碼是否為空、字符、數字等,具有人性化的提示方式。

該表單使用平行布局,將layout屬性設置為column,表單控件分為5列,在formpanel的items中指定,在每列中設置columnWidth,指定該列所占總寬度的百分比;然后在每列的items中輸入控件,通過xtype來指定每個控件的類型;然后設置allowbank、xtype等配置項,方便完成數據檢驗。如果設置allowbank屬性為false,那么鼠標移開該控件時邊框就會顯示紅色,鼠標移至控件上時就會出現錯誤提示信息。這種提示方式用戶更容易接受,提升了用戶體驗。

(3)數據提交方式。使用ExtJS框架實現系統表現層時,采用以下兩種方式進行數據提交:①表單提交。

采用這種方式提交,不需要一一獲取表單控件內容值,而是一次性將所有的值也就是整個表單的值一起提交給后臺服務器,提升了響應速度;②Ajax技術提交。通過Ajax技術向服務器提交數據,將需提交的參數以name:value的格式放在params中,實現網頁的異步更新。

2.2業務邏輯層實現

業務邏輯層是整個Web系統中的核心部分,位于控制器之下數據訪問層之上。通常,控制器調用業務邏輯接口層,業務邏輯接口層中定義了刪除、保存、更新等方法,業務邏輯層繼承IBLL基類,并實現其中的方法,完成各項復雜業務的處理。互聯網售票網站業務邏輯層主要實現退票業務處理、留言回復、統計分類以及報表生成等。

控制器與業務邏輯層之間的調用關系如圖2所示。

另外,整合Spring.NET框架的作用主要體現在對業務邏輯層的管理以及對Nhibernete提供集成支持,通過loC容器把分散的各個組件組合到一起。控制器與業務邏輯接口層耦合,控制器接受Spring.NET loC容器的依賴注入,避免控制器主動通過new獲得其需要的業務邏輯組件,使控制器與業務邏輯組件松耦合。業務邏輯組件依賴于DAL,由Spring.NET容器負責將DAL組件注入到業務邏輯組件中,實現業務邏輯組件與DAL組件間的松耦合。

本文系統中,Spring.NET使用DI負責管理和裝配所有的Object,如DAL類、業務邏輯類、控制器類等。各層對象之間的依賴關系由Spring.NET的依賴注入實現,各層之間的依賴注入關系如圖3所示。

Spring.NET采用setter方法注入,即在Controller控制器類中創建所需BLL對象,并為該對象添加setter/getter方法。創建Object實例的工作不再由調用者完成,而是由Spring.NET容器對各層的實現類進行統一管理,降低了各組件之間的耦合度,提升了代碼的可重用性。

2.3數據訪問層和數據持久層實現

數據訪問層DAL負責與數據庫交互,位于業務邏輯層之下。當BLL數據訪問接口層IDAL時,通過工廠模式DALfactory創建類調用方法,再由DAL對IDAL中定義的方法進行實現,完成對數據庫的操作。

業務邏輯層與數據訪問層的調用關系如圖4所示。

IDAL接口層引入Nhibernate對象/關系數據庫映射工具,數據以對象的形式進行傳遞,無需關注底層數據庫是SQL server還是oracle或其它類型數據庫。完成Nhibernate配置、建立映射文件等工作后,再使用Spring.NET對NHibernate進行整合,通過配置文件設置HibernateTemplate使用的SessionFactory,就可使用函數find()、save()、delete()、saveOrUpdate()等來操作數據庫了,這使得開發人員在Spring.NET中使用Nhibernete更加簡單[15]。

在開發過程中還有一個界定:對于單表操作業務邏輯比較單一的情況,采用Nhibernate的操作函數來操作數據庫;而在邏輯相對復雜、事務比較多時,則采用數據庫的存儲過程來解決。這樣做的優點是當項目邏輯發生改變時,只需在數據庫修改存儲過程即可,不用更新代碼邏輯。

3結語

本文以客運企業售票模式轉型為入口,針對售票后臺管理系統的開發,探討了系統的層次架構,給出了系統詳細架構設計并闡述了具體實現。

在系統架構的設計和實現中,詳細的分層有利于代碼重用以及后期維護,彌補了大三層架構的缺陷,可在其它類似項目中稍作修改使用,大大提高了開發效率。

系統采用B/S結構模式,使用時免安裝,只需瀏覽器鍵入域名即可,減少了前期工作,目前廣東省部分客運企業已采用該系統作為互聯網售票網站后臺管理系統。

該管理系統具有如下特點:

(1)實用。網站后臺管理系統根據實際需要,將復雜的業務邏輯簡單化、合理化。用戶能方便地對各類信息進行錄入、查詢、編輯、統計與下載。系統對大量的數據進行有效管理并保證數據的準確性、一致性與完整性。

(2)高效。應用程序響應速度快,使用方便,業務及數據處理能力強。

(3)安全。將服務器托管在具有完善機房設施、高品質網絡環境、豐富寬帶資源的服務器托管中心,達到安全、可靠、穩定、高效運行的目的。另外,考慮系統數據的安全性,為防止系統核心業務數據的非法訪問,當用戶登錄時,系統會自動檢測用戶角色,根據用戶所在機構與職位職責的不同來設置不同的使用權限。

(4)界面友好、易操作。應用系統界面簡潔,操作簡便。例如樹形操作結構、信息表格、數據驗證失敗后的提示效果等,用戶反饋良好。

參考文獻參考文獻:

[1]張舒文.客運聯網售票系統的設計與實現[D].成都:電子科技大學,2012.

[2]歐陽松壽.鐵路客運售票模式的研究[D].北京:北京交通大學,2007.

[3]劉卓宇.省際長途客運網上售票系統的設計與實現[D].上海:復旦大學,2013.

[4]張紹林.基于JavaEE5體系的聯網售票系統設計與實現 [D].天津:天津大學,2008.

[5] [美]Jerrfrey Richter.Microsoft.NET框架程序設計[M].修訂版.李建忠,譯.北京:清華大學出版社,2003:1018.

[6]李慶法.完全探索Microsoff.NET技術戰略[M].北京:中國青年出版社,2001.

[7]鞠鳳娟.EXT技術在Web界面設計與實現的應用研究[J].計算機與現代化,2008(11):102104.

[8]陽王東,周勇,李旎,等.利用Spring.NET構建動態的三層應用程序框架[J].計算機時代,2009(9):2023.

[9]胡啟敏,薛錦云,鐘林輝.基于Spring框架的輕量級 J2EE 架構與應用[J].計算機工程與應用,2008,44(5):115133.

[10]李文藝.Spring.Net &NHibernate框架研究與設計[J].網絡與信息,2012(4):2728.

[11]張淑全.基于 Hibernate 數據層設計模式的研究與實現[D].大連:大連海事大學,2007.

[12]Y LI ,D CUI.Improvement and application of MVC design patterns [J].Computer Engineering,2005(9): 3536.

[13]丁聰穎.基于J2EE MVC 的WebGIS及其空間數據索引的研究 [D].上海:上海交通大學,2007.

[14]王進.B/S模式下的三層架構模式[J].軟件導刊,2011(3):3031.

[15]吳小莉,袁小霞,段金蓉.基于spring框架技術剖析[J].中小企業管理與科技,2009(12):232233.

責任編輯(責任編輯:杜能鋼)

主站蜘蛛池模板: 欧美日本激情| 97人妻精品专区久久久久| 色偷偷一区| 亚洲一区国色天香| 日本人又色又爽的视频| 国内精品视频区在线2021| 亚欧乱色视频网站大全| 久久久久人妻一区精品色奶水| 亚洲一区网站| 国产尹人香蕉综合在线电影| 国产人成网线在线播放va| 伊人久综合| 亚洲黄色成人| 亚洲精品制服丝袜二区| av一区二区三区高清久久| 91色爱欧美精品www| 午夜老司机永久免费看片| 日韩免费毛片视频| 四虎永久免费地址| 国产日韩久久久久无码精品| 亚洲综合日韩精品| 日本欧美成人免费| 毛片免费观看视频| 精品国产黑色丝袜高跟鞋| 欧美在线综合视频| 精品国产黑色丝袜高跟鞋| 精品少妇三级亚洲| 国产免费看久久久| 久久国产成人精品国产成人亚洲 | 毛片大全免费观看| 少妇露出福利视频| 老司国产精品视频91| 99re免费视频| 亚洲成a人片在线观看88| 91福利免费| 国内精品自在欧美一区| 精品一区二区三区四区五区| 草草线在成年免费视频2| 成人福利在线视频| 精品人妻系列无码专区久久| 国产成人1024精品| 成人中文字幕在线| 伊人久久综在合线亚洲91| 亚洲精品高清视频| 国产乱子伦无码精品小说| 91青青草视频| 欧美一级在线播放| 国产麻豆va精品视频| 亚洲精品手机在线| 又猛又黄又爽无遮挡的视频网站| 亚洲精品卡2卡3卡4卡5卡区| 亚洲日本中文综合在线| 亚洲欧美在线综合图区| 欧美人与性动交a欧美精品| 国产aaaaa一级毛片| 国产成人精品高清不卡在线| 欧美天堂在线| 性色一区| 91精品国产麻豆国产自产在线| 欧美成人日韩| 高清国产在线| 国产成人精品男人的天堂| 中文字幕在线看| 999在线免费视频| 天天色天天综合| 亚洲欧美日韩中文字幕在线| 欧美一级片在线| 精品一区二区三区水蜜桃| 成人亚洲视频| 亚洲娇小与黑人巨大交| 欧美日韩国产高清一区二区三区| 久久亚洲国产视频| 久草性视频| 最新精品久久精品| 国产精品亚欧美一区二区三区 | 欧美激情第一欧美在线| 91网址在线播放| 国产日韩精品欧美一区灰| 在线观看精品国产入口| 国产超碰一区二区三区| 国产自在自线午夜精品视频| 黄色网页在线播放|