計(jì)算機(jī)專業(yè)畢業(yè)論文--基于bs 體系架構(gòu)應(yīng)用系統(tǒng)研發(fā)_第1頁(yè)
已閱讀1頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  本科畢業(yè)論文(設(shè)計(jì))</p><p>  題 目: 基于B/S 體系架構(gòu)應(yīng)用系統(tǒng)研發(fā) </p><p>  專 業(yè): 計(jì)算機(jī)及應(yīng)用 </p><p>  姓 名: </p><p>  準(zhǔn)考證號(hào)

2、: </p><p>  指導(dǎo)教師: </p><p>  教師職稱: </p><p><b>  摘 要</b></p><p>  針對(duì)目前客戶服務(wù)器兩層結(jié)構(gòu)存在靈活性差、升級(jí)困難

3、、維護(hù)工作量大等缺陷,已較難適應(yīng)當(dāng)前信息技術(shù)與網(wǎng)絡(luò)技術(shù)發(fā)展的需要。隨著WEB技術(shù)的日益成熟,Browse/Server(簡(jiǎn)稱B/S)結(jié)構(gòu)已成為取代Browser/Server(簡(jiǎn)稱C/S)結(jié)構(gòu)的一種全新技術(shù)。本文介紹了com組件以及ActiveX技術(shù),對(duì)目前的c/s與b/s兩種系統(tǒng)研發(fā)的體系架構(gòu)進(jìn)行了詳細(xì)的分析比較,并且分析了Browser/Server體系結(jié)構(gòu)開(kāi)發(fā)應(yīng)用軟件的特點(diǎn)和不足。提出了克服該不足的一種方法。在本文的最后部分對(duì)某學(xué)

4、校學(xué)生管理系統(tǒng)為例,來(lái)充分說(shuō)明B/S結(jié)構(gòu)軟件的設(shè)計(jì)方法,該系統(tǒng)采用B/S體系結(jié)構(gòu)與COM+技術(shù)相結(jié)合。使系統(tǒng)的研發(fā)做到完美的結(jié)合。</p><p>  關(guān)鍵詞: WEB ,COM ,應(yīng)用軟件,服務(wù)器</p><p><b>  Ⅰ</b></p><p><b>  Abstract</b></p><

5、;p>  For the current two-tier client-server structure exists inflexible and difficult to upgrade, maintenance workload and other defects, has been more difficult to adapt to the current information technology and netw

6、ork technology development. With the increasing maturity of WEB technology, Browse/Server (referred to as the B/ S) structure has been replaced Browser /Server (referred to as the C/S) structure of a new technology. Com

7、This article describes the components and ActiveX technology, the cu</p><p>  Key words: WEB, COM, application software, servers</p><p><b>  Ⅱ</b></p><p><b>  目 錄

8、</b></p><p>  摘要 ____________________________________________Ⅰ </p><p>  Abstract_________________________________________Ⅱ</p><p>  前言______________________________(dá)_____1

9、</p><p>  第二章 COM組件技術(shù)和ActiveX技術(shù)________2</p><p>  第一節(jié) COM和ActiveX的概述________2</p><p>  第二節(jié) COM和ActiveX的區(qū)別和聯(lián)系_____3</p><p>  第三章 基于B/S架構(gòu)系統(tǒng)研發(fā)___________5</p><

10、;p>  第一節(jié) B/S三層體系結(jié)構(gòu)和C-S模式的特征___5</p><p>  一、B/S三層體系結(jié)構(gòu)————————5</p><p>  二、C/S模式的特征—————————5</p><p>  三、B/S體系的優(yōu)勢(shì)—————————6</p><p>  第二節(jié) C-S與B-S體系結(jié)構(gòu)的功能_______7</p&g

11、t;<p>  第三節(jié) B/S三層體系結(jié)構(gòu)的不足_______8</p><p>  第四章 基于B/S架構(gòu)系統(tǒng)研發(fā)實(shí)例應(yīng)用_______9</p><p>  第一節(jié) COM組件技術(shù)應(yīng)用___________9</p><p>  第二節(jié) ActiveX技術(shù)應(yīng)用__________11</p><p>  致謝_______

12、_____________________________________13</p><p>  參考文獻(xiàn)________________________________________14</p><p><b> ?、?lt;/b></p><p><b>  第一章 前言</b></p><p>

13、;  由于客戶服務(wù)器兩層結(jié)構(gòu)存在靈活性差、升級(jí)困難、維護(hù)工作量大等缺陷,已較難適應(yīng)當(dāng)前信息技術(shù)與網(wǎng)絡(luò)技術(shù)發(fā)展的需要。隨著WEB技術(shù)的日益成熟,Browse/Server(簡(jiǎn)稱B/S)結(jié)構(gòu)已成為取代Browser/Server(簡(jiǎn)稱C/S)結(jié)構(gòu)的一種全新技術(shù)。采用該結(jié)構(gòu)軟件的優(yōu)勢(shì)在于:(1)無(wú)須開(kāi)發(fā)客戶端軟件,維護(hù)和升級(jí)方便;(2)可跨平臺(tái)操作,任何一臺(tái)機(jī)器只要裝有WWW瀏覽器軟件,均可作為客戶機(jī)來(lái)訪問(wèn)系統(tǒng);(3)具有良好的開(kāi)放性和可擴(kuò)充

