莊 嚴(yán) 營(yíng)口理工學(xué)院
基于B/S結(jié)構(gòu)的軟件開發(fā)技術(shù)分析
莊 嚴(yán) 營(yíng)口理工學(xué)院
在計(jì)算機(jī)網(wǎng)絡(luò)與相關(guān)技術(shù)不斷發(fā)展的背景下,作為一種有力的通信渠道,基于Web的分布式應(yīng)用與Client/Server應(yīng)用相比優(yōu)越性十分明顯,這使得多種應(yīng)用系統(tǒng)在開發(fā)之時(shí)由基于PC或局域網(wǎng)的Client/ Server轉(zhuǎn)向基于Browser/Server的B/S體系結(jié)構(gòu)應(yīng)用的發(fā)展,本文以此為背景,對(duì)以B/S體系結(jié)構(gòu)為基礎(chǔ)的軟件開發(fā)相關(guān)技術(shù)進(jìn)行分析,涉及PHP技術(shù)、Visual Basic技術(shù)與SQL標(biāo)準(zhǔn)語(yǔ)言等內(nèi)容。
B/S結(jié)構(gòu);PHP;Visual Basic;SQL標(biāo)準(zhǔn)語(yǔ)言
Internet/Intranet技術(shù),尤其是基于Web(HTML,HTTP)的信息發(fā)布與檢索技術(shù)的飛速發(fā)展使得整個(gè)應(yīng)用系統(tǒng)的體系結(jié)構(gòu)發(fā)生了很大的變化,逐漸從C/S的主從結(jié)構(gòu)演變?yōu)殪`活的多級(jí)分布式結(jié)構(gòu)。在當(dāng)今以Web技術(shù)為核心的信息網(wǎng)絡(luò)時(shí)代,上述變化為體系結(jié)構(gòu)的應(yīng)用賦予了新的內(nèi)涵。實(shí)際上,新型的多級(jí)分布式結(jié)構(gòu)就是瀏覽器/服務(wù)器體系,亦即Browser/Server(B/S)體系。
圖1 基于Web的B/S體系結(jié)構(gòu)
B/S模式應(yīng)用系統(tǒng)由兩部分組成,分別為瀏覽器(Browser)與服務(wù)器(Web Server,Other Server)。服務(wù)器上有數(shù)據(jù)(data)與各種應(yīng)用程序(App),通過(guò)對(duì)服務(wù)器上的應(yīng)用程序進(jìn)行下載,瀏覽器可以對(duì)其功能實(shí)現(xiàn)動(dòng)態(tài)擴(kuò)展,服務(wù)器的結(jié)構(gòu)具有多層次性,B/ S系統(tǒng)所處理的各種數(shù)據(jù)類型亦能夠進(jìn)行動(dòng)態(tài)擴(kuò)展。借助于瀏覽器,用戶可以向在網(wǎng)絡(luò)上進(jìn)行分布的各個(gè)服務(wù)器發(fā)出某種請(qǐng)求,在接收到相應(yīng)的請(qǐng)求之后,服務(wù)器會(huì)對(duì)其進(jìn)行處理,并將用戶所需信息最終再返回到瀏覽器上。B/ S結(jié)構(gòu)能夠?qū)蛻魴C(jī)的工作進(jìn)行簡(jiǎn)化,通過(guò)對(duì)B/S體系的應(yīng)用,服務(wù)器會(huì)承擔(dān)更多的工作,相對(duì)地,客戶機(jī)上則只需配置少量客戶端軟件即可,服務(wù)器會(huì)完成具體的數(shù)據(jù)庫(kù)訪問(wèn)與應(yīng)用程序執(zhí)行等工作。瀏覽器在發(fā)出請(qǐng)求之后,Web Server會(huì)對(duì)其他一系列工作進(jìn)行處理,例如數(shù)據(jù)請(qǐng)求與加工、結(jié)果返回、動(dòng)態(tài)網(wǎng)頁(yè)生成等。實(shí)際上,B/S體系結(jié)構(gòu)是對(duì)二層Client/Server結(jié)構(gòu)下的事務(wù)處理模塊與客戶機(jī)任務(wù)的分離,它利用Web服務(wù)器單獨(dú)組成一層來(lái)承擔(dān)與完成各項(xiàng)任務(wù),通過(guò)將負(fù)荷向Web服務(wù)器進(jìn)行分配,大大減輕了客戶機(jī)的壓力。基于Web的B/S三層體系結(jié)構(gòu)可由圖1予以表示。
2.1 PHP技術(shù)
PHP為超級(jí)文本預(yù)處理語(yǔ)言的英文首字母簡(jiǎn)寫,是一種HTML嵌入式語(yǔ)言。在某種意義上,PHP與ASP有著一定的相似性,他們都屬于HTML嵌入式的腳本語(yǔ)言。PHP在服務(wù)器端的實(shí)現(xiàn)風(fēng)格與C語(yǔ)言類似,現(xiàn)階段,很多網(wǎng)站編程人員都對(duì)PHP語(yǔ)言有較高的應(yīng)用率。除了自己的創(chuàng)新,PHP語(yǔ)法還與C語(yǔ)言、Java語(yǔ)言以及Perl語(yǔ)言相結(jié)合,與CGI語(yǔ)言及Perl語(yǔ)言相比,PHP有著更快的動(dòng)態(tài)網(wǎng)頁(yè)執(zhí)行速度。在具體的執(zhí)行過(guò)程中,CGI會(huì)完全生成HTML標(biāo)記,因此其工作效率相對(duì)而言會(huì)比較低,而PHP會(huì)在HTML文檔中進(jìn)行程序的嵌入,這就決定其有著較高的效率;與同是HTML嵌入式腳本語(yǔ)言的Java Script相比,PHP會(huì)對(duì)服務(wù)器端的程序予以執(zhí)行。此外,PHP所具有的功能非常多,CGI與Java Script所具有的全部功能PHP都可以實(shí)現(xiàn),不僅如此,它還可以對(duì)9成以上的現(xiàn)行數(shù)據(jù)庫(kù)與操作系統(tǒng)提供支持。
2.2 Visual Basic技術(shù)
20世紀(jì)90年代初,微軟公司推出了Visual Basic語(yǔ)言,它是一種面向?qū)ο蟮目梢暬潭容^高的高級(jí)程序設(shè)計(jì)語(yǔ)言,實(shí)現(xiàn)了與事件驅(qū)動(dòng)方式相關(guān)理論及開發(fā)技術(shù)的結(jié)合,被用在以Windows環(huán)境為基礎(chǔ)的各種應(yīng)用程序的開發(fā)環(huán)節(jié)中。Visual Basic易于學(xué)習(xí)與掌握,其強(qiáng)大的功能在一定程度上甚至可以同專業(yè)的Windows開發(fā)工具SDK相媲美??梢暬h(huán)境下Visual Basic可以方便且迅速地對(duì)Windows圖形界面進(jìn)行創(chuàng)建,借助于這一技術(shù),很多程序都可以被開發(fā)出來(lái),例如互聯(lián)網(wǎng)絡(luò)、數(shù)據(jù)庫(kù)管理以及客戶/服務(wù)器模式等。Visual Basic技術(shù)以其所具有的可視化設(shè)計(jì)方法與環(huán)境優(yōu)勢(shì)降低了應(yīng)用程度開發(fā)的復(fù)雜程度。
2.3 SQL標(biāo)準(zhǔn)語(yǔ)言
SQL是英文Structured Query Language的首字母簡(jiǎn)寫,即結(jié)構(gòu)化查詢語(yǔ)言,其主要功能在于同不同數(shù)據(jù)庫(kù)建立良好的聯(lián)系并進(jìn)行有效溝通。以美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì)(ANSI)所提出的相關(guān)規(guī)定為依據(jù),SQL屬于一種關(guān)系型的數(shù)據(jù)庫(kù)管理系統(tǒng)標(biāo)準(zhǔn)語(yǔ)言,它應(yīng)用在多種程序的執(zhí)行與操作過(guò)程中,例如對(duì)數(shù)據(jù)庫(kù)中的相關(guān)數(shù)據(jù)進(jìn)行更新與提取等?,F(xiàn)階段,SQL語(yǔ)言標(biāo)準(zhǔn)在常用關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)中的應(yīng)用比較廣泛,這些數(shù)據(jù)庫(kù)管理系統(tǒng)有DB2、Sybase、Oracle、Access以及SQL Server等。雖然很多數(shù)據(jù)庫(kù)會(huì)對(duì)SQL語(yǔ)句進(jìn)行一定的再開發(fā)與擴(kuò)展,但它們依舊可以對(duì)Update、Delete、Drop等標(biāo)準(zhǔn)SQL命令加以使用,以對(duì)各種數(shù)據(jù)庫(kù)操作予以執(zhí)行。SQL Server的開發(fā)起始于Microsoft與Sybase等公司,并于1988年推行第一個(gè)版本,它是一種與數(shù)據(jù)庫(kù)有著緊密聯(lián)系的管理系統(tǒng)。當(dāng)Windows NT發(fā)布之后,Microsoft與Sybase兩個(gè)公司關(guān)于SQL Server的開發(fā)產(chǎn)生了不同的觀點(diǎn)并出現(xiàn)分歧,最終結(jié)束合作并進(jìn)行各自的發(fā)展。其中,Microsoft公司選擇將SQL Server引入到Windows NT中,并加大力度對(duì)SQL Server在Windows NT操作系統(tǒng)中的應(yīng)用進(jìn)行開發(fā)與推廣;而Sybase公司則將更多的精力放于SQL Server在UNIX系統(tǒng)中的應(yīng)用之上。
在軟件規(guī)模及其復(fù)雜程度日益增加的背景之下,系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)與說(shuō)明亦越來(lái)越重要,甚至比特定算法與數(shù)據(jù)結(jié)構(gòu)選擇的重要性還要大很多。作為對(duì)系統(tǒng)高層設(shè)計(jì)予以描述的一種手段,軟件體系結(jié)構(gòu)逐漸發(fā)展為軟件工程領(lǐng)域研究的一個(gè)重點(diǎn)與熱點(diǎn)。本文所進(jìn)行的體系結(jié)構(gòu)開發(fā)技術(shù)的研究,對(duì)于軟件工程領(lǐng)域來(lái)說(shuō)有著一定的理論借鑒意義。
[1]魯華棟,裴祥.B/S體系網(wǎng)絡(luò)結(jié)構(gòu)計(jì)算機(jī)軟件開發(fā)的研究[J].信息通信,2013(6):87-87.
[2]吳小青.基于B/S體系結(jié)構(gòu)軟件開發(fā)技術(shù)研究[D].江南大學(xué),2008.
[3]張麗,張艷.從C/S到B/S再到三層(多層)結(jié)構(gòu)[J].河南師范大學(xué)學(xué)報(bào):自然科學(xué)版,2004(8):24-27.