Web系統(tǒng)架構(gòu)綜述_第1頁(yè)
Web系統(tǒng)架構(gòu)綜述_第2頁(yè)
Web系統(tǒng)架構(gòu)綜述_第3頁(yè)
Web系統(tǒng)架構(gòu)綜述_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上B/S架構(gòu)和C/S架構(gòu)概述C/S架構(gòu)和B/S架構(gòu)是現(xiàn)今軟件系統(tǒng)所采用的兩種主流架構(gòu)。C/S架構(gòu)的全稱是Client/Server,即客戶端服務(wù)器端架構(gòu),其中客戶端包括一個(gè)或多個(gè)需要在用戶的電腦上運(yùn)行的本地程序,服務(wù)器端包括數(shù)據(jù)庫(kù)服務(wù)器端和Socket服務(wù)器端。C/S 架構(gòu)的客戶端部署往往比較臃腫。因?yàn)榻^大多數(shù)的業(yè)務(wù)邏輯和界面展示是在客戶端上完成的。在這種架構(gòu)中,客戶端需要較大的壓力,因?yàn)轱@示邏輯和事務(wù)處理都是由客戶端完成的,通過(guò)與數(shù)據(jù)庫(kù)的交互進(jìn)行數(shù)據(jù)的持久化,滿足實(shí)際項(xiàng)目的需求。B/S架構(gòu)的全稱是Browser/Server,即瀏覽器/服務(wù)器模式架構(gòu)。B/S架構(gòu)是考慮

2、到現(xiàn)今WEB技術(shù)如火如荼發(fā)展的今天所新興的一種網(wǎng)絡(luò)結(jié)構(gòu)模式。它將系統(tǒng)功能實(shí)現(xiàn)的核心部分部署在服務(wù)器上,用戶通過(guò)輕量級(jí)的瀏覽器就可以訪問(wèn)并使用系統(tǒng),也簡(jiǎn)化了系統(tǒng)的開(kāi)發(fā)和維護(hù)。C/S架構(gòu)的應(yīng)用場(chǎng)景主要是面對(duì)繁多操作和豐富界面的系統(tǒng),B/S架構(gòu)主要運(yùn)用于交互性強(qiáng)、用戶訪問(wèn)頻繁且功能偏少的系統(tǒng)。針對(duì)電子票務(wù)系統(tǒng),B/S架構(gòu)不僅能滿足其所有功能,而且實(shí)施更加方便,用戶訪問(wèn)更加快捷。所以本文選定B/S架構(gòu)作為電子票務(wù)系統(tǒng)的表現(xiàn)形式。JAVA概述Java是由Sun公司推出的一門(mén)面向?qū)ο缶幊陶Z(yǔ)言。Java的出現(xiàn)是為了解決如C、C+等語(yǔ)言所遇到一些問(wèn)題,如:不能跨平臺(tái)移植代碼、容易出現(xiàn)內(nèi)存泄漏等。除此以外,Ja

3、va還內(nèi)建了對(duì)網(wǎng)絡(luò)編程、數(shù)據(jù)庫(kù)連接、多線程等高級(jí)程序設(shè)計(jì)任務(wù)的支持,Java具有高質(zhì)量的編譯環(huán)境以及龐大的類(lèi)庫(kù)可供調(diào)用。并且Java語(yǔ)言一直都是開(kāi)源的,作者希望借著全球程序員的智慧共同推動(dòng)Java的發(fā)展,所以Java有許多相關(guān)的開(kāi)源框架可供開(kāi)發(fā)者選擇使用。Java具有下列幾個(gè)顯而易見(jiàn)的特點(diǎn):簡(jiǎn)單易用:Java語(yǔ)法比C/C+的語(yǔ)法更接近自然語(yǔ)言,這使得大多數(shù)程序員的學(xué)習(xí)和使用成本相對(duì)較低。另一方面,它摒棄了C+中容易引起錯(cuò)誤的指針、運(yùn)算符重載、多重繼承等特點(diǎn),對(duì)底層結(jié)構(gòu)進(jìn)行最大程度上的封裝。面向?qū)ο螅号cC+類(lèi)似,Java是一個(gè)純粹的面向?qū)ο笳Z(yǔ)言。并且Java丟棄了C+語(yǔ)法里讓人難以理解的多繼承,