14、性;(4)可采用防火墻技術(shù)來(lái)保證系統(tǒng)的安全性,有效地適應(yīng)了當(dāng)前用戶對(duì)管理信息系統(tǒng)的新需求。因此該結(jié)構(gòu)在管理信息系統(tǒng)開(kāi)發(fā)領(lǐng)域中獲得飛速發(fā)展,成為應(yīng)用軟件研制中一種流行的體系結(jié)構(gòu)。</p><p>  本文在對(duì)B/S體系結(jié)構(gòu)分析的基礎(chǔ)上,提出了一種新的體系結(jié)構(gòu),把B/S與C/S相結(jié)合,將組件技術(shù)和ActiveX技術(shù)分別應(yīng)用在服務(wù)器端和客戶端,開(kāi)發(fā)高效、安全的應(yīng)用系統(tǒng)。最后給出了一個(gè)應(yīng)用實(shí)例。</p>&

15、lt;p><b>  1</b></p><p>  第二章 COM組件技術(shù)和ActiveX技術(shù)</p><p>  第一節(jié)COM和ActiveX的概述</p><p>  COM是一種技術(shù)標(biāo)準(zhǔn)。它是由微軟公司創(chuàng)建,提供了使多個(gè)應(yīng)用程序或組件對(duì)象協(xié)同工作并相互通信的能力。COM組件是遵循COM規(guī)范編寫(xiě)、以WIN32動(dòng)態(tài)鏈接庫(kù)(DLL)或

16、可執(zhí)行文件(EXE)的形式發(fā)布的可執(zhí)行的二進(jìn)制代碼。遵循COM的規(guī)范標(biāo)準(zhǔn),使組件與應(yīng)用、組件與組件之間可以相互操作,極其方便地建立可伸縮的應(yīng)用系統(tǒng)。從工程的角度看,組件在應(yīng)用開(kāi)發(fā)方面具有以下特點(diǎn):</p><p>  (1) 組件與開(kāi)發(fā)的工具語(yǔ)言無(wú)關(guān)。開(kāi)發(fā)人員可以根據(jù)需要和愛(ài)好選擇特定語(yǔ)言工具實(shí)現(xiàn)組件的開(kāi)發(fā)。常用的開(kāi)發(fā)工具是VB、VC和Delphi。將組件編譯成DLL或EXE置于服務(wù)器端??捎行ПWo(hù)商業(yè)秘密。&l

17、t;/p><p>  (2) 通過(guò)接口有效保證了組件的復(fù)用性。一個(gè)組件具有若干個(gè)接口,每個(gè)接口代表組件的某個(gè)屬性或方法。其它組件或應(yīng)用程序可以設(shè)置或調(diào)用這些屬性和方法來(lái)進(jìn)行特定的邏輯處理。組件和應(yīng)用程序的連接是通過(guò)其接口實(shí)現(xiàn)的。負(fù)責(zé)集成的開(kāi)發(fā)人員無(wú)須了解組件功能的如何實(shí)現(xiàn),而只須創(chuàng)建組件對(duì)象與其接口建立連接。在保證接口一致性的前提下,可以調(diào)換組件、更新版本,也可以將組件應(yīng)用在不同的系統(tǒng)中。</p>&l

18、t;p>  (3) 組件運(yùn)行效率高、便于使用和管理。因?yàn)榻M件是二進(jìn)制代碼,比ASP腳本運(yùn)行效率高,所以核心的商務(wù)邏輯計(jì)算任務(wù)必須由組件來(lái)負(fù)責(zé),ASP腳本只起組裝組件的角色。而且組件在網(wǎng)絡(luò)上的位置可被透明地分配,組件和使用它的程序既能在同一進(jìn)程中運(yùn)行,也可在不同進(jìn)程或不同的機(jī)器上運(yùn)行。組件之間是相互分離和獨(dú)立的。利用MTS或COM+對(duì)組件管理更加方便。</p><p>  ActiveX是遵循COM/DCOM

19、規(guī)程而開(kāi)發(fā)的用于INTERNET的一種對(duì)象鏈接與嵌入技術(shù)(OLE)。COM是應(yīng)OLE設(shè)計(jì)者的需求而誕生的。其基本的出發(fā)點(diǎn)是想讓某個(gè)軟件通過(guò)一個(gè)通用的機(jī)構(gòu)為另一個(gè)軟件提供服務(wù)。對(duì)于基于WEB的應(yīng)用而言,它提供了使組件嵌入到WEB頁(yè)面以擴(kuò)展交互功能的應(yīng)用機(jī)制??蛻舳丝丶敲嫦蛴脩舻模钥梢暬膱D形視頻或文字界面、或者音頻形式在瀏覽器上出現(xiàn)。但它可能并不是瀏覽器的組成部分。這些控件原先是放在服務(wù)器上的。當(dāng)瀏覽器發(fā)出請(qǐng)求時(shí),WEB服務(wù)器回傳頁(yè)面

20、,由瀏覽器負(fù)責(zé)解釋。在解釋過(guò)程中,若發(fā)現(xiàn)頁(yè)面中要求調(diào)用ActiveX控件時(shí),則用該控件的在頁(yè)面中注明的ID值先在本地的注</p><p><b>  2</b></p><p>  冊(cè)表內(nèi)進(jìn)行查詢。若已經(jīng)存在,則說(shuō)明該控件已經(jīng)在本地安裝,然后通過(guò)注冊(cè)表</p><p>  中的相關(guān)信息直接使用該控件;否則就要根據(jù)頁(yè)面中所提示的該控件所在的服務(wù)器

