国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

Web數(shù)據(jù)庫中間件技術(shù)

2024-07-21 02:30:39
字體:
供稿:網(wǎng)友
Web數(shù)據(jù)庫中間件技術(shù)
曾曉金

  

(云南工業(yè)大學(xué)計(jì)算機(jī)應(yīng)用重點(diǎn)實(shí)驗(yàn)室 昆明 650051)



摘要:介紹了Web數(shù)據(jù)庫的幾種中間件解決方案,并比較了它們的特色與不足,以及Web數(shù)據(jù)庫出現(xiàn)的相應(yīng)最新技術(shù)。

關(guān)鍵詞:中間件 CGI asp ISAPI NSAPI JDBC



隨著Internet/Intrranet的興起與發(fā)展,Web服務(wù)器與數(shù)據(jù)庫服務(wù)器的連接顯得越來越重要,許多廠家不斷推出新技術(shù)、新產(chǎn)品,使得連接更加簡潔、迅速和方便。Web與數(shù)據(jù)庫連接技術(shù)已成為基于Web的信息管理系統(tǒng)的核心,為Internet上的電子商貿(mào)打下了基礎(chǔ)。

一般來說,通過Web頁實(shí)現(xiàn)對(duì)數(shù)據(jù)庫訪問的基本框圖如圖1,在整個(gè)系統(tǒng)中關(guān)鍵的技術(shù)是中間件的解決方案。



圖1、Web頁面訪問數(shù)據(jù)庫示意圖



中間件負(fù)責(zé)管理Web服務(wù)器和數(shù)據(jù)庫服務(wù)器之間的通信并提供應(yīng)用程序服務(wù)。由于駐留在Web服務(wù)器上,因而中間件軟件能夠調(diào)用作為Web服務(wù)器和數(shù)據(jù)庫服務(wù)器間"傳輸機(jī)制"的外部程序或"編碼",并將執(zhí)行查詢等以HTML頁面或純文本的形式將信息返回給最終用戶。數(shù)據(jù)庫服務(wù)器負(fù)責(zé)管理駐留在數(shù)據(jù)庫服務(wù)器中的數(shù)據(jù)。



一、現(xiàn)對(duì)當(dāng)前幾種流行的中間件的解決方案作一討論。

1.通用網(wǎng)關(guān)技術(shù)(CGI)

CGI是一種Web站點(diǎn)上可以用來訪問Web站點(diǎn)的用戶交互的各種程序的標(biāo)準(zhǔn),使用CGI腳本允許用戶在瀏覽器中等服務(wù)器上的數(shù)據(jù)庫交互,完成對(duì)數(shù)據(jù)庫的各種操作。

幾乎使用的服務(wù)器軟件都支持CGI,開發(fā)者可以使用任何一種Web服務(wù)器內(nèi)置語言編寫CGI,包括Perl語言,C,C++,VB和Delphi等。

CGI的工作原理是瀏覽器通過Web頁面的表單搜索參數(shù),這些參數(shù)通過HTTP傳遞Web服務(wù)器,在服務(wù)器通過CGI腳本分析參數(shù)(命令行參數(shù)或環(huán)境變量),同時(shí)啟動(dòng)通路程序,把分析后的參數(shù)轉(zhuǎn)化為SQL命令,交數(shù)據(jù)庫服務(wù)器執(zhí)行,然后CGI程序返回處理結(jié)果給Web服務(wù)器,最后向客戶機(jī)返回HTML或純文本格式的結(jié)果并斷開連接。

CGI缺點(diǎn)是執(zhí)行速度較慢,Web服務(wù)器每啟動(dòng)一個(gè)數(shù)據(jù)查詢服務(wù),就必須啟動(dòng)一個(gè)新的CGI進(jìn)程,相對(duì)服務(wù)器資源代價(jià)比較高。

2.ASP(Active Server Pages)

ASP是一種開放的,可以將HTML腳本及可重用的Active Server組件結(jié)合在一起以建立高效的動(dòng)態(tài)的基于Web的應(yīng)用程序環(huán)境,利用ASP,可以增加運(yùn)行在服務(wù)器端的腳本的新特性,如訪問數(shù)據(jù)庫。