4、取而代之的是接口實(shí)現(xiàn)。網(wǎng)絡(luò):現(xiàn)今的應(yīng)用系統(tǒng)很難避開(kāi)網(wǎng)絡(luò)操作,Java為網(wǎng)絡(luò)平臺(tái)的擴(kuò)展開(kāi)發(fā)了一個(gè)類(lèi)庫(kù),可供開(kāi)發(fā)者處理TCP/IP協(xié)議。該類(lèi)庫(kù)封裝了一些類(lèi)似打開(kāi)Socket連接這種繁重且底層的操作??梢浦残裕篔ava程序在運(yùn)行的時(shí)候,源文件會(huì)被編譯為字節(jié)碼文件,而這個(gè)字節(jié)碼文件相對(duì)系統(tǒng)平臺(tái)是獨(dú)立的,實(shí)現(xiàn)了Java“一次編寫(xiě),處處運(yùn)行”的目的。多線程:現(xiàn)今多線程已經(jīng)成為開(kāi)發(fā)應(yīng)用時(shí)提高性能必不可少的技術(shù)手段。Java對(duì)多線程提供了原生支持,可以通過(guò)實(shí)現(xiàn)Runnable接口或者繼承Thread類(lèi)兩種方式創(chuàng)建線程。Java語(yǔ)言同時(shí)為多線程運(yùn)行提供了同步機(jī)制。Java還遠(yuǎn)不止上述提到的優(yōu)點(diǎn)。這些優(yōu)點(diǎn)促進(jìn)了J

5、ava的快速發(fā)展,使得Java應(yīng)用程序開(kāi)發(fā)成本低廉,易于開(kāi)發(fā)、維護(hù)、擴(kuò)展。本系統(tǒng)后臺(tái)是基于Java語(yǔ)言實(shí)現(xiàn)的,具有很好的可拓展性和穩(wěn)定性,在后期的維護(hù)、應(yīng)用擴(kuò)展過(guò)程中優(yōu)勢(shì)更加明顯。三層模型模式概述三層模型是B/S架構(gòu)的一種常用系統(tǒng)分層模式,三層分別指的是表示層(User Interface,UI)、業(yè)務(wù)邏輯層(Business Logic Layer,BLL)、數(shù)據(jù)訪問(wèn)層(Data Access Layer,DAL)21。1、表示層:該層是用戶與系統(tǒng)交互的入口,也是用戶能接觸到的頁(yè)面部分,一般常用的表現(xiàn)形式為JSP或HTML頁(yè)面,主要用于呈現(xiàn)數(shù)據(jù)與用戶輸入數(shù)據(jù)的返回。2、業(yè)務(wù)邏輯層:是架構(gòu)的核

6、心層次,一般用來(lái)處理用戶在表示層發(fā)來(lái)的數(shù)據(jù)請(qǐng)求,通過(guò)調(diào)用數(shù)據(jù)庫(kù)邏輯對(duì)用戶數(shù)據(jù)進(jìn)行響應(yīng),并返回處理結(jié)果。3、數(shù)據(jù)訪問(wèn)層:一般也稱為數(shù)據(jù)持久層,該層次封裝了對(duì)底層數(shù)據(jù)庫(kù)的操作,如添加、刪除、查詢、修改等。主要為了屏蔽復(fù)雜的數(shù)據(jù)庫(kù)操作。在三層模型當(dāng)中,業(yè)務(wù)層通過(guò)訪問(wèn)數(shù)據(jù)持久層提供的接口來(lái)訪問(wèn)數(shù)據(jù)庫(kù),同樣,數(shù)據(jù)持久層則通過(guò)業(yè)務(wù)邏輯層提供的接口來(lái)調(diào)用業(yè)務(wù)邏輯層提供的方法。在界面上我們則通過(guò)對(duì)表示層的一系列操作來(lái)訪問(wèn)業(yè)務(wù)邏輯層。三層架構(gòu)之間通過(guò)派生類(lèi)去實(shí)現(xiàn)接口,進(jìn)而去調(diào)用派生類(lèi)的方法和屬性來(lái)達(dá)到三層之間相互協(xié)調(diào)工作的目的。MVC框架概述MVC23是一種WEB框架模式,是模型(Model)、視圖(View)

