摘 要:文章主要介紹了基于WEB應(yīng)用的軟件開發(fā)與應(yīng)用,重點(diǎn)闡述該web架構(gòu)上使用SSH三層框架結(jié)構(gòu),用Struts框架實(shí)現(xiàn)表示層,在業(yè)務(wù)層采用Spring框架以及通過Hibernate框架實(shí)現(xiàn)持久化層,軟件開發(fā)通過三層架構(gòu)將Struts MVC設(shè)計(jì),Spring中的Bean管理、事務(wù)管理以及Hibernate的對(duì)象關(guān)系映射功能融為一體。
關(guān)鍵詞:SSH;模塊;框架;WEB平臺(tái);軟件開發(fā)
1 基于軟件開發(fā)的WEB應(yīng)用軟件開發(fā)的特點(diǎn)
WEB應(yīng)用軟件開發(fā)綜合管理系統(tǒng)的內(nèi)容比較繁雜,而且建設(shè)模式也相對(duì)較多,在管理結(jié)構(gòu)上存在著一些比較復(fù)雜的情況,所以在實(shí)施管理中將會(huì)有很多的困難,所以在設(shè)計(jì)前要對(duì)其需求和技術(shù)特點(diǎn)進(jìn)行充分的分析,WEB應(yīng)用軟件開發(fā)綜合管理的建設(shè)管理有如下諸多特點(diǎn):
1.1 WEB應(yīng)用軟件開發(fā)一般這個(gè)系統(tǒng)會(huì)涉及到很多的相關(guān)環(huán)節(jié),比如與WEB應(yīng)用軟件開發(fā)有關(guān)的建設(shè)部門,還有費(fèi)用預(yù)算決算的部門,這些涉及到相關(guān)的管理部門多,而且各個(gè)管理部門的軟件開發(fā)又自成體系,采用的數(shù)據(jù)標(biāo)準(zhǔn)和格式不統(tǒng)一,軟件平臺(tái)也不一致,所以就加大了建設(shè)的難度。
1.2 WEB應(yīng)用軟件開發(fā)從WEB應(yīng)用軟件開發(fā)的資源調(diào)查,統(tǒng)計(jì)來分析,WEB應(yīng)用軟件開發(fā)預(yù)測(cè)和建模,布局的優(yōu)化等都有著很大的建設(shè)規(guī)模,所以系統(tǒng)較為復(fù)雜,目前所面臨的是WEB應(yīng)用軟件開發(fā)工作被繁雜的基礎(chǔ)事務(wù)性工作占據(jù)了絕大多數(shù)時(shí)間,無法抽出更多時(shí)間和精力對(duì)WEB應(yīng)用軟件開發(fā)戰(zhàn)略進(jìn)行研究,從而造成WEB應(yīng)用軟件開發(fā)戰(zhàn)略的支撐體系無法滿足公司的發(fā)展戰(zhàn)略,形成了發(fā)展瓶頸,所以建立一個(gè)基于軟件開發(fā)的WEB應(yīng)用軟件開發(fā)提供必要支持的軟件是當(dāng)務(wù)之急。
2 基于WEB應(yīng)用軟件開發(fā)的關(guān)鍵技術(shù)
2.1 WEB應(yīng)用體系結(jié)構(gòu)
WEB應(yīng)用軟件開發(fā)系統(tǒng)由軟件的應(yīng)用層和表現(xiàn)層和據(jù)庫(kù)和服務(wù)器的組件兩個(gè)功能模塊所組成。前者側(cè)重駐留于客戶機(jī)(客戶端),如JSP、Servlet等應(yīng)用程序,主要用于第一層并在客戶端運(yùn)行;后者側(cè)重駐留在服務(wù)器端,在服務(wù)器端其以數(shù)據(jù)存儲(chǔ)和檢索運(yùn)行和操作為主。兩種模式中,較大多數(shù)的相關(guān)應(yīng)用邏輯(或稱商業(yè)邏輯)均被部署在相應(yīng)的客戶端。
2.2 面向服務(wù)架構(gòu)(SOA)
框架(Framework)是一種對(duì)于相關(guān)系統(tǒng)的可重用設(shè)計(jì),其在抽象構(gòu)件以及構(gòu)件實(shí)例間交互的方法上可以得到充分的表現(xiàn);當(dāng)然,也有以部分人認(rèn)為,框架是一套對(duì)于被開發(fā)者的應(yīng)用性骨架。前一種說法是主要是基于應(yīng)用方面的角度,而后者則是基于目的方面;一定程度上,框架在對(duì)體系結(jié)構(gòu)進(jìn)行有效規(guī)定的同時(shí),還對(duì)其整個(gè)設(shè)計(jì)、協(xié)作構(gòu)件之間的依賴關(guān)系、責(zé)任分配與控制流程進(jìn)行了一定的闡述,其完全是一個(gè)能夠復(fù)用的相關(guān)設(shè)計(jì)構(gòu)件;它也是一種能夠?qū)σ唤M抽象類以及其實(shí)例之間協(xié)作進(jìn)行表現(xiàn)的一種方法,在構(gòu)件的復(fù)用上其也起到上下文連結(jié)的(Context)關(guān)系。
2.3 面向服務(wù)架構(gòu)(SOA)
Struts框架存在著自身專屬web控制器、借助相關(guān)技術(shù)支持模式(Model)及視圖(View)等屬性或要件。對(duì)于前者而言,Struts框架不但能夠?qū)崿F(xiàn)與諸如JDBC或FIB等標(biāo)準(zhǔn)化數(shù)據(jù)獲取技術(shù)的交互,而且能夠與由第三方提供的諸如Hibernate、Object Relational Bridge等包建立聯(lián)系;對(duì)于后者,Struts框架能夠?yàn)镴ava Server Pages(包括JSTL, JSF,Velocity Templates,XSLT等持久化系統(tǒng))提供協(xié)助。
Struts框架控制器(Controller)在模式及視圖二者間起到橋梁的作用。每獲取到請(qǐng)求,控制器將會(huì)做出Action類調(diào)取命令,Action類通過與模式進(jìn)行協(xié)商,實(shí)現(xiàn)對(duì)應(yīng)用狀態(tài)的檢測(cè)或更新,模式與視圖之間數(shù)據(jù)的傳遞的實(shí)現(xiàn)是因有Action Form類的協(xié)助。
2.4 Spring框架
Spring框架是一個(gè)開源的、基于POJO(Plain ordinary Java object)、IoC(Inversion of Control,控制反轉(zhuǎn))和AOP(Aspect oriented Programming,它同時(shí)是針對(duì)切面編程)的一種有效的輕量級(jí)J2EE應(yīng)用框架,其在規(guī)劃級(jí)應(yīng)用程序開發(fā)的復(fù)雜性方面具有重大的改善和提升作用。
3 WEB應(yīng)用軟件開發(fā)
3.1 WEB應(yīng)用軟件開發(fā)的設(shè)計(jì)目標(biāo)
針對(duì)WEB應(yīng)用軟件開發(fā)管理部門的系統(tǒng)需求,設(shè)計(jì)開發(fā)WEB應(yīng)用軟件開發(fā)管理信息系統(tǒng),提供從空間數(shù)據(jù)獲取處理、到建庫(kù)集成與管理、到分析應(yīng)用一套完整的系統(tǒng)解決方案。該系統(tǒng)采用SQL Server數(shù)據(jù)庫(kù)系統(tǒng)和國(guó)產(chǎn)基礎(chǔ)平臺(tái)技術(shù),以Client/Server系統(tǒng)架構(gòu),實(shí)現(xiàn)利用計(jì)算機(jī),對(duì)城市WEB應(yīng)用軟件開發(fā)信息進(jìn)行分類瀏覽、查詢、統(tǒng)計(jì)、軟件開發(fā)和行政審批等功能,為政府的宏觀決策和具體WEB應(yīng)用軟件開發(fā)業(yè)務(wù)實(shí)施提供先進(jìn)的輔助辦公手段。在具體的軟件項(xiàng)目實(shí)施中,大量存在進(jìn)度超期、經(jīng)費(fèi)超預(yù)算、變更頻繁的現(xiàn)象和問題,而且許多項(xiàng)目與預(yù)期的目標(biāo)相去甚遠(yuǎn),對(duì)于為業(yè)主創(chuàng)造真正的效益就無從談起。
3.2 WEB應(yīng)用軟件開發(fā)的整體解決方案
WEB應(yīng)用軟件開發(fā)總體規(guī)劃包含實(shí)施步驟與總預(yù)算的安排、WEB應(yīng)用軟件開發(fā)的總目標(biāo)與總政策、及查詢分析功能等方面。由于該模塊的執(zhí)行過程需要決策者大量的信息、知識(shí)和模型,因此需要建立模型庫(kù)和知識(shí)庫(kù)來提供相關(guān)的模型和知識(shí)規(guī)則。該模塊所提供人機(jī)交互模式和環(huán)境為決策者的決策提供了一定的輔助作用。
系統(tǒng)的管理工作主要是更好的保證系統(tǒng)能夠正常的運(yùn)行,在起初完成對(duì)系統(tǒng)的安裝后,首先應(yīng)通過系統(tǒng)的構(gòu)建結(jié)構(gòu),建立起相應(yīng)有效合理的體系,對(duì)于系統(tǒng)信息化的實(shí)現(xiàn),工作效率的提高及工作質(zhì)量的改善都有重大意義。
3.3 WEB應(yīng)用軟件開發(fā)的數(shù)據(jù)庫(kù)設(shè)計(jì)原則及思想
在對(duì)數(shù)據(jù)庫(kù)進(jìn)行設(shè)計(jì)的時(shí)候,其首要考慮的問題,就是目標(biāo)。我們認(rèn)為,一個(gè)好的數(shù)據(jù)庫(kù)首先就是沒有冗余數(shù)據(jù),從而能夠確保數(shù)據(jù)的定位準(zhǔn)確、高效,在維護(hù)保養(yǎng)方面也相對(duì)簡(jiǎn)單。從理論上來說,數(shù)據(jù)庫(kù)的設(shè)計(jì)當(dāng)然是要能夠?qū)崿F(xiàn)所有的目標(biāo)。但從實(shí)際上來看,基本上是不可能的,各個(gè)目標(biāo)可能天然就存在一定的排斥,如冗余數(shù)據(jù)的消除要求降低定位記錄的速度,準(zhǔn)確性和高效往往是魚與熊掌不可得兼。
3.4 WEB應(yīng)用軟件開發(fā)的系統(tǒng)結(jié)構(gòu)分層設(shè)計(jì)
WEB應(yīng)用軟件開發(fā)采用了網(wǎng)絡(luò)應(yīng)用表現(xiàn)層、業(yè)務(wù)邏輯層和數(shù)據(jù)持久層三層體系結(jié)構(gòu)。每一層的數(shù)據(jù)處理都有自己確定的任務(wù),在功能實(shí)現(xiàn)上也清晰可見:表現(xiàn)層用于完成用戶與系統(tǒng)之間的GUI交互,從而獲取輸入信息的數(shù)據(jù),同時(shí)為系統(tǒng)提供數(shù)據(jù)驗(yàn)證功能;業(yè)務(wù)邏輯層則定位在面向業(yè)務(wù)應(yīng)用方面,為表示層提供業(yè)務(wù)服務(wù),實(shí)現(xiàn)與業(yè)務(wù)相關(guān)專業(yè)算法、業(yè)務(wù)規(guī)則和執(zhí)行業(yè)務(wù)流程等相關(guān)處理;數(shù)據(jù)持久層則提供系統(tǒng)的數(shù)據(jù)存取,參與DBMS之間的進(jìn)行通信聯(lián)通。
4 結(jié)束語(yǔ)
文章在全面分析了WEB應(yīng)用軟件開發(fā)應(yīng)用需求的前提下,并通過面向?qū)ο蟮腢ML技術(shù)等技術(shù)對(duì)系統(tǒng)進(jìn)行了比較完善的設(shè)計(jì),較完整地實(shí)現(xiàn)有關(guān)WEB應(yīng)用軟件開發(fā)、監(jiān)控和WEB應(yīng)用等各項(xiàng)管理工作。
參考文獻(xiàn)
[1]柴曉路,菜字路.webservices技術(shù),架構(gòu)和應(yīng)用[M].北京:電子工業(yè)出版社,2011.
[2]承繼成,易善禎.國(guó)家空間信息基礎(chǔ)設(shè)施與數(shù)字地球[M].北京:清華大學(xué)出版社,2012.
[3]程朋根.基于GPs,Gls技術(shù)的橋梁結(jié)構(gòu)健康監(jiān)測(cè)與管理信息系統(tǒng)[J].公路交通科技,2011(2):48-52.