試談?dòng)胘ava實(shí)現(xiàn)三層體系結(jié)構(gòu)中用戶層與應(yīng)用層_第1頁(yè)
已閱讀1頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、試談?dòng)迷囌動(dòng)肑AVA實(shí)現(xiàn)三層體系結(jié)構(gòu)中用戶層與應(yīng)用層實(shí)現(xiàn)三層體系結(jié)構(gòu)中用戶層與應(yīng)用層摘要:近些年來應(yīng)用程序使用多層體系結(jié)構(gòu)來設(shè)計(jì)已經(jīng)越來越普遍。本文從使用JAVA的角度來論述了三層結(jié)構(gòu)中優(yōu)點(diǎn)和實(shí)現(xiàn)應(yīng)用服務(wù)器層和用戶層的方法和手段。關(guān)鍵字:三層體系結(jié)構(gòu),用戶層,應(yīng)用服務(wù)器層,一.三層結(jié)構(gòu)的簡(jiǎn)單描述及優(yōu)點(diǎn)三層結(jié)構(gòu)的簡(jiǎn)單描述及優(yōu)點(diǎn)三層體系結(jié)構(gòu),即用戶層、應(yīng)用層和數(shù)據(jù)庫(kù)服務(wù)器。用戶層主要指用戶界面,它要求盡可能的簡(jiǎn)單,使最終用戶不需要進(jìn)行任何培

2、訓(xùn)就能方便地訪問信息;第二層就是應(yīng)用服務(wù)器,也就是常說的中間件,所有的應(yīng)用系統(tǒng)、應(yīng)用邏輯、控制都在這一層,系統(tǒng)的復(fù)雜性也主要體現(xiàn)在應(yīng)用層;最后的數(shù)據(jù)庫(kù)服務(wù)器存儲(chǔ)大量的數(shù)據(jù)信息和數(shù)據(jù)邏輯,所有與數(shù)據(jù)有關(guān)的安全、完整性控制、數(shù)據(jù)的一致性、并發(fā)操作等都是在第三層完成。采用采用JAVA的三(的三(N)層結(jié)構(gòu)的優(yōu)點(diǎn))層結(jié)構(gòu)的優(yōu)點(diǎn)1能有效降低建設(shè)和維護(hù)成本,簡(jiǎn)化管理多層應(yīng)用結(jié)構(gòu)在各層次上的組件能單獨(dú)更新、替換或增加、拆除。因此,系統(tǒng)維護(hù)更方便,代價(jià)

3、相對(duì)低得多。而且,因各組件互相獨(dú)立,更換組件就好比更換組合音響的一個(gè)部件,對(duì)系統(tǒng)其它部分并無影響,所以更新維護(hù)更加安全可靠??蛻舳瞬捎檬菘蛻魴C(jī)。因?yàn)?,客戶機(jī)不必進(jìn)行大量的計(jì)算或數(shù)據(jù)處理,它的硬件配置就不需要太高。通過將業(yè)務(wù)邏輯集中到中間層,系統(tǒng)獲得了對(duì)業(yè)務(wù)邏輯的獨(dú)立性,即當(dāng)用戶的需求改變時(shí),開發(fā)人員可以迅速地在中間層(應(yīng)用服務(wù)器)上更新業(yè)務(wù)邏輯,而無需將更新后的應(yīng)用提交到眾多的PC終端系統(tǒng)上去,即客戶端無需任何改動(dòng)(改動(dòng)眾多的客戶端并不

4、是件輕松的事)。2適應(yīng)大規(guī)模和復(fù)雜的應(yīng)用需求如果說結(jié)構(gòu)化方法使軟件開發(fā)從一門手工藝術(shù)走向科學(xué)的工程方法,組件技術(shù)則使軟件工程從個(gè)體作坊走向大規(guī)模工業(yè)。雖然,結(jié)構(gòu)化方法對(duì)中小型系統(tǒng)開發(fā)能夠行之有效,但對(duì)大型系統(tǒng),結(jié)構(gòu)化分析的結(jié)果往往是錯(cuò)綜復(fù)雜的網(wǎng)狀結(jié)構(gòu),而不是結(jié)構(gòu)清晰的層次結(jié)構(gòu)。這也正是面向?qū)ο蠓椒▽W(xué)誕生的原因。組件技術(shù)能使復(fù)雜系統(tǒng)的設(shè)計(jì)變得簡(jiǎn)單可行,具有良好的伸縮性。三層或多層結(jié)構(gòu),可以將數(shù)據(jù)處理從客戶端轉(zhuǎn)移到應(yīng)用服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器上

5、。這樣,盡管客戶端與應(yīng)用服務(wù)器之間可能存在著多個(gè)甚至數(shù)百個(gè)的連接,但是應(yīng)用服務(wù)器與數(shù)據(jù)庫(kù)服務(wù)器之間的連接卻只有少數(shù)幾個(gè),從而達(dá)到減少通信線路上傳遞的數(shù)據(jù)量的目標(biāo)。這樣的功能分配提供了很強(qiáng)的系統(tǒng)可伸縮性,使得在用戶數(shù)量急劇增加時(shí)還能保持系統(tǒng)性能的穩(wěn)定。即使在用戶數(shù)量很大的情況下,數(shù)據(jù)庫(kù)仍能保持良好的工作負(fù)載,保持系統(tǒng)的快速的響應(yīng)速度。3可適應(yīng)不斷的變化和新的業(yè)務(wù)需求任何應(yīng)用系統(tǒng)實(shí)施的重點(diǎn)不在于需求確定以后能否實(shí)現(xiàn)這些需求,而是在系統(tǒng)實(shí)施后

6、如何適應(yīng)變化的需求。JAVA系統(tǒng)結(jié)構(gòu)和組件式系統(tǒng)的開發(fā)和維護(hù)過程中,技術(shù)人員可以按照新的需求,通過在不同系統(tǒng)層次上調(diào)度更新的組件或新加fail(e”Couldnotstartserver”)System.out.println(“Serverstarted………”)This.start()2實(shí)現(xiàn)監(jiān)聽客戶請(qǐng)求服務(wù)器的run()方法和實(shí)現(xiàn)Runnable接口的所有線程一樣擁有線程的指令。在這種情況下服務(wù)器進(jìn)入了個(gè)無限循環(huán)并監(jiān)聽客戶請(qǐng)求。當(dāng)服

7、務(wù)器安全連接到客戶機(jī)時(shí)ServerSocket類的accept()方法接收此連接。服務(wù)器為客戶機(jī)創(chuàng)建一個(gè)用戶定義的類Connection的對(duì)象將一個(gè)Socket對(duì)象傳入構(gòu)造函數(shù)。客戶機(jī)和服務(wù)器之間的通訊通過這個(gè)套接字發(fā)生。run()方法的代碼如下:Publicvoidrun()trywhile(ture)Socketclient=serverSocket.accept()Connectioncon=newConnection(clien

8、t)catch(IoExceptione)fail(e”Notlistening”)3啟動(dòng)服務(wù)器main()方法的代碼如下。它創(chuàng)建了一個(gè)啟動(dòng)線程的Server類的對(duì)象。Publicstaticvoidmain(Stringargs[])newServer()Connection線程以下代碼片段描述了Connection類.ClassConnectionextendsThreadprotectedSocketClientprotected

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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)論