什么是Web應(yīng)用程序_第1頁(yè)
什么是Web應(yīng)用程序_第2頁(yè)
什么是Web應(yīng)用程序_第3頁(yè)
什么是Web應(yīng)用程序_第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、什么是Web應(yīng)用程序?如果我們要談?wù)揥eb應(yīng)用程序以及如何開(kāi)發(fā)它們,那么我們就需要知道什么是Web應(yīng)用程序,以及是什么東西使得它們與我們創(chuàng)建的其他應(yīng)用程序不同。讓我們看看一些Web應(yīng)用程序的定義,以及這些定義的共同點(diǎn)。下面是從互聯(lián)網(wǎng)上得到的三個(gè)定義:定義一:一個(gè)Web應(yīng)用程序是作為單一實(shí)體管理的、邏輯上鏈接的Web頁(yè)面的集合。換句話說(shuō),一個(gè)網(wǎng)站,可以有多個(gè)來(lái)自不同客戶的Web應(yīng)用。定義二:一個(gè)Web應(yīng)用程序,是使用Internet技術(shù)開(kāi)發(fā)的,符合下面一項(xiàng)或者多項(xiàng)的應(yīng)用程序:(1)使用數(shù)據(jù)庫(kù)(如Oracle或者SQL Server);(2)使用一種應(yīng)用程序開(kāi)發(fā)工具開(kāi)發(fā)(如Oracle Inter

2、net Developer Suite或者M(jìn)icrosoft Visual Studio);(3)需要持續(xù)地運(yùn)行服務(wù)器過(guò)程(如新聞組和聊天室);(4)從數(shù)據(jù)輸入屏幕或者Web表單儲(chǔ)存輸入數(shù)據(jù)。定義三:在軟件工程中,一個(gè)Web應(yīng)用程序是一種經(jīng)由Internet或Intranet、以Web方式訪問(wèn)的應(yīng)用程序。它也是一個(gè)計(jì)算機(jī)軟件應(yīng)用程序,這個(gè)應(yīng)用程序用基于瀏覽器的語(yǔ)言(如HTML、ASP、PHP、Perl、Python等等)編碼,依賴(lài)于通用的Web瀏覽器來(lái)表現(xiàn)它的執(zhí)行結(jié)果。在我們看到這些定義時(shí),有幾點(diǎn)是比較突出的。首先,在Web應(yīng)用程序中有某種形式的瀏覽器或者GUI。其次,所有定義中都隱含或者明確

3、指出需要一臺(tái)服務(wù)器。最后,Web應(yīng)用程序不同于Internet應(yīng)用程序,Internet應(yīng)用程序增加了額外的技術(shù)和能力。Web應(yīng)用程序首先是“應(yīng)用程序”,和用標(biāo)準(zhǔn)的程序語(yǔ)言,如C、C+、C#等編寫(xiě)出來(lái)的程序沒(méi)有什么本質(zhì)上的不同。然而Web應(yīng)用程序又有自己獨(dú)特的地方,就是它是基于Web的,而不是采用傳統(tǒng)方法運(yùn)行的。換句話說(shuō),它是典型的瀏覽器服務(wù)器架構(gòu)的產(chǎn)物。瀏覽器服務(wù)器架構(gòu)(Browser/Server,簡(jiǎn)稱(chēng)B/S)能夠很好地應(yīng)用在廣域網(wǎng)上,成為越來(lái)越多的企業(yè)的選擇。瀏覽器服務(wù)器架構(gòu)相對(duì)于其他幾種應(yīng)用程序體系結(jié)構(gòu),有如下3方面的優(yōu)點(diǎn):(1)這種架構(gòu)采用Internet上標(biāo)準(zhǔn)的通信協(xié)議(通常是TC