21、上的路徑到服務(wù)器上去下載并且自動(dòng)完成在本地的安裝注冊(cè),使該控件成為本地資源,供今后使用,這就是所謂“一次下載,永久使用“。客戶端控件一旦在本地安裝完畢,就等價(jià)于一個(gè)可執(zhí)行的應(yīng)用程序,它能訪問(wèn)使用本地的資源,甚至進(jìn)行遠(yuǎn)程訪問(wèn)。當(dāng)然,這可能帶來(lái)了安全性問(wèn)題。</p><p>  第二節(jié)COM和ActiveX的區(qū)別和聯(lián)系</p><p>  組件對(duì)象模型(COM , Component Obje

22、ct Model),COM:軟組件對(duì)象模型,是ActiveX和OLE的基礎(chǔ)。COM是二進(jìn)制標(biāo)準(zhǔn)的Windows對(duì)象,這意味著對(duì)象可以執(zhí)行描述另一對(duì)象的可執(zhí)行代碼。COM組件應(yīng)該是一種組件標(biāo)準(zhǔn),一般的ActiveX組件符合這一標(biāo)準(zhǔn)(但不絕對(duì)都是,也有些可能不是)。COM組件除了能用VB編寫(xiě)外Java,C++等一些語(yǔ)言都能寫(xiě)符合標(biāo)準(zhǔn)的COM組件。</p><p>  插件是指會(huì)隨著IE瀏覽器的啟動(dòng)自動(dòng)執(zhí)行的程序。有些

23、插件程序能夠幫助用戶更方便瀏覽因特網(wǎng)或調(diào)用上網(wǎng)輔助功能,也有部分程序被人稱為廣告軟件(Adware)或間諜軟件(Spyware).此類惡意插件程序監(jiān)視用戶的上網(wǎng)行為,并把所記錄的數(shù)據(jù)報(bào)告給插件程序的創(chuàng)建者,以達(dá)到投放廣告,盜取游戲或銀行帳號(hào)密碼等非法目的。因?yàn)椴寮绦蛴刹煌陌l(fā)行商發(fā)行,其技術(shù)水平也良莠不齊,插件程序很可能與其它運(yùn)行中的程序發(fā)生沖突,從而導(dǎo)致諸如各種頁(yè)面錯(cuò)誤,運(yùn)行時(shí)間錯(cuò)誤等等現(xiàn)象,阻塞了正常瀏覽。根據(jù)插件在瀏覽器中的加載

24、位置,可以分為工具條(Toolbar)、瀏覽器輔助(BHO)、搜索掛接(URL SEARCHHOOK)、下載ActiveX(ACTIVEX)。</p><p>  ActiveX插件也叫做OLE控件或OCX控件,它是一些軟件組件或?qū)ο?可以將其插入到WEB網(wǎng)頁(yè)或其它應(yīng)用程序中。ActiveX:COM的一種,COM對(duì)象實(shí)現(xiàn)IDispatch一般可以稱之為ActiveX,此外ActiveX一般具有界面。在因特網(wǎng)上,A

25、ctiveX插件軟件的特點(diǎn)是一般軟件需要用戶單獨(dú)下載然后執(zhí)行安裝,而ActiveX插件是當(dāng)用戶瀏覽到特定的網(wǎng)頁(yè)時(shí),IE瀏覽器即可自動(dòng)下載并提示用戶安裝。 ctiveX插件安裝的前提是必須先下載,然后經(jīng)過(guò)認(rèn)證,最終用戶確認(rèn)同意方能安裝,因此嵌有ActiveX腳本程序的頁(yè)面可能會(huì)變得非常慢,甚至導(dǎo)致瀏覽器瞬間失去響應(yīng)。</p><p>  控件是用戶可與之交互以輸入或操作數(shù)據(jù)的對(duì)象,通常出現(xiàn)在對(duì)話框中或工具欄上。它是

26、連接用戶和系統(tǒng)之間的通道,比如按鈕就是控件。 </p><p>  簡(jiǎn)單說(shuō)來(lái)呢,這好比一棵樹(shù),</p><p><b>  COM是樹(shù)根,</b></p><p><b>  組件是樹(shù)干,</b></p><p><b>  3</b></p><p>

27、  控件和ActiveX都是樹(shù)枝,</p><p>  插件就是樹(shù)上引來(lái)的一只鳥(niǎo)。</p><p>  COM是一整套規(guī)范,</p><p>  組件是按照COM規(guī)范所形成的應(yīng)用程序的通稱,</p><p>  控件和ActiveX表示的是同一類事物,它們是支持一系列MS定義好的接口的組件,</p><p>  插件和

28、上面的不太相干,雖然有很多插件也是組件。</p><p><b>  4</b></p><p>  第三章 基于B/S架構(gòu)系統(tǒng)研發(fā)</p><p>  第一節(jié) B/S三層體系結(jié)構(gòu)和C-S模式的特征</p><p>  在我們的現(xiàn)實(shí)生活中,有很多情況下采用Browser/Server(瀏覽器/服務(wù)器模式)的組織架構(gòu),為

29、什么不用現(xiàn)在流行的Client/Serve(以下簡(jiǎn)稱C/S)構(gòu)架而采用Browser/Server(以下簡(jiǎn)稱B/S)構(gòu)架呢?,那我們要先對(duì)B/S和C/S有一空認(rèn)識(shí)、了解才能得到最滿意的答案。</p><p>  一、B/S三層體系結(jié)構(gòu)</p><p>  在B/S體系結(jié)構(gòu)系統(tǒng)中,用戶通過(guò)瀏覽器向分布在網(wǎng)絡(luò)上的許多服務(wù)器發(fā)出請(qǐng)求,服務(wù)器對(duì)瀏覽器的請(qǐng)求進(jìn)行處理,將用戶所需信息返回到瀏覽器。B/