7、、控制器(Controller)的首字母縮寫(xiě)。MVC的提出是為了解決舊的應(yīng)用程序代碼混亂,前后臺(tái)代碼耦合度過(guò)高的問(wèn)題。它將業(yè)務(wù)邏輯、界面、數(shù)據(jù)按照層次架構(gòu)分離,以達(dá)到解耦的目的,為后期維護(hù)帶來(lái)了極大的方便,而且前后臺(tái)程序員可以同步開(kāi)發(fā),大大的提升了開(kāi)發(fā)效率。MVC的框架圖如圖2.2。圖2.2 MVC框架結(jié)構(gòu)圖模型(Model):包含了數(shù)據(jù)和業(yè)務(wù)邏輯的處理,如Java中的EJB(Enterprise Java Bean)。對(duì)數(shù)據(jù)起到封裝存儲(chǔ)和業(yè)務(wù)處理的作用。視圖(View):用于呈現(xiàn)數(shù)據(jù)給用戶,可以看成WEB應(yīng)用中的UI界面,如Java中的JSP??刂破鳎–ontroller):用戶與用戶交互,

8、接受用戶的請(qǐng)求,解析請(qǐng)求,并將請(qǐng)求轉(zhuǎn)發(fā)給后臺(tái)的處理程序。在Java的世界中,基于MVC框架模式開(kāi)發(fā)了很多流行的框架,如SSH和SpringMVC等。SSH框架SSH24是一個(gè)集成框架,由Struts、Spring、Hibernate集合而成,它的命名是由這三種框架名稱首字母縮寫(xiě)而得到。SSH自下而上共分為四層:域模塊層、數(shù)據(jù)持久化層、業(yè)務(wù)邏輯層、頁(yè)面表示層,將一個(gè)復(fù)雜的系統(tǒng)按照功能職責(zé)分層后,以實(shí)現(xiàn)前后臺(tái)開(kāi)發(fā)人員并行開(kāi)發(fā)的目的,提高開(kāi)發(fā)效率。Struts框架是SSH的基礎(chǔ)架構(gòu),基本實(shí)現(xiàn)了MVC模式的所有部分,提供了不同的組件對(duì)應(yīng)與MVC的每一塊。Spring框架的出現(xiàn)為大型應(yīng)用開(kāi)發(fā)提供了一種替代方案,解決了EJB中出現(xiàn)的大多數(shù)問(wèn)題。Spring使用JavaBean來(lái)完成EJB的工作,并提供了諸如控制反轉(zhuǎn)(Inversion of Control,Ioc)和面向切面(Aspect Oriented Programming,Aop)功能,大大簡(jiǎn)化了應(yīng)用程序的開(kāi)發(fā)配置和后期的維護(hù)工作。Hibernate框架是一個(gè)開(kāi)源的對(duì)象關(guān)系映射(Object Relational Mapping,ORM)框架。Hibernate是JDBC的輕質(zhì)封裝,以達(dá)到開(kāi)發(fā)人員使用對(duì)象的思想來(lái)操作數(shù)據(jù)庫(kù)的目的。它在封裝的基礎(chǔ)上還提供了強(qiáng)大的額外功能,如多級(jí)緩存,以完成數(shù)據(jù)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論