ASP支持Active Server組件的使用,Active Server組件通過組件對(duì)象模型(COM)為ASP提供了可編程的界面,其中組件之一Active Data Object(ADO)提供了與數(shù)據(jù)庫相連的機(jī)制。且使用ASP可以直接在HTML文件中包含可執(zhí)行的腳本,HTML開發(fā)和腳本開發(fā)可以變?yōu)橐粋€(gè)過程,而不象CGI、ISAPI以及其他方法一樣,程序和HTML文件要求在不同的設(shè)計(jì)環(huán)境導(dǎo)致程序產(chǎn)生和修改困難。

3.應(yīng)用編程接口(API)

鑒于CGI的一些缺陷,Microsoft和Netscape開發(fā)了專用的Web服務(wù)器中的程序代碼(如動(dòng)態(tài)鏈接庫DLL),且一般與Web服務(wù)器軟件處在內(nèi)存的同一地址空間中,因此每次調(diào)用時(shí)是在內(nèi)存中運(yùn)行相應(yīng)的程序段,而不是像CGI那樣需要啟動(dòng)新的進(jìn)程,因而效率要比CGI高得多。

API技術(shù)主要缺點(diǎn)是開發(fā)難度大,且可移植性差,開發(fā)出的應(yīng)用程序只能在相應(yīng)的Web服務(wù)器上運(yùn)行,缺乏通用性。

為了減輕開發(fā)應(yīng)用程序的困難,Netscape和Microsoft在其各自的服務(wù)器中提供了基于API的編程接口。Netscape提供了基于NSAPI的Livewire,它是專門設(shè)計(jì)的全面開發(fā)方案,開發(fā)人員可以開發(fā)和管理WWW界面、WWW網(wǎng)點(diǎn),并且可以利用SQL語句或ODBC直接訪問數(shù)據(jù)庫。Microsoft則提供了基于ISAPI的IDC模塊,它是IIS的一個(gè)動(dòng)態(tài)連接庫(httpodbc.dll),并通過ODBC訪問各類數(shù)據(jù)庫。

4.JDBC技術(shù)

java是一種簡單、面向?qū)ο蟆⒁讉魉汀⒎€(wěn)固安全、多線程執(zhí)行控制及3D空間設(shè)計(jì)的語言,它為Internet注入了交互性。Java支持?jǐn)?shù)據(jù)庫的訪問,是因?yàn)镾UN公司提供了一種標(biāo)準(zhǔn)的SQL訪問數(shù)據(jù)庫的Java語言應(yīng)用程序編程接口(JDBC)。構(gòu)成Java語言的基礎(chǔ)是一系列類庫,而JDBC正是定義了Java與數(shù)據(jù)庫之間的接口類庫(Java.sql包),它是Java語言中執(zhí)行SQL語句的API,它由一系列類和接口所組成,這些類和接口均是由Java語言寫成的,通過它一個(gè)程序開發(fā)者可以在Java語言中建立與數(shù)據(jù)庫的鏈接,執(zhí)行SQL語句和處理SQL語句返回的結(jié)果。

采用JDBC很容易用SQL語句訪問異構(gòu)數(shù)據(jù)庫,如通過JDBC API,只需編寫一個(gè)JDBC API,就可以把SQL查詢語句送往Sybase,Oracle或 Informix數(shù)據(jù)庫,同時(shí)采用Java語言編寫應(yīng)用程序,具有平臺(tái)無關(guān)性,不要為不同的平臺(tái)編寫不同的應(yīng)用程序。



圖2、JDBC技術(shù)工作示意圖



采用JDBC技術(shù)其工作方式為:客戶端首先訪問Web服務(wù)器,下載Java字節(jié)碼文件,并將Applet相關(guān)類的字節(jié)碼文件和JDBC接口字節(jié)碼文件下栽到客戶端,然后與Web服務(wù)器脫離,接著Applet根據(jù)數(shù)據(jù)庫地址,端口號(hào)和帳號(hào)與數(shù)據(jù)庫服務(wù)器連接進(jìn)行交互,這樣用戶與數(shù)據(jù)庫服務(wù)器的交互是由瀏覽器直接完成的。由于JDBC技術(shù)的可操作性、可維護(hù)性和安全性及事務(wù)處理能力、使用效率都比較高,因此具有很大的優(yōu)勢。