30、S結(jié)構(gòu)簡(jiǎn)化了客戶機(jī)的工作,客戶機(jī)上只需配置少量的客戶端軟件。服務(wù)器將擔(dān)負(fù)更多的工作,對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)和應(yīng)用程序的執(zhí)行將在服務(wù)器上完成。瀏覽器發(fā)出請(qǐng)求,而其余如數(shù)據(jù)請(qǐng)求、加工、結(jié)果返回以及動(dòng)態(tài)網(wǎng)頁(yè)生成等工作全部由Web Server完成。實(shí)際上B/S體系結(jié)構(gòu)是把二層C/S結(jié)構(gòu)的事務(wù)處理邏輯模塊從客戶機(jī)的任務(wù)中分離出來(lái),由Web服務(wù)器單獨(dú)組成一層來(lái)負(fù)擔(dān)其任務(wù),這樣客戶機(jī)的壓力減輕了,把負(fù)荷分配給了Web服務(wù)器。這種結(jié)構(gòu)不僅把客戶機(jī)從沉重的負(fù)擔(dān)

31、和不斷對(duì)其提高的性能的要求中解放出來(lái),也把技術(shù)維護(hù)人員從繁重的維護(hù)升級(jí)工作中解脫出來(lái)。由于客戶機(jī)把事務(wù)處理邏輯部分分給了功能服務(wù)器,使客戶機(jī)一下子"苗條"了許多,不再負(fù)責(zé)處理復(fù)雜計(jì)算和數(shù)據(jù)訪問(wèn)等關(guān)鍵事務(wù),只負(fù)責(zé)顯示部分,所以維護(hù)人員不再為程序的維護(hù)工作奔波于每個(gè)客戶機(jī)之間,而把主要精力放在功能服務(wù)器上程序的更新工作。這種三層結(jié)構(gòu)在層與層之間相互獨(dú)立,任何一層的改變不會(huì)影響其它層的功能。</p><

32、p>  二、C/S模式的特征</p><p>  以前的兩層客戶/服務(wù)器(C-S )模式主要用于規(guī)模不大、使用者數(shù)量不多、單一得數(shù)據(jù)庫(kù),在穩(wěn)定、便捷的Internet情景中(例如局域網(wǎng))使用??墒请S著網(wǎng)絡(luò)用戶的劇增,信息的存儲(chǔ)的增加,系統(tǒng)的規(guī)模也越來(lái)越大、系統(tǒng)的建設(shè)難度也不斷提高,并且在用戶劇增、數(shù)據(jù)庫(kù)的規(guī)模和數(shù)量劇增和如今互聯(lián)網(wǎng)信息的不</p><p><b>  5&l

33、t;/b></p><p>  安全情況下,舊的C-S模式有許多軟件和硬件構(gòu)建協(xié)調(diào)、綜合協(xié)調(diào)功能不夠完善,系統(tǒng)的擴(kuò)展性和可維護(hù)性很差等等不足。</p><p>  三、B/S體系的優(yōu)勢(shì)</p><p>  我們就以學(xué)校各班班級(jí)表單、錄入課程表單、報(bào)名表單、查詢成績(jī)和打印表單等為例,可以得知它的優(yōu)勢(shì)如下:</p><p>  1、系統(tǒng)易

34、于擴(kuò)展B/S結(jié)構(gòu)具有很大的伸縮性,既可以將Web服務(wù)器與數(shù)據(jù)庫(kù)服務(wù)器合二為一,也可以同時(shí)連接多臺(tái)數(shù)據(jù)庫(kù)服務(wù)器。</p><p>  2、跨平臺(tái)的系統(tǒng)集成服務(wù)。多種網(wǎng)絡(luò)操作系統(tǒng)、多種數(shù)據(jù)庫(kù)管理系統(tǒng)等通過(guò)統(tǒng)一的協(xié)議和標(biāo)準(zhǔn)集成在B/S結(jié)構(gòu)中,為用戶提供清晰、統(tǒng)一的信息服務(wù)界面。 3、大大降低了對(duì)網(wǎng)絡(luò)帶寬的要求。由于采用B/S結(jié)構(gòu),用戶端只需要數(shù)據(jù)的呈現(xiàn)和錄入設(shè)備,業(yè)務(wù)邏輯完全在服務(wù)器上實(shí)現(xiàn),從而大幅降低了網(wǎng)絡(luò)負(fù)荷

35、。</p><p>  4、系統(tǒng)安裝維護(hù)簡(jiǎn)單,方便數(shù)據(jù)的集中管理,便于分散用戶。</p><p>  5、B/S建立在廣域網(wǎng)上,面向不同的用戶群,地域分散,與操作系統(tǒng)平臺(tái)的選擇關(guān)系小。</p><p>  6、B/S建立在瀏覽器上,有更加豐富和生動(dòng)的表現(xiàn)方式與用戶交流,并且系統(tǒng)設(shè)計(jì)難度小,開(kāi)發(fā)成本降低。</p><p>  7、對(duì)于終端

36、用戶來(lái)講,B/S模式比C/S簡(jiǎn)化了客戶端程序,減少了終端用戶的投入成本。</p><p><b>  6</b></p><p>  第二節(jié) C-S與B-S體系結(jié)構(gòu)的功能 </p><p>  B-S體系架構(gòu)與C-S體系架構(gòu)相比較,除了擁有C-S架構(gòu)的一切優(yōu)勢(shì)外,還又具備C-S所不具備的特殊優(yōu)勢(shì),它們的功能比較如2.1所示。</p>

