摘要:WEB與數(shù)據(jù)庫(kù)的連接和安全管理是WEB數(shù)據(jù)庫(kù)的核心,如何更好的實(shí)現(xiàn)WEB與數(shù)據(jù)庫(kù)的連接,已成為廣大網(wǎng)絡(luò)開發(fā)人員關(guān)心的重要問(wèn)題之一。本文以其中四項(xiàng)技術(shù)CGI、ASP、PHP、JSP為例,進(jìn)行應(yīng)用對(duì)比,分析一下WEB與數(shù)據(jù)庫(kù)的連接技術(shù)。
關(guān)鍵詞:WEB;數(shù)據(jù)庫(kù);CGI;ASP;PHP;JSP;連接技術(shù)
中圖分類號(hào):TP393.092 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9599 (2012) 20-0000-02
1 WEB與數(shù)據(jù)庫(kù)
Web數(shù)據(jù)庫(kù)屬于深度Web(Deep Web)的一種資源形勢(shì),通常指在互聯(lián)網(wǎng)中以Web查詢接口方式訪問(wèn)的數(shù)據(jù)庫(kù)資源,其結(jié)構(gòu)是后臺(tái)采用數(shù)據(jù)庫(kù)管理系統(tǒng)存儲(chǔ)數(shù)據(jù)信息,對(duì)外提供包含表單的Web頁(yè)面作為訪問(wèn)接口,查詢結(jié)果也以包含數(shù)據(jù)列表的Web頁(yè)面形式返回給用戶。Web數(shù)據(jù)庫(kù)的數(shù)據(jù)相比搜索引擎返回的查詢結(jié)果,特點(diǎn)是提供一個(gè)或多個(gè)領(lǐng)域的數(shù)據(jù)記錄,且具有完整的模式信息,其集成的主要目的是為用戶提供多個(gè)Web數(shù)據(jù)庫(kù)資源的統(tǒng)一訪問(wèn)方式。現(xiàn)有的Web數(shù)據(jù)庫(kù)集成方式可以分為三類:數(shù)據(jù)供應(yīng)模式;數(shù)據(jù)收集模式;元搜索模式。作為計(jì)算機(jī)處理與存儲(chǔ)數(shù)據(jù)最有效的手段之一,數(shù)據(jù)庫(kù)與信息技術(shù)的共享優(yōu)勢(shì)相結(jié)合,共同組成了如今我們廣泛應(yīng)用的WEB數(shù)據(jù)庫(kù)(也叫網(wǎng)絡(luò)數(shù)據(jù)庫(kù))。WEB與數(shù)據(jù)庫(kù)的連接和安全管理是WEB數(shù)據(jù)庫(kù)的核心,如何更好的實(shí)現(xiàn)WEB與數(shù)據(jù)庫(kù)的連接,是需要我們不斷研究的課題。本文以其中四項(xiàng)技術(shù)為例,進(jìn)行應(yīng)用對(duì)比,分析一下WEB與數(shù)據(jù)庫(kù)的連接技術(shù)。
2 WEB與數(shù)據(jù)庫(kù)的連接技術(shù)的應(yīng)用分析
Web頁(yè)面與數(shù)據(jù)庫(kù)地連接是Web數(shù)據(jù)庫(kù)的基本要求。目前基于Web數(shù)據(jù)庫(kù)地連接方案主要有兩種類型,服務(wù)器端和客戶端方案,服務(wù)器端方案實(shí)現(xiàn)技術(shù)有CGI、ASP、PHP、JSP等。下面我們以服務(wù)器端方案為主研究一下WEB與數(shù)據(jù)庫(kù)連接技術(shù)的應(yīng)用。
2.1 CGI技術(shù)
CGI(Common Gateway Interface)作為最早得到支持且應(yīng)用最為普遍的一種技術(shù),幾乎所有平臺(tái)的WEB服務(wù)器都支持CGI。CGI是Web服務(wù)器運(yùn)行時(shí)外部程序的規(guī)范,按照CGI編寫的程序可以擴(kuò)展服務(wù)器的功能,完成服務(wù)器本身不能完成的工作,外部程序執(zhí)行時(shí)可以生成HTML文檔,并將文檔返回Web服務(wù)器。例如CGI從數(shù)據(jù)庫(kù)中獲取數(shù)據(jù),轉(zhuǎn)化為HTML文檔之后,然后通過(guò)WEB發(fā)送給瀏覽器,并獲得反饋,最終將信息放入指定數(shù)據(jù)庫(kù)。CGI程序的常用語(yǔ)言:Perl、C++、VB、Delphi等。但是同時(shí)CGI也有兩個(gè)比較典型的缺點(diǎn):每個(gè)CGI程序應(yīng)用是作為一個(gè)獨(dú)立外部應(yīng)用來(lái)運(yùn)行的,與服務(wù)器上其他程序競(jìng)爭(zhēng)處理器資源,這將導(dǎo)致運(yùn)行速度減慢,尤其是當(dāng)進(jìn)程多到一定程度時(shí),服務(wù)器性能的下降就非常明顯,會(huì)影響數(shù)據(jù)庫(kù)的快速使用,另外CGI不提供狀態(tài)管理功能,瀏覽器每次請(qǐng)求都需要一個(gè)連接的建立與釋放過(guò)程,效率較低。而且用CGI開發(fā)WEB應(yīng)用相較其他技術(shù)來(lái)說(shuō),難度要大上許多,從付出成本和使用效果來(lái)看,得不償失。
2.2 API技術(shù)
API(Application Programming Interface )是服務(wù)器端應(yīng)用程序編程接口,與CGI功能相同,也可用于實(shí)現(xiàn)擴(kuò)展服務(wù)器功能,實(shí)際是一組用于完成特定功能的很復(fù)雜的函數(shù)、消息和結(jié)構(gòu),包含在一個(gè)擴(kuò)展名為DLL的動(dòng)態(tài)連接庫(kù)文件中。各種API與其相應(yīng)的WEB服務(wù)器僅緊密聯(lián)系,用API開發(fā)的程序與與CGI相比,性能上有了很大的提高。各種API技術(shù)的出現(xiàn)解決了CGI低效問(wèn)題,但開發(fā)需編程方面的專門知識(shí),開發(fā)難度比CGI更甚,同時(shí)由于各種不同的API兼容性差,所以在使用范圍上也限制頗多。
2.3 ASP技術(shù)
ASP(Activex Server Pages) 意為“動(dòng)態(tài)服務(wù)器頁(yè)面”, 是微軟公司開發(fā)的代替CGI腳本程序的一種應(yīng)用,它可以與數(shù)據(jù)庫(kù)和其它程序進(jìn)行交互,是一種簡(jiǎn)單、方便的編程工具。ASP服務(wù)器已經(jīng)包含在IIS服務(wù)器中,ASP服務(wù)器將 Web請(qǐng)求轉(zhuǎn)入解釋器中,在解釋器中將所有 ASP中的腳本進(jìn)行分析,然后執(zhí)行,同時(shí)可以創(chuàng)建COM對(duì)象以完成更多的功能,ASP中的腳本是Vbscript,現(xiàn)在常用于各種動(dòng)態(tài)網(wǎng)站中。
作為一種技術(shù)框架,ASP能夠?qū)TML語(yǔ)言、腳本語(yǔ)言、組件等元素有機(jī)結(jié)合,應(yīng)用程序由服務(wù)器終端解釋并執(zhí)行,然后傳遞給瀏覽器,所以在使用上,無(wú)需考慮瀏覽器是否支持ASP,可以直接使用。ASP制作簡(jiǎn)單無(wú)需編譯;安裝配置方便,開發(fā)簡(jiǎn)單易學(xué);開發(fā)工具功能強(qiáng)大,能夠使用通用的編程語(yǔ)言,同時(shí)在執(zhí)行過(guò)程中只是將解釋后的HTML發(fā)送到客戶端,因此能夠保護(hù)源程序代碼,減少外漏現(xiàn)象,能夠有效保護(hù)知識(shí)產(chǎn)權(quán)。但是ASP技術(shù)同時(shí)也存在不足:ASP使用了組件因而將導(dǎo)致大量的安全問(wèn)題;無(wú)法實(shí)現(xiàn)跨平臺(tái),只能應(yīng)用于Windows NT/2000,所以在實(shí)際使用中,建議采用MS架構(gòu)的網(wǎng)站使用ASP應(yīng)用開發(fā)平臺(tái)(IIS+Visual Interdev),提升運(yùn)行的可能性。
2.4 JSP技術(shù)
JSP (Java Server Pages)是由Sun公司所新面市的一種交互式網(wǎng)頁(yè)編譯技術(shù),它除了能夠建立一個(gè)交互式網(wǎng)站之外,更能應(yīng)用于不同的操作平臺(tái)上。這樣跨平臺(tái)的特性已包含了目前大部分網(wǎng)站服務(wù)器配置環(huán)境,再加上它的語(yǔ)法書寫方式可媲美ASP般的易學(xué)易懂,而且在網(wǎng)絡(luò)安全技術(shù)方面甚至已超越ASP技術(shù),所以,JSP極有可能取代現(xiàn)有的網(wǎng)頁(yè)編譯技術(shù),成為日后網(wǎng)站編譯應(yīng)用的新標(biāo)準(zhǔn),開拓更為新穎廣闊的前景。當(dāng)用戶請(qǐng)求JSP頁(yè)面時(shí),WEB應(yīng)用程序會(huì)創(chuàng)建新的線程來(lái)處理用戶請(qǐng)求,這些線程同時(shí)由WEB服務(wù)器來(lái)進(jìn)行管理,比起CGI效率更好更有優(yōu)勢(shì)。相較其他技術(shù)來(lái)說(shuō),ASP的優(yōu)勢(shì)很明顯:可移植性好,支持多種平臺(tái);具有強(qiáng)大的可伸縮性;多樣化與強(qiáng)大的工具支持,對(duì)于大型應(yīng)用系統(tǒng)的開發(fā)來(lái)說(shuō),JSP技術(shù)是最好的選擇。但是同時(shí),這種技術(shù)在使用上也有兩個(gè)弊端,一是安裝配置管理較為復(fù)雜;二是運(yùn)行速度較慢;針對(duì)這些問(wèn)題,需要編譯開發(fā)人員不斷努力,提升JSP技術(shù)的使用性能,帶來(lái)更好的數(shù)據(jù)庫(kù)服務(wù)。以JSP實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的連接為例,JSP的實(shí)現(xiàn)是以一種名為JDBC的技術(shù)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的訪問(wèn),JDBS基于開放數(shù)據(jù)庫(kù)互聯(lián)ODBC的Java實(shí)現(xiàn),專門設(shè)置了一個(gè)包Java.sql,在這個(gè)包中有很多定義了用來(lái)實(shí)現(xiàn)SQL命令的類,通過(guò)這些類,貶稱人員就能通過(guò)開發(fā)前端應(yīng)用,實(shí)現(xiàn)對(duì)于程序的配套輔助。
3 小結(jié)
WEB與數(shù)據(jù)庫(kù)的連接技術(shù)研究是現(xiàn)今網(wǎng)絡(luò)技術(shù)開發(fā)人員一直關(guān)注探究的重要課題之一,也是網(wǎng)絡(luò)通信需求發(fā)展推動(dòng)下的必然趨勢(shì)。從最早的CGI、API技術(shù)到后來(lái)不斷升級(jí)拓展的ASP、JSP技術(shù),WEB與數(shù)據(jù)庫(kù)的連接技術(shù)都在不斷革新,因此深入研究各種技術(shù)的優(yōu)劣,對(duì)于日后的改進(jìn)與完善有著重要意義。
參考文獻(xiàn):
[1]陳曉紅.一種基于ODBC的WWW與數(shù)據(jù)庫(kù)連接技術(shù)及實(shí)現(xiàn)方法[J].南開大學(xué)學(xué)報(bào)(自然科學(xué)版),2000,33(3).
[2]魏善沛.網(wǎng)站數(shù)據(jù)庫(kù)連接技術(shù)[J].教育信息化,2003(7).
[3]郝鵬.Visual C++中的開放數(shù)據(jù)庫(kù)連接技術(shù)[J].中國(guó)科技信息,2005(12).
[4]金玉明.PB與SQL Server的連接技術(shù)與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2007,4(24).
[5]俞海明,鄭忠俊,肖粲俊,張子薦.應(yīng)用程序中數(shù)據(jù)庫(kù)技術(shù)的研究[J].機(jī)械制造與自動(dòng)化,2006,35(6).
[6]陳潔.DBCP數(shù)據(jù)庫(kù)連接池的自優(yōu)化配置[J].計(jì)算機(jī)與現(xiàn)代化,2010(12).