【文章內(nèi)容簡(jiǎn)介】
eb瀏覽器在表示層中包含系統(tǒng)的顯示邏輯,位于客戶端。它的任務(wù)是由Web瀏覽器向網(wǎng)上的Web服務(wù)器發(fā)出服務(wù)請(qǐng)求,Web服務(wù)器對(duì)用戶身份驗(yàn)證后,用HTTP協(xié)議把所需的協(xié)議傳給客戶端,客戶機(jī)接受傳來(lái)的主頁(yè)文件,并把它顯示在瀏覽器上。(2) 第二層功能層:Web服務(wù)器在功能層中包含系統(tǒng)的事務(wù)處理邏輯,位于Web服務(wù)器端。它的任務(wù)是接受用戶的請(qǐng)求,首先執(zhí)行擴(kuò)展的應(yīng)用程序并與數(shù)據(jù)庫(kù)進(jìn)行連接,通過(guò)SQL方式向數(shù)據(jù)庫(kù)服務(wù)器提出數(shù)據(jù)處理申請(qǐng),而后等待數(shù)據(jù)庫(kù)服務(wù)器將數(shù)據(jù)處理的結(jié)果提交給Web服務(wù)器,再由Web服務(wù)器將結(jié)果傳回給客戶端。(3) 第三層數(shù)據(jù)層:數(shù)據(jù)庫(kù)服務(wù)器在數(shù)據(jù)層中包含系統(tǒng)的數(shù)據(jù)處理邏輯,位于數(shù)據(jù)庫(kù)服務(wù)器端。它的任務(wù)是接受Web服務(wù)器向數(shù)據(jù)庫(kù)操作的請(qǐng)求,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)查詢、修改、更新等功能,把運(yùn)行結(jié)果提交給Web服務(wù)器。這種結(jié)構(gòu)不僅把客戶機(jī)從沉重的負(fù)擔(dān)和不斷對(duì)其提高的性能的要求中解放出來(lái),也把技術(shù)維護(hù)人員從繁重的維護(hù)升級(jí)工作中解脫出來(lái)。由于客戶機(jī)把事務(wù)處理邏輯部分交給了Web服務(wù)器,使客戶機(jī)一下子“苗條”了很多,不再負(fù)責(zé)處理復(fù)雜計(jì)算及數(shù)據(jù)訪問(wèn)等關(guān)鍵事務(wù),只負(fù)責(zé)顯示部分,所以維護(hù)人員不再為程序的維護(hù)工作奔波于每個(gè)客戶機(jī)之間,而把主要精力放在Web服務(wù)器上的程序的更新工作中。這種三層結(jié)構(gòu)的層與層相互獨(dú)立,任何一層的改變不影響其它層的功能,它從根本上改變了傳統(tǒng)的兩層C/S結(jié)構(gòu)的缺陷,它是應(yīng)用系統(tǒng)體系結(jié)構(gòu)中的一次深刻變革。 B/S三層體系結(jié)構(gòu)Fig. B/S threetier architecture 隨著網(wǎng)絡(luò)經(jīng)濟(jì)的到來(lái)。其思想是將互聯(lián)網(wǎng)本身作為構(gòu)建新一代操作系統(tǒng)的基礎(chǔ),對(duì)互聯(lián)網(wǎng)和操作系統(tǒng)的設(shè)計(jì)進(jìn)行合理延伸,從而使自己不僅僅是平臺(tái)和產(chǎn)品的開(kāi)發(fā)者,并且還將作為架構(gòu)服務(wù)提供商、應(yīng)用程序提供商,為廣大用戶提供全方位的Internet服務(wù)。 ,是Microsoft公司推出的新一代Active Server ,是建立在公共語(yǔ)言運(yùn)行庫(kù)上的編程框架,使用它可在服務(wù)器上生成功能強(qiáng)大的Web應(yīng)用程序,與過(guò)去的Web開(kāi)發(fā)模型相比,[25]:(1) 增強(qiáng)性:與ASP不同的是,還可利用早期綁定、實(shí)時(shí)編譯、本機(jī)優(yōu)化等,這相當(dāng)于在編寫(xiě)程序之前就顯著提高了性能,大大地提高了程序的執(zhí)行效率。另外,它使開(kāi)發(fā)人員可以在適當(dāng)?shù)募?jí)別“插入”用戶代碼,還補(bǔ)充了Visual Studio集成環(huán)境中的大量工具箱和設(shè)計(jì)器,在自定義性和擴(kuò)展性方面得到了增強(qiáng)。(2) 靈活性:,.NET框架類(lèi)庫(kù)、消息處理和數(shù)據(jù)庫(kù)訪問(wèn)解決方案都可從Web無(wú)縫訪問(wèn)。,所以可以選擇最適合的應(yīng)用程序語(yǔ)言,或跨平臺(tái)多種語(yǔ)言分割應(yīng)用。另外,因此,Web應(yīng)用程序開(kāi)發(fā)人員可以利用整個(gè)平臺(tái)的威力和靈活性。(3) 簡(jiǎn)易性:,從簡(jiǎn)單的窗體提交和客戶端身份驗(yàn)證到站點(diǎn)的部署和配置。例如:,和在類(lèi)似Visual Basic的簡(jiǎn)單窗體處理模型中處理事件。另外,公共語(yǔ)言運(yùn)行庫(kù)(CLR)利用托管代碼服務(wù)(如自動(dòng)引用計(jì)數(shù)和垃圾回收)簡(jiǎn)化了開(kāi)發(fā)。(4) 可管理性:,簡(jiǎn)化了將設(shè)置應(yīng)用于服務(wù)器環(huán)境和Web應(yīng)用。由于配置信息是以純文本形式存儲(chǔ)的,因此可以在沒(méi)有本地管理工具幫助的情況下應(yīng)用新設(shè)置。此“零本地管理”,只須將必要的文件復(fù)制到服務(wù)器,即使是在部署或替換運(yùn)行的編譯代碼時(shí),也不需要重新啟動(dòng)服務(wù)器。(5) 可縮放性和重用性:,增加了專(zhuān)門(mén)用于在聚集環(huán)境和多處理器環(huán)境中提高性能的功能。另外,以便當(dāng)進(jìn)程行為不正常(泄漏、或死鎖)時(shí),可就地創(chuàng)建新進(jìn)程,以幫助保持應(yīng)用程序始終可用于處理請(qǐng)求。(6) 安全性:借助內(nèi)置的Windows身份驗(yàn)證和基于每個(gè)應(yīng)用配置,可以保持應(yīng)用程序是安全的。另外,全面使用了XML配置文件,只需要執(zhí)行復(fù)制文件的工作就能配置一個(gè)Web應(yīng)用程序。另外, Server/Advanced Server的完美組合,為中小型乃到企業(yè)級(jí)的Web商業(yè)模型提供了更為穩(wěn)定、高效、安全的運(yùn)行環(huán)境。 (1) 事件驅(qū)動(dòng):,并充分支持事件驅(qū)動(dòng)機(jī)制,不必考慮如何將服務(wù)器端的信息回送瀏覽器,當(dāng)然,服務(wù)器端程序可以“直接”讀取位于瀏覽器端的信息,程序設(shè)計(jì)人員也不必再為將瀏覽器的信息發(fā)送給服務(wù)器而大費(fèi)周折了。(2) 代碼隱藏(Code Behind)技術(shù): Behind技術(shù),通過(guò)使用Code Behind技術(shù)、用戶控件、自定義控件和組件等方法,可以很好地將程序的執(zhí)行代碼和邏輯代碼分開(kāi),兩者互不影響,從面實(shí)現(xiàn)了結(jié)構(gòu)化的Web頁(yè)面設(shè)計(jì)。 Behind技術(shù)編寫(xiě)程序代碼,雖然文件數(shù)和每個(gè)文件的代碼數(shù)有所增多,但是需要程序設(shè)計(jì)人員做的工作卻大大減少了,而且更方便多個(gè)程序設(shè)計(jì)人員分工合作。(3) 數(shù)據(jù)綁定(Data Binding)技術(shù):在開(kāi)發(fā)Web應(yīng)用程序中,是否能簡(jiǎn)單、靈活的方式將后臺(tái)數(shù)據(jù)顯示在Web頁(yè)面上,數(shù)據(jù)存取技術(shù)是一項(xiàng)很重要的功能,它決定了程序設(shè)計(jì)人員如何解決數(shù)據(jù)源和頁(yè)面控制項(xiàng)之間的通信問(wèn)題。雖然數(shù)據(jù)綁定技術(shù)在ASP中就有過(guò),一些新的聲明性數(shù)據(jù)綁定性語(yǔ)法允許程序設(shè)計(jì)人員不僅可以綁定到數(shù)據(jù)源,而且可以綁定到簡(jiǎn)單屬性、集合、表達(dá)式或從方法調(diào)用所返回的結(jié)果中。(4) 數(shù)據(jù)訪問(wèn)技術(shù)::無(wú)論是以簡(jiǎn)單文件、相關(guān)數(shù)據(jù)庫(kù),還是以其他的存儲(chǔ)類(lèi)型存在,幾乎所有的網(wǎng)絡(luò)服務(wù)都需要更永久性數(shù)據(jù)。為了更好地提供對(duì)數(shù)據(jù)的訪問(wèn), Data Object+()類(lèi)庫(kù)。,為連接的指針風(fēng)格的數(shù)據(jù)訪問(wèn),同時(shí)也為更適合于把數(shù)據(jù)返回到客戶端應(yīng)用程序的無(wú)連接的數(shù)據(jù)模板提供高性能的APIS流。目的是為基于網(wǎng)絡(luò)的可擴(kuò)展的應(yīng)用程序和服務(wù)器提供數(shù)據(jù)訪問(wèn)服務(wù)。此項(xiàng)技術(shù)是專(zhuān)門(mén)為Web設(shè)計(jì)的,并且考慮了可伸縮性、無(wú)狀態(tài)性和XML的設(shè)計(jì)問(wèn)題。(5) 面向?qū)ο筇匦裕?,與ASP有所不同,采用了“面向?qū)ο蟆钡臋C(jī)制,并引入了面向?qū)ο蟮膶傩?、事件和方法的新特性,促進(jìn)了組件共享。(6) 多語(yǔ)言支持:ASP屬于一種解釋型的編程框架,它的核心是VBScript和Jscript,由于受這兩種腳本語(yǔ)言的限制,它無(wú)法像傳統(tǒng)編程語(yǔ)言那樣進(jìn)行底層的操作,如果要進(jìn)行一些諸如Socket、文件等操作時(shí)不得不借助于C++、VB、JAVA等編寫(xiě)的組件,并且由于它是解釋執(zhí)行的,所以運(yùn)行效率較低。,它的核心是NGWS runtime,除了和ASP一樣可以采用VBScript和Jscript作為編程語(yǔ)言外,還可以用VB和C來(lái)編寫(xiě),這就決定了它的功能強(qiáng)大,可以進(jìn)行低層操作而不必借助于其他編程語(yǔ)言的優(yōu)勢(shì)。(7) 大型站點(diǎn)應(yīng)用:.NET框架使用符合企業(yè)標(biāo)準(zhǔn)的協(xié)議和各種通信方式,使得在分布式計(jì)算中更加安全可靠,更加適合企業(yè)級(jí)的大型站點(diǎn)應(yīng)用。 ,這就必需對(duì)系統(tǒng)的硬件和軟件環(huán)境進(jìn)行一定的配置[26]。 軟件環(huán)境的要求和配置(1) 操作系統(tǒng):Window:2000系列/Windows XP Professional/ Windows Server 2003。(2) 瀏覽器:。(3) Web服務(wù)器:。IIS(Internet Information Services,即Internet信息服務(wù)器)。在安裝Windows 2000 Server與Windows2003時(shí),但若是安裝Windows2000 Professional與Windows XP Professional,則默認(rèn)時(shí)并不會(huì)安裝IIS,需要單獨(dú)進(jìn)行安裝。(4) 集成開(kāi)發(fā)工具:Visual 2005。Visual ,它提供了控件拖放、自動(dòng)調(diào)試、語(yǔ)法自動(dòng)檢測(cè)等功能,能夠快速地設(shè)計(jì)、開(kāi)發(fā)、從而大大提高程序開(kāi)發(fā)的工作效率。(5) 數(shù)據(jù)庫(kù)服務(wù)器SQL Server或Access。對(duì)于一些較復(fù)雜的數(shù)據(jù)庫(kù)應(yīng)用,一般應(yīng)安裝SQL Server2000或SQL Server2005。由于安裝Visual Studio .NET需要較大的硬盤(pán)空間,對(duì)計(jì)算機(jī)的配置要求也比較高,用戶也可以不安裝Visual ,而是通過(guò)單獨(dú)安裝“Microsoft Net Framework ”, Framework開(kāi)發(fā)的應(yīng)用程序時(shí)所需要的一切組件。該軟件可從Visual Studio .NET2005的“系統(tǒng)必備光盤(pán)”中找到,也可從微軟的官方網(wǎng)站下載安裝。 Server數(shù)據(jù)庫(kù)應(yīng)用程序。如果操作系統(tǒng)為Windows XP。如果操作系統(tǒng)是Windows 2000,則需要自行到微軟官方網(wǎng)站下載安裝MDAC。 硬件要求對(duì)于程序開(kāi)發(fā)來(lái)說(shuō),計(jì)算機(jī)的硬件配置越高越好,可以減少很多等待時(shí)間。影響開(kāi)發(fā)效率的計(jì)算機(jī)硬件指標(biāo)主要有CPU速度、內(nèi)存大小和硬盤(pán)空間。在這里僅介紹安裝Visual 2005時(shí)對(duì)系統(tǒng)硬件的要求:(1) CPU:Intel Pentium IIclass 450MHZ(最好為600MHZ以上)。(2) 內(nèi)存:操作系統(tǒng)為Windows 2000 Professional時(shí),最少為96MB。操作系統(tǒng)為Windows2000 Server時(shí),最少為192MB。操作系統(tǒng)為Windows Server 2003或Windows XP Professional時(shí),最少為160MB。(3) 硬盤(pán):系統(tǒng)驅(qū)動(dòng)器上需要900MB的可用空間,可選的MSDN 。(4) 顯示:1024*768分辨率以上,顏色設(shè)置為256色。(5) 驅(qū)動(dòng)器:CD版需要CDROM驅(qū)動(dòng)器或DVDROM驅(qū)動(dòng)器。DVD版需要DVDROM驅(qū)動(dòng)器。 SQL Server2000數(shù)據(jù)庫(kù)管理系統(tǒng) SQL Server 2000的特點(diǎn)SQL Server 2000[27]是微軟開(kāi)發(fā)的、被設(shè)計(jì)用來(lái)滿足大型的數(shù)據(jù)處理系統(tǒng)和商業(yè)網(wǎng)站的存儲(chǔ)需求,并滿足個(gè)人和小型企業(yè)對(duì)易用性要求的數(shù)據(jù)庫(kù)管理系統(tǒng)軟件。作為當(dāng)前應(yīng)用及其廣泛的數(shù)據(jù)庫(kù)管理系統(tǒng)軟件,SQL Server 2000可以完成以下主要功能:(1) SQL Server 2000關(guān)系數(shù)據(jù)庫(kù)引擎是一種RDBMS,它管理數(shù)據(jù)并將其存儲(chǔ)在關(guān)系型表格中。每張表格代表了值得關(guān)注的對(duì)象,例如課程、學(xué)生或者試題等。每張表格所描述的對(duì)象的各個(gè)屬性在該表格的各個(gè)列中列出。每張表格所描述的對(duì)象類(lèi)型依次在該表格的各行中列出。當(dāng)某個(gè)應(yīng)用程序發(fā)出請(qǐng)求時(shí),該關(guān)系數(shù)據(jù)庫(kù)引擎就會(huì)在這些表格之間建立關(guān)聯(lián)。這種關(guān)系數(shù)據(jù)庫(kù)引擎主要的任務(wù)是維護(hù)數(shù)據(jù)的安全性、提供容錯(cuò)、動(dòng)態(tài)優(yōu)化性能、利用鎖功能提供并行性,并確保數(shù)據(jù)的可靠性。(2) SQL Server 2000 Analysis Service提供了分析SQL Server 2000上的數(shù)據(jù)倉(cāng)庫(kù)和數(shù)據(jù)集中數(shù)據(jù)的工具。在實(shí)際的應(yīng)用中,某些分析過(guò)程可能將花費(fèi)很長(zhǎng)時(shí)間才能完成,但SQL Server 2000可以周期性地從OLTP系統(tǒng)中匯總數(shù)據(jù),并將其存放在事實(shí)和維度表中SQL Server 2000 Analysis Service從這些事實(shí)和維度表中得出數(shù)據(jù),作為多維數(shù)據(jù)集,可被用來(lái)分析趨勢(shì)和其他對(duì)制定周密的商業(yè)決策非常重要的信息。在SQL Server 2000 Analysis Service多維數(shù)據(jù)集中處理分析查詢比對(duì)OLTP數(shù)據(jù)庫(kù)中的詳細(xì)數(shù)據(jù)執(zhí)行相同的查詢要快速得多。(3) 靈活多樣的應(yīng)用程序支持。應(yīng)用程序開(kāi)發(fā)人員編寫(xiě)出多種不同方式訪問(wèn)SQL Server 2000 的客戶端應(yīng)用程序。一個(gè)客戶端應(yīng)用程序可以提交結(jié)構(gòu)化查詢語(yǔ)言(SQL)語(yǔ)句給關(guān)系數(shù)據(jù)庫(kù)引擎,關(guān)系數(shù)據(jù)庫(kù)引擎將結(jié)果以表格形式的結(jié)果集返回給該客戶端應(yīng)用程序,SQL Server 2000支持的專(zhuān)門(mén)的TSQL,TSQL支持SQL92 ANSI標(biāo)準(zhǔn)的入口級(jí)別。它還支持很多自定義擴(kuò)展,以及SQL92 ANSI標(biāo)準(zhǔn)的中等和完全級(jí)別的某些特征??蛻舳藨?yīng)用可以使用通用的Windows數(shù)據(jù)訪問(wèn)接口,也可以使用HTTP協(xié)議發(fā)送TSQL語(yǔ)句或Xpath查詢給關(guān)系數(shù)據(jù)庫(kù)引擎,還可以使用ADO或OLE DB的多維擴(kuò)展將多維表達(dá)式 (MDX)查詢發(fā)送給SQL Server 2000 Analysis Service的多維數(shù)據(jù)集,用于決策支持查詢。(4) SQL Server 2000的數(shù)據(jù)轉(zhuǎn)換服務(wù)(DTS)允許用戶從某個(gè)數(shù)據(jù)源中獲取數(shù)據(jù),對(duì)數(shù)據(jù)執(zhí)行簡(jiǎn)單或復(fù)雜的轉(zhuǎn)換,然后將其存儲(chǔ)在另一個(gè)數(shù)據(jù)源中。DTS可與所有能使用DB訪問(wèn)的數(shù)據(jù)源一起工作,包括SQL SERVER、QRACLE、INFOMIX、DBACCESS數(shù)據(jù)庫(kù)、Excel電子表格,以及SQL Server 2000多維數(shù)據(jù)集。通過(guò)DTS可以簡(jiǎn)化建立和維護(hù)數(shù)據(jù)倉(cāng)庫(kù)的過(guò)程,并使其自動(dòng)進(jìn)行。(5) SQL Server 2000的復(fù)制服務(wù)可以使得個(gè)人或工作組能夠方便地獲取數(shù)據(jù),從而提高他們的效率和自主能力。使用SQL Server 2000的復(fù)制服務(wù)還可以將數(shù)據(jù)復(fù)制到數(shù)據(jù)倉(cāng)庫(kù),在所有支持OLE DB訪問(wèn)的數(shù)據(jù)源之間來(lái)回復(fù)制數(shù)據(jù)。(6) SQL Server 2000自然語(yǔ)言查詢提供了一個(gè)開(kāi)發(fā)客戶端應(yīng)用程序的系統(tǒng),允許終端用戶用自然語(yǔ)言提出問(wèn)題,而不是用TSQL語(yǔ)句或Xpath查詢形成的查詢。自然語(yǔ)言查詢可以用來(lái)訪問(wèn)OLTP數(shù)據(jù)庫(kù)或SQL Server 2000 Analysis Service多維數(shù)據(jù)集的數(shù)據(jù)。(7) SQL Server 2000的元數(shù)據(jù)服務(wù)(Meta Data Services)允許對(duì)有關(guān)數(shù)據(jù)庫(kù)和客戶端應(yīng)用程序的元數(shù)據(jù)進(jìn)行存儲(chǔ)和管理服務(wù)。SQL Server 2000、SQL Server 2000 Analysis Service、SQL Server 2000 English Query以及Microsoft Visual Studio都使用元數(shù)據(jù)服務(wù)存儲(chǔ)元數(shù)據(jù),與其他工具交換元數(shù)據(jù),給支持元數(shù)據(jù)創(chuàng)建的工具增加版本管理能力。SQL Server 2000在建立中大規(guī)模的數(shù)據(jù)庫(kù)系統(tǒng)時(shí),完全能滿足存儲(chǔ)、加工和組織數(shù)據(jù)的要求。作為一個(gè)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),它有多種可用的版本,以滿足不同的用戶和環(huán)境的需要,它緊密地集成了Windows 2000及Windows NT,充分吸納了它們的能力并提供了額外的安全性能,優(yōu)化了SQL Server 2000的性能。 SQL Server 2000安全體系結(jié)構(gòu)就目前而言,絕大多數(shù)DBMS應(yīng)用程序都還是運(yùn)行在某一特定的操作系統(tǒng)平臺(tái)下的應(yīng)用程序,SQL Server也不例外,SQL Server的安全體系結(jié)構(gòu)[28]可以劃分為4個(gè)等級(jí)。