37、;<p>  B/S結(jié)構(gòu)模式是由于因特特網(wǎng)絡(luò)技術(shù)發(fā)展而逐漸發(fā)展起來(lái)的一種新型的系統(tǒng)結(jié)構(gòu)模式,該模式的可用的系統(tǒng)開(kāi)發(fā)語(yǔ)言有VB、VC 、C#、ASP.NET、 PHP, JAVA語(yǔ)言等很多功用豐富的開(kāi)發(fā)工具和各種高級(jí)的語(yǔ)言開(kāi)發(fā)應(yīng)用程序,在網(wǎng)絡(luò)站點(diǎn)上使用后臺(tái)數(shù)據(jù)庫(kù)存儲(chǔ)使用者的數(shù)據(jù)資源。B-S體系架構(gòu)的教學(xué)數(shù)據(jù)管理系統(tǒng)在技術(shù)方面顯得十分相當(dāng)完備了,它目前已受到許多工程項(xiàng)目開(kāi)發(fā)編輯者的青睞,許多系統(tǒng)都采納了B-S 架構(gòu)技術(shù) 。&l

38、t;/p><p><b>  7</b></p><p>  第三節(jié)B/S三層體系結(jié)構(gòu)的不足</p><p>  經(jīng)過(guò)近一兩年的應(yīng)用,B/S體系結(jié)構(gòu)也暴露出了許多不足地方,具體表現(xiàn)在以下幾個(gè)方面:</p><p>  (1) 由于瀏覽器只是為了進(jìn)行WEB瀏覽而設(shè)計(jì)的,當(dāng)其應(yīng)用于WEB應(yīng)用系統(tǒng)時(shí),許多功能不能實(shí)現(xiàn)或?qū)崿F(xiàn)起來(lái)比較

39、困難。比如通過(guò)瀏覽器進(jìn)行大量的數(shù)據(jù)輸入,或進(jìn)行報(bào)表的應(yīng)答都是比較困難和不便的。</p><p>  (2) 復(fù)雜的應(yīng)用構(gòu)造困難。雖然可以用ActiveX、Java等技術(shù)開(kāi)發(fā)較為復(fù)雜的應(yīng)用,但是相對(duì)于發(fā)展已非常成熟C/S的一系列應(yīng)用工具來(lái)說(shuō),這些技術(shù)的開(kāi)發(fā)復(fù)雜,并沒(méi)有完全成熟的技術(shù)供使用。</p><p>  (3) HTTP可靠性低有可能造成應(yīng)用故障,特別是對(duì)于管理者來(lái)說(shuō),采用瀏覽器方式進(jìn)

40、行系統(tǒng)的維護(hù)是非常不安全與不方便的。</p><p> ?。?) WEB服務(wù)器成為對(duì)數(shù)據(jù)庫(kù)的唯一的客戶端,所有對(duì)數(shù)據(jù)庫(kù)的連接都通過(guò)該服務(wù)器實(shí)現(xiàn)。WEB服務(wù)器同時(shí)要處理與客戶請(qǐng)求以及與數(shù)據(jù)庫(kù)的連接,當(dāng)訪問(wèn)量大時(shí),服務(wù)器端負(fù)載過(guò)重。</p><p> ?。?) 由于業(yè)務(wù)邏輯和數(shù)據(jù)訪問(wèn)程序一般由JavaScript、VBScript等嵌入式小程序?qū)崿F(xiàn),分散在各個(gè)頁(yè)面里,難以實(shí)現(xiàn)共享,給升級(jí)和維護(hù)

41、也帶來(lái)了不便。同時(shí)由于源代碼的開(kāi)放性,使得商業(yè)規(guī)則很容易暴露,而商業(yè)規(guī)則對(duì)應(yīng)用程序來(lái)說(shuō)則是非常重要的。</p><p>  為克服以上不足,在原有B/S體系結(jié)構(gòu)基礎(chǔ)上,采用一種新的體系結(jié)構(gòu),在該種結(jié)構(gòu)體系中,一些需要用WEB處理的,滿足大多數(shù)訪問(wèn)者請(qǐng)求的功能界面(如信息發(fā)布查詢界面)采用B/S結(jié)構(gòu)。后臺(tái)只需少數(shù)人使用的功能應(yīng)用(如數(shù)據(jù)庫(kù)管理維護(hù)界面)采用C/S結(jié)構(gòu)。組件位于WEB應(yīng)用程序中,客戶端發(fā)出HTTP請(qǐng)求

42、到WEB SERVER。WEB SERVER將請(qǐng)求傳送給WEB應(yīng)用程序。WEB應(yīng)用程序?qū)?shù)據(jù)請(qǐng)求傳送給數(shù)據(jù)庫(kù)服務(wù)器,數(shù)據(jù)庫(kù)服務(wù)器將數(shù)據(jù)返回WEB應(yīng)用程序。然后再由WEB SERVER將數(shù)據(jù)傳送給客戶端。對(duì)于一些實(shí)現(xiàn)起來(lái)困難的功能或一些需要豐富的HTML頁(yè)面,通過(guò)在頁(yè)面中嵌入ActiveX控件來(lái)實(shí)現(xiàn)。</p><p>  采用這種結(jié)構(gòu)優(yōu)點(diǎn)在于:(1)充分發(fā)揮了充分了B/S與C/S體系結(jié)構(gòu)的優(yōu)勢(shì),彌補(bǔ)了二者不足。充分