4、P/IP協(xié)議)作為客戶機(jī)同服務(wù)器通信的協(xié)議。這樣可以使位于Internet任意位置的人都能夠正常訪問(wèn)服務(wù)器。對(duì)于服務(wù)器來(lái)說(shuō),通過(guò)相應(yīng)的Web服務(wù)和數(shù)據(jù)庫(kù)服務(wù)可以對(duì)數(shù)據(jù)進(jìn)行處理。對(duì)外采用標(biāo)準(zhǔn)的通信協(xié)議,以便共享數(shù)據(jù)。(2)在服務(wù)器上對(duì)數(shù)據(jù)進(jìn)行處理,并將處理的結(jié)果生成網(wǎng)頁(yè),以方便客戶端直接下載。(3)在客戶機(jī)上對(duì)數(shù)據(jù)的處理被進(jìn)一步簡(jiǎn)化,將瀏覽器作為客戶端的應(yīng)用程序,以實(shí)現(xiàn)對(duì)數(shù)據(jù)的顯示。不再需要為客戶端單獨(dú)編寫(xiě)和安裝其他類(lèi)型的應(yīng)用程序。這樣,在客戶端只需要安裝一套內(nèi)置瀏覽器的操作系統(tǒng),如Window XP或Windows 2000或直接安裝一套瀏覽器,就可以實(shí)現(xiàn)服務(wù)器上數(shù)據(jù)的訪問(wèn)。而瀏覽器是現(xiàn)在計(jì)算

5、機(jī)的標(biāo)準(zhǔn)設(shè)備。理解了什么是瀏覽器服務(wù)器架構(gòu),就了解了什么是Web應(yīng)用程序。常見(jiàn)的計(jì)數(shù)器、留言版、聊天室和論壇BBS等,都是Web應(yīng)用程序,不過(guò)這些應(yīng)用相對(duì)比較簡(jiǎn)單,而Web應(yīng)用程序的真正核心主要是對(duì)數(shù)據(jù)庫(kù)進(jìn)行處理,管理信息系統(tǒng)(Management Information System,簡(jiǎn)稱(chēng)MIS)就是這種架構(gòu)最典型的應(yīng)用。MIS可以應(yīng)用于局域網(wǎng),也可以應(yīng)用于廣域網(wǎng)。目前基于Internet的MIS系統(tǒng)以其成本低廉、維護(hù)簡(jiǎn)便、覆蓋范圍廣、功能易實(shí)現(xiàn)等諸多特性,得到越來(lái)越多的應(yīng)用。應(yīng)用程序有兩種模式C/S、B/S。C/S是客戶端/服務(wù)器端程序,也就是說(shuō)這類(lèi)程序一般獨(dú)立運(yùn)行。而B(niǎo)/S就是瀏覽器端/

6、服務(wù)器端應(yīng)用程序,這類(lèi)應(yīng)用程序一般借助IE等瀏覽器來(lái)運(yùn)行。WEB應(yīng)用程序一般是B/S模式。在本課程中,術(shù)語(yǔ)Web應(yīng)用程序或者Webapp,是指那些用戶界面駐留在Web瀏覽器中的任何應(yīng)用程序??梢詫⑵湎胂駷橐粋€(gè)連續(xù)統(tǒng)一體(如下圖所示)。這個(gè)統(tǒng)一體的一端是呈現(xiàn)靜態(tài)內(nèi)容的Web應(yīng)用程序。大多數(shù)Web網(wǎng)站都在此列(圖中未畫(huà)出)。而在另一端,則是行為類(lèi)似常規(guī)桌面應(yīng)用程序的Web應(yīng)用程序。Struts就是用來(lái)構(gòu)建位于這個(gè)統(tǒng)一體右半邊的Web應(yīng)用程序的框架。在我們談?wù)揥eb應(yīng)用程序時(shí),很多人會(huì)想到網(wǎng)站。但是一個(gè)應(yīng)用程序應(yīng)該是活動(dòng)的,并處理數(shù)據(jù)以提供信息。一個(gè)建立在網(wǎng)站之上的能夠幫助用戶的軟件才是Web應(yīng)用程