Java與數(shù)據(jù)庫的連接機(jī)制與CGI和API有所不同,在客戶機(jī)上運(yùn)行Java Applet通過JDBC技術(shù)可以繞過Web服務(wù)器直接和數(shù)據(jù)庫服務(wù)器連接,并直接把帶有結(jié)果的HTML頁返回客戶機(jī)瀏覽器。

象ODBC一樣,JDBC提供給程序員的編程接口是由兩部分組成,一是面向應(yīng)用程序的編程接口JDBC API,它是為應(yīng)用程序員提供的,二是供底層開發(fā)的驅(qū)動(dòng)程序接口JDBC Driver API,它是各個(gè)商業(yè)數(shù)據(jù)庫廠商提供的。目前,JDBC已經(jīng)得到了許多廠商的支持,包括 Borland,IBM,Oracle和Sybase等公司,當(dāng)前流行的大多數(shù)數(shù)據(jù)庫系統(tǒng)都推出了自己的JDBC驅(qū)動(dòng)程序。



二、結(jié)束語

數(shù)據(jù)庫在Web上的應(yīng)用無疑增強(qiáng)Web的功能和吸引力,我們可以采用不同的中間件解決方式把Web與數(shù)據(jù)庫相集成,達(dá)到綜合信息服務(wù)的目的。值得關(guān)注的是JDBC技術(shù),JDBC作為新的聯(lián)結(jié)Web服務(wù)器與數(shù)據(jù)庫的橋梁,同時(shí)仍保留著Java本身許多引人注目的特性,大多數(shù)流行的數(shù)據(jù)庫系統(tǒng)都已推出了自己的JDBC驅(qū)動(dòng)程序,其主要的問題則是代碼的執(zhí)行效率問題,同時(shí),還面臨著微軟公司的ActiveX的有力挑戰(zhàn)。





參 考 文 獻(xiàn)

1、[美]Jeffry Dwight等著 ,CGI開發(fā)使用手冊(cè),機(jī)械工業(yè)出版社

2、[美]Daniel J.Berlin,etal著,清華大學(xué)出版社

3、張世永編,數(shù)據(jù)庫與WWW,復(fù)旦大學(xué)出版社

4、陳品德,基于Web的信息系統(tǒng)的開發(fā),計(jì)算機(jī)工程(1998、3)

5、邵立兵,Sybase數(shù)據(jù)庫與Web的互連,計(jì)算機(jī)工程(1998、3)

6、陳喃,Java的遠(yuǎn)程數(shù)據(jù)庫訪問模型及其實(shí)現(xiàn),計(jì)算機(jī)系統(tǒng)應(yīng)用(1998、9)

7、劉東等,基于WWW的數(shù)據(jù)庫應(yīng)用,計(jì)算機(jī)系統(tǒng)應(yīng)用(1998,4)

8、羅東川,JAVA語言與DataBase 之間的接口--JDBC,計(jì)算機(jī)系統(tǒng)應(yīng)用(1998,3)

9、羅娟等,Web 與數(shù)據(jù)庫技術(shù),計(jì)算機(jī)工程(1998,8)

10、譚郁松等,基于Web環(huán)境下的異構(gòu)數(shù)據(jù)庫連接技術(shù)的研究與實(shí)現(xiàn),計(jì)算機(jī)工程(1998、8)



發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 福鼎市| 法库县| 保亭| 聂拉木县| 大新县| 科技| 广丰县| 翼城县| 吴忠市| 青浦区| 醴陵市| 梅州市| 梅州市| 祁阳县| 连平县| 青冈县| 若羌县| 改则县| 丰都县| 吉水县| 乡宁县| 龙口市| 濉溪县| 娄烦县| 上林县| 卢湾区| 西畴县| 锡林郭勒盟| 汶上县| 桑日县| 赞皇县| 台州市| 自治县| 澜沧| 阜新市| 彩票| 德阳市| 高清| 梁山县| 周至县| 德清县|