43、考慮用戶利益,保證瀏覽查詢者方便操作的同時(shí)也使得系統(tǒng)更新簡(jiǎn)單,維護(hù)簡(jiǎn)單靈活,易于操作。(2)信息發(fā)布采用B/S結(jié)構(gòu),保持了瘦客戶端的優(yōu)點(diǎn)。裝入客戶機(jī)的軟件可以采用統(tǒng)一的WWW瀏覽器。而且由于WWW瀏覽器和網(wǎng)絡(luò)綜合服務(wù)器都是基于工業(yè)標(biāo)準(zhǔn),可以在所有的平臺(tái)上工作。</p><p><b>  8</b></p><p> ?。?)數(shù)據(jù)庫(kù)端采用C/S結(jié)構(gòu),通過(guò)ODBC/JD

44、BC連接。這一部分只涉及到系統(tǒng)維護(hù)、數(shù)據(jù)更新等,不存在完全采用C/S結(jié)構(gòu)帶來(lái)的客戶端維護(hù)工作量大等缺點(diǎn)。并且在客戶端可以構(gòu)造非常復(fù)雜的應(yīng)用,界面友好靈活,易于操作,能解決許多B/S存在的固有的缺點(diǎn)。(4)對(duì)于原有基于C/S體系結(jié)構(gòu)的應(yīng)用,可以非常容易地升級(jí)到這種體系結(jié)構(gòu),只需開(kāi)發(fā)用于發(fā)布的WWW界面,可以保留原有的C/S結(jié)構(gòu)的某些子系統(tǒng),充分地利用現(xiàn)有系統(tǒng)的資源。使得現(xiàn)有系統(tǒng)或資源無(wú)需大的改造即可以連接使用,保護(hù)了用戶以往的投資(5)通

45、過(guò)在瀏覽器中嵌入ActiveX控件可以實(shí)現(xiàn)在瀏覽器中不能實(shí)現(xiàn)或?qū)崿F(xiàn)起來(lái)比較困難的功能。比如通過(guò)瀏覽器進(jìn)行報(bào)表的應(yīng)答。另外,在客戶端ActiveX控件的加盟,可以豐富HTML頁(yè)面,產(chǎn)生另人驚奇的效果。(6)將服務(wù)器端劃分為WEB服務(wù)器和WEB應(yīng)用程序兩部分。WEB應(yīng)用程序采用組件技術(shù)實(shí)現(xiàn)三層體系結(jié)中的商業(yè)邏輯部分,達(dá)到封裝源代碼,保護(hù)知識(shí)產(chǎn)權(quán)的目的。Internet應(yīng)用程序大部分屬于分布式應(yīng)用程序,采用組件技術(shù)一個(gè)重要特點(diǎn)就是它的處理能力

46、能夠隨著用戶數(shù)量、數(shù)據(jù)量所需性能的提高而增加。COM的無(wú)逢擴(kuò)展集COM+</p><p><b>  9</b></p><p>  第四章 基于B/S架構(gòu)系統(tǒng)研發(fā)實(shí)例應(yīng)用</p><p>  下面以某學(xué)校學(xué)生管理系統(tǒng)為例說(shuō)明B/S結(jié)構(gòu)軟件的設(shè)計(jì)方法,該系統(tǒng)采用B/S體系結(jié)構(gòu)與COM+技術(shù)相結(jié)合。通過(guò)該系統(tǒng)管理人員可以對(duì)學(xué)生的學(xué)籍、學(xué)生的日常

47、表現(xiàn)、學(xué)生的學(xué)習(xí)成績(jī)、學(xué)校教師、學(xué)校的資產(chǎn)進(jìn)行管理與維護(hù)。任課教師可以通過(guò)瀏覽器查詢所教班級(jí)學(xué)生各種相關(guān)信息。學(xué)校管理人員通過(guò)瀏覽器對(duì)學(xué)校的學(xué)生、教師等信息進(jìn)行管理與維護(hù)以及有關(guān)查詢統(tǒng)計(jì)功能。學(xué)校資產(chǎn)管理人員通過(guò)C/S體系結(jié)構(gòu)實(shí)現(xiàn)對(duì)學(xué)校資產(chǎn)的管理維護(hù)。</p><p>  本系統(tǒng)結(jié)合了ASP技術(shù)和COM+技術(shù),是一個(gè)三層結(jié)構(gòu)。表示層由ASP頁(yè)面組成,用以實(shí)現(xiàn)WEB頁(yè)面顯示和調(diào)用COM+組件,業(yè)務(wù)邏輯和數(shù)據(jù)訪問(wèn)由一

48、組用VC實(shí)現(xiàn)的COM+組件構(gòu)成。為了便于維護(hù)、升級(jí)和實(shí)現(xiàn)分布式應(yīng)用,在實(shí)現(xiàn)過(guò)程中,又將業(yè)務(wù)邏輯層和數(shù)據(jù)訪問(wèn)層分離開(kāi),ASP頁(yè)面不直接調(diào)用數(shù)據(jù)訪問(wèn)層,而是通過(guò)業(yè)務(wù)邏輯層來(lái)調(diào)用數(shù)據(jù)庫(kù)。</p><p>  第一節(jié) COM組件技術(shù)應(yīng)用</p><p>  該系統(tǒng)的實(shí)現(xiàn)主要分為三個(gè)部分:數(shù)據(jù)庫(kù)、COM+組件和ASP頁(yè)面。其中數(shù)據(jù)庫(kù)與ASP頁(yè)面的實(shí)現(xiàn)與一般B/S結(jié)構(gòu)的WEB應(yīng)用相似。COM+實(shí)現(xiàn)可