7、序。除非您在網(wǎng)站上面增加很多東西,否則一個(gè)網(wǎng)站本身并不是Web應(yīng)用程序。有些ISP允許您通過(guò)腳本增加交互處理過(guò)程,而有些則不允許。幾種典型的應(yīng)用程序模型應(yīng)用程序是什么,簡(jiǎn)單的來(lái)說(shuō),它是人類(lèi)客觀世界的問(wèn)題領(lǐng)域在計(jì)算機(jī)世界的解決方案。我們生活的客觀世界復(fù)雜多樣,計(jì)算機(jī)世界也是博大精深,怎樣從普遍的意義上來(lái)表述應(yīng)用程序是一個(gè)非常有用的課題。應(yīng)用程序的編程模型,也就是應(yīng)用程序的拓?fù)浣Y(jié)構(gòu),是一門(mén)關(guān)于應(yīng)用程序的科學(xué)。從事軟件設(shè)計(jì)、軟件開(kāi)發(fā)的人員,如果能夠就應(yīng)用程序的編程模型有足夠的重視,將受益匪淺。 引言簡(jiǎn)單介紹應(yīng)用程序編程模型的發(fā)展過(guò)程,以及我們常用的幾種應(yīng)用程序編程模型。通過(guò)對(duì)多個(gè)模型的表述加深人們對(duì)

8、編程模型的概念,為下面進(jìn)一步描述Web應(yīng)用模型打下基礎(chǔ)。1應(yīng)用程序的基本功能單元組成應(yīng)用程序的功能代碼及其資源,按照其在應(yīng)用程序中的功能,可以簡(jiǎn)單分解成為三個(gè)部分:用戶界面(User Interface),事務(wù)邏輯(Business Logic)和數(shù)據(jù)存取(Data Access)。應(yīng)用程序的基本功能單元如圖1所示。圖1 應(yīng)用程序功能分解2幾種典型的編程模型隨著計(jì)算機(jī)技術(shù)的發(fā)展和應(yīng)用的深入,應(yīng)用程序的編程模型在不斷的演化,先后出現(xiàn)了:?jiǎn)螌討?yīng)用模型(monolithic);兩層客戶/服務(wù)器應(yīng)用模型(two-tier client/server);多層應(yīng)用模型(multitier client/s

9、erver);分布式系統(tǒng);基于Web的多層應(yīng)用模型(web-based multitier client/server)。§ 單層應(yīng)用模型早期為大型機(jī)編寫(xiě)的應(yīng)用程序,沒(méi)有將應(yīng)用程序三個(gè)組成部分分開(kāi),即沒(méi)有將用戶界面、事務(wù)邏輯和數(shù)據(jù)存取分開(kāi)。這種體系結(jié)構(gòu)跟當(dāng)時(shí)的計(jì)算機(jī)水平和應(yīng)用狀況有一定的聯(lián)系,當(dāng)時(shí)的用戶通過(guò)啞終端來(lái)共享大型機(jī)資源,啞終端沒(méi)有任何處理能力,所有的用戶界面、事務(wù)邏輯和數(shù)據(jù)存取功能都是在大型機(jī)上實(shí)現(xiàn),這樣當(dāng)時(shí)使用單層體系結(jié)構(gòu)而沒(méi)有出現(xiàn)多層體系結(jié)構(gòu)是合理的。單層的應(yīng)用程序結(jié)構(gòu)見(jiàn)圖2所示。圖2 單層的應(yīng)用程序模型· 兩層客戶/服務(wù)器應(yīng)用模型PC機(jī)的出現(xiàn)對(duì)應(yīng)用程序模型的

10、發(fā)展帶來(lái)了巨大的推動(dòng)力,這時(shí)出現(xiàn)了客戶服務(wù)器模式的應(yīng)用程序,即應(yīng)用程序的代碼和資源被明確的劃分為客戶端和服務(wù)器端。因?yàn)镻C機(jī)有了一定的處理能力,傳統(tǒng)在大型機(jī)上實(shí)現(xiàn)的用戶界面和部分事務(wù)邏輯被移到PC機(jī)上運(yùn)行(我們將這種PC機(jī)端的代碼稱(chēng)為應(yīng)用程序客戶端),而大型機(jī)則提供部分事務(wù)邏輯處理和數(shù)據(jù)存取的功能(我們將這種大型機(jī)端的代碼稱(chēng)為應(yīng)用程序服務(wù)器端)。隨著PC機(jī)處理能力在逐漸加大,客戶端執(zhí)行的任務(wù)逐漸增多,這時(shí)對(duì)服務(wù)器端的硬件要求也在逐漸的降低。根據(jù)事務(wù)邏輯在客戶端和服務(wù)器端分配的不同,該種模型有圖3所示幾種形式。圖3 兩層客戶/服務(wù)器應(yīng)用模型的三種形式值得注意的是,客戶/服務(wù)器應(yīng)用程序常常體現(xiàn)為客