49、分為三個(gè)步驟:COM+組件的設(shè)計(jì)、COM+應(yīng)用程序的生成和組件注冊(cè)、基于屬性編程。該管理系統(tǒng)利用VC中的ATL開(kāi)發(fā)COM+組件。下面是該系統(tǒng)中一個(gè)定制組件部分主要代碼</p><p>  在showscore.asp頁(yè)面中接受、辨別用戶的查詢請(qǐng)求,做出不同的查詢處理。當(dāng)客戶的身分為教師或教務(wù)員時(shí),可以查詢所有學(xué)生的成績(jī);當(dāng)客戶的身分為學(xué)生時(shí),只能查詢本人的成績(jī)。</p><p>  定制C

50、OM組件Score.dll進(jìn)行查詢處理。首先設(shè)計(jì)該組件的接口,為組件設(shè)計(jì)四個(gè)屬性:SubjNo(課程號(hào)),Term(課程所屬學(xué)期),ClassNo(班級(jí)號(hào))和StuNo(學(xué)號(hào))。定義兩個(gè)方法RequeryScores和RequeryAllScores,分別對(duì)教師、教務(wù)部門(mén)和學(xué)生的請(qǐng)求做出相應(yīng)的處理,并將查詢結(jié)果集返回給用戶。</p><p>  以下是實(shí)現(xiàn)該組件Score.dll接口描述以及實(shí)現(xiàn)方法的部分代碼,從

51、中可以看到組件的接口是如何實(shí)現(xiàn)的:</p><p>  import "ocidl.idl";</p><p><b>  9</b></p><p><b>  [</b></p><p><b>  object,</b></p><

52、p>  uuid(46C01798-BE39-4FC0-A25D-718BA31DFADC),</p><p><b>  dual,</b></p><p>  helpstring("IStudentScore Interface"),</p><p>  pointer_default(unique)</p

53、><p><b>  ]</b></p><p>  interface IStudentScore : IDispatch{</p><p>  [propget, id(1), helpstring("課程號(hào)")] HRESULT SubjNo([out, retval] BSTR *pVal);</p>&l

54、t;p>  [propput, id(1), helpstring("課程號(hào)")] HRESULT SubjNo([in] BSTR newVal);</p><p>  //其它接口部分從略</p><p>  [id(5), helpstring("method RequeryScores")] HRESULT RequeryScores(

55、([out,retval]LPDISPATCH* ppRecordset));</p><p><b>  };</b></p><p>  STDMETHODIMP CStudentScore::RequeryScores()</p><p><b>  {</b></p><p>  HRESU

56、LT hr=S_OK;</p><p>  IobjectContext* m_spObjectContext=NULL;</p><p>  //利用ADO訪問(wèn)數(shù)據(jù)庫(kù)</p><p>  ::CoInitialize(NULL);</p><p>  _RecordsetPtr pRecordSet=NULL,pRecordSet

57、Clone=NULL;</p><p>  BSTR bstrDSN=::SysAllocString(L"Provider=SQLOLEDB.1;Persist Security Info=True;\</p><p>  Password=;Initial Catalog=pubs;Data Source=zhudamiing;User ID=sa");</p

58、><p>  BSTR bstrSQL;</p><p><b>  try{</b></p><p>  GetObjectContext(&m_spObjectContext); </p><p>  pRecordSet.CreateInstance(__uuidof(Recordset));</p&g

59、t;<p>  //根據(jù)查詢要求(查詢所有課程、查詢特定學(xué)期所有課程、查詢指定課程、查詢</p><p><b>  10</b></p><p>  //特定學(xué)期某一課程)進(jìn)行不同操作生成相應(yīng)SQL語(yǔ)句,程序具體處理從略</p><p>  pRecordSet->CursorLocation = adUseClient;

60、</p><p>  pRecordSet->Open(bstrSQL,bstrDSN,adOpenKeyset,adLockOptimistic,adCmdText);</p><p>  pRecordSet->PutRefActiveConnection(NULL);</p><p>  pRecordSetClone = pRecordSet-&

61、gt;Clone(adLockOptimistic);</p><p>  pRecordSetClone->QueryInterface(IID_IDispatch, (void**)ppRecordset);</p><p>  pRecordSet->Close();</p><p>  pRecordSet = NULL;</p>

62、<p>  ::SysFreeString(bstrDSN);</p><p>  ::SysFreeString(bstrSQL);</p><p>  //事物成功完成,則提交該事物</p><p>  I f(m_spObjectContext-)</p><p>  m_spObjectContext->SetComp

63、lete();</p><p><b>  }</b></p><p>  catch(_com_error &e){</p><p>  if(m_spObjectContext) //事物失敗,回滾事物處理</p><p>  m_spObjectContext->SetAbort()</p>

64、;<p>  // 其他錯(cuò)誤處理,從略</p><p><b>  }</b></p><p>  return hr;</p><p><b>  }</b></p><p>  RequeryAllScores()實(shí)現(xiàn)部分從略。另外ASP調(diào)用實(shí)現(xiàn)部分比較簡(jiǎn)單從略。</p>

65、;<p>  組件編譯結(jié)束后可以用COM+組件服務(wù)管理工具來(lái)管理COM+組件及其所在的應(yīng)用程序。COM+組件服務(wù)是個(gè)圖形界面的管理工具,利用它可以安裝和發(fā)布組件、配置組件及其所在應(yīng)用程序的屬性,以實(shí)現(xiàn)組件安全性、MTS支持、排對(duì)組件、設(shè)置組件構(gòu)造參數(shù)等。</p><p>  第二節(jié) ActiveX技術(shù)應(yīng)用 </p><p>  在本系統(tǒng)中許多報(bào)表的打印如學(xué)生成績(jī)打印、學(xué)籍報(bào)表

66、、學(xué)籍卡打印等需要特殊的格式。而瀏覽器所提供的打印功能無(wú)法實(shí)現(xiàn)。為此可采用ActiveX技術(shù),</p><p><b>  11</b></p><p>  實(shí)現(xiàn)在WEB環(huán)境下的本地端打印和報(bào)表生成。具體實(shí)現(xiàn)過(guò)程為:(1)WWW服務(wù)器在接到用戶請(qǐng)求后調(diào)用WEB應(yīng)用程序中的相應(yīng)組件,通過(guò)組件訪問(wèn)數(shù)據(jù)庫(kù),對(duì)數(shù)據(jù)處理生成報(bào)表數(shù)據(jù),以文件形式存儲(chǔ)于WEB服務(wù)器中相應(yīng)目錄下。(

67、2)WWW服務(wù)器向用戶瀏覽器發(fā)送內(nèi)嵌ActiveX控件的HTML頁(yè)面,并在HTML頁(yè)面里的(OBJECT)標(biāo)志中的param屬性里指明數(shù)據(jù)文件的URL地址。(3)HTML頁(yè)面根據(jù)所提供的ActiveX標(biāo)志從WWW服務(wù)器上下載ActiveX控件到本地端,并在瀏覽器里執(zhí)行。ActiveX控件在客戶瀏覽器里完成初始化工作以后,則需直接與服務(wù)器端聯(lián)系,以獲取報(bào)表數(shù)據(jù)。ActiveX控件與服務(wù)器端的連接采用HTTP協(xié)議所提供的GET方法,根據(jù)數(shù)據(jù)

68、文件在WWW服務(wù)器上的URL地址,直接將數(shù)據(jù)文件從WWW服務(wù)器下載到本地端。(4)對(duì)數(shù)據(jù)文件進(jìn)行解析,輸入到控件的存儲(chǔ)顯示模塊里,用以存儲(chǔ)顯示。(5)當(dāng)用戶按下打印按鈕時(shí),ActiveX調(diào)用打印模塊進(jìn)行打印輸出。</p><p><b>  12</b></p><p><b>  致 謝</b></p><p>  本論

69、文得到了眾多領(lǐng)導(dǎo)、老師和朋友的幫助。首先,感謝培養(yǎng)教育的我學(xué)校和我論文的指導(dǎo)老師,他在忙碌的教學(xué)工作中擠出時(shí)間來(lái)審查、修改的論文。還有教過(guò)我的所有老師們,他們嚴(yán)謹(jǐn)細(xì)致、一絲不茍的作風(fēng)一直是我工作、學(xué)習(xí)中的榜樣;他們循循善誘的教導(dǎo)和不拘一格的思路給予我無(wú)盡的啟迪。還有我身邊的朋友,她一直幫助我查找資料,共同總結(jié)知識(shí)點(diǎn);一直支持和鼓勵(lì)我。</p><p>  從開(kāi)始寫(xiě)作至本論文最終定稿,總共花費(fèi)了我近一個(gè)月以來(lái)所有的

70、業(yè)余時(shí)間。雖說(shuō)在繁忙的工作之余要完成這樣一篇論文的確不是一件很輕松的事情,但我內(nèi)心深處卻滿含深深的感激之情。感謝學(xué)校給我們這次任務(wù),讓我能夠靜靜地坐下來(lái),在知識(shí)的海洋里吸取更多的營(yíng)養(yǎng),從而能夠?yàn)樽约哼M(jìn)一步地加油充電。通過(guò)論文的撰寫(xiě),使我能夠更系統(tǒng)、全面地學(xué)習(xí)有關(guān)計(jì)算機(jī)應(yīng)用的相關(guān)理論知識(shí),并得以借鑒眾多專家學(xué)者的寶貴經(jīng)驗(yàn),這對(duì)于我今后的工作和我為之服務(wù)的企業(yè),無(wú)疑是不可多得的寶貴財(cái)富。由于本理論水平比較有限,論文中的有些觀點(diǎn)以及對(duì)企業(yè)示例

71、的歸納和闡述難免有疏漏和不足的地方,歡迎老師和讀者朋友們指正。</p><p>  最后,讓我再向此論文給予幫助的領(lǐng)導(dǎo)、老師和朋友們,表示崇高的敬意和衷心的感謝!愿老師們工作愉快,事業(yè)有成,愿我的朋友們心想事成!</p><p><b>  13</b></p><p><b>  參考文獻(xiàn)</b></p>

72、<p>  [1] 余英 ,梁剛 VC實(shí)踐與提高COM和COM+篇. 中國(guó)鐵道出版社</p><p>  [2] 林子禹等 基于WEB與組件技術(shù)的企業(yè)應(yīng)用系統(tǒng)設(shè)計(jì)模型 計(jì)算機(jī)工程與應(yīng)用 2000.6.</p><p>  [3] 夏驕雄等 基于Intranet的管理信息系統(tǒng) 小型微型計(jì)算機(jī)系統(tǒng) 2001、4 </p><p>  [4] 樓偉進(jìn),

溫馨提示

  • 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ù)僅提供信息存儲(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)論