11、戶端和服務(wù)器端運(yùn)行在不同的計(jì)算機(jī)上,但這并不是必然的要求,在同一臺(tái)計(jì)算機(jī)上同樣可以實(shí)現(xiàn)客戶/服務(wù)器應(yīng)用程序。· 多層客戶服務(wù)器應(yīng)用模型兩層應(yīng)用程序模型的出現(xiàn)極大的增加了應(yīng)用程序的靈活性,同時(shí)也帶來(lái)應(yīng)用程序可維護(hù)性的提高。但是,在兩層應(yīng)用程序中仍然存在著不便維護(hù)的缺點(diǎn),客戶端的邏輯或是客戶端的嵌入SQL極有可能隨著數(shù)據(jù)庫(kù)的改變或是事務(wù)邏輯的變化而變化,不得不重新實(shí)現(xiàn)并發(fā)布一個(gè)新的客戶端,也就是說(shuō),這樣的應(yīng)用程序模型仍然是比較脆弱的。三層或是更多層應(yīng)用模型的出現(xiàn),解決了這樣的問(wèn)題。在三層的應(yīng)用程序模型中,事務(wù)邏輯與用戶界面和數(shù)據(jù)存取明顯的分離出來(lái),將客戶端的用戶界面與服務(wù)器端數(shù)據(jù)存取隔離

12、開(kāi)來(lái),極大的改善了應(yīng)用程序的可維護(hù)性。注意,雖然最常用的多層客戶/服務(wù)器模型是三層模型,但是,現(xiàn)在已經(jīng)出現(xiàn)了將事務(wù)邏輯層和數(shù)據(jù)存取層增加的趨勢(shì)。這種更多更細(xì)的分層不但提高了系統(tǒng)的維護(hù)性能,同時(shí)也增加了系統(tǒng)的重用性和與分布式系統(tǒng)概念融合的可能性。圖4所示為一個(gè)典型的三層模型。圖4 三層客戶/服務(wù)器應(yīng)用模型· 分布式系統(tǒng)在分層的客戶/服務(wù)器應(yīng)用模型中,下一層為上一層提供服務(wù),上一層調(diào)用下一層提供的服務(wù),這不利于功能的重用。為了最大限度的發(fā)揮系統(tǒng)的功能,分布式系統(tǒng)打破分層系統(tǒng)中對(duì)于客戶和服務(wù)器的定義,將應(yīng)用程序的代碼實(shí)現(xiàn)分解為遵循某個(gè)標(biāo)準(zhǔn)規(guī)范的對(duì)象,這些對(duì)象中提供的功能被封裝到接口中。在某

13、個(gè)具體的服務(wù)邏輯中,一個(gè)對(duì)象可能充當(dāng)客戶端的功能,它需要調(diào)用另一個(gè)對(duì)象提供服務(wù);但是,在另一個(gè)服務(wù)邏輯中,同一個(gè)對(duì)象可能為另一個(gè)對(duì)象提供服務(wù),充當(dāng)服務(wù)器的功能。常見(jiàn)的分布式對(duì)象規(guī)范有COM/DCOM、CORBA、Java RMI等。分布式系統(tǒng)模型如圖5所示。圖5 分布式系統(tǒng)模型· 基于Web的多層應(yīng)用模型WWW的發(fā)展,使得Internet的應(yīng)用不再局限于提供一些靜態(tài)的內(nèi)容、甚至也不滿足于提供一些簡(jiǎn)單的動(dòng)態(tài)內(nèi)容。傳統(tǒng)以獨(dú)立的軟件包形式發(fā)布的一些應(yīng)用程序,正逐漸被搬上Internet,以出租服務(wù)的方式提供給用戶,這就是ASP(Application Service Provider)。由于Web的特點(diǎn)是Internet上的HTTP,是一種請(qǐng)求應(yīng)答式的無(wú)連

溫馨提示

  • 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)論