1. gzyueqian
      18529173453
      首頁 > 新聞中心 > > 正文

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

      更新時間: 2007-06-12 09:40:40來源: 粵嵌教育瀏覽量:1173

        摘要:介紹了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ǔ)。

       中間件負(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)對當(dāng)前幾種流行的中間件的解決方案作一討論。

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

        CGI是一種Web站點(diǎn)上可以用來訪問Web站點(diǎn)的用戶交互的各種程序的標(biāo)準(zhǔn),使用CGI腳本允許用戶在瀏覽器中等服務(wù)器上的數(shù)據(jù)庫交互,完成對數(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ù)轉(zhuǎn)化為SQL命令,交數(shù)據(jù)庫服務(wù)器執(zhí)行,然后CGI程序返回處理結(jié)果給Web服務(wù)器,向客戶機(jī)返回HTML或純文本格式的結(jié)果并斷開連接。

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

        2.ASP(Active Server Pages)

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

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

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

        鑒于CGI的一些缺陷,Microsoft和Netscape開發(fā)了專用的Web服務(wù)器中的程序代碼(如動態(tài)鏈接庫DLL),且一般與Web服務(wù)器軟件處在內(nèi)存的同一地址空間中,因此每次調(diào)用時是在內(nèi)存中運(yùn)行相應(yīng)的程序段,而不是像CGI那樣需要啟動新的進(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的一個動態(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語言寫成的,通過它一個程序開發(fā)者可以在Java語言中建立與數(shù)據(jù)庫的鏈接,執(zhí)行SQL語句和處理SQL語句返回的結(jié)果。

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

        采用JDBC技術(shù)其工作方式為:客戶端首先訪問Web服務(wù)器,下載Java字節(jié)碼文件,并將Applet相關(guān)類的字節(jié)碼文件和JDBC接口字節(jié)碼文件下栽到客戶端,然后與Web服務(wù)器脫離,接著Applet根據(jù)數(shù)據(jù)庫地址,端口號和帳號與數(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ū)動程序接口JDBC Driver API,它是各個商業(yè)數(shù)據(jù)庫廠商提供的。目前,JDBC已經(jīng)得到了許多廠商的支持,包括 Borland,IBM,Oracle和Sybase等公司,當(dāng)前流行的大多數(shù)數(shù)據(jù)庫系統(tǒng)都推出了自己的JDBC驅(qū)動程序。

        二、結(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ù)庫的橋梁,同時仍保留著Java本身許多引人注目的特性,大多數(shù)流行的數(shù)據(jù)庫系統(tǒng)都已推出了自己的JDBC驅(qū)動程序,其主要的問題則是代碼的執(zhí)行效率問題,同時,還面臨著微軟公司的ActiveX的有力挑戰(zhàn)。

        參考文獻(xiàn)

        1、[美]Jeffry Dwight等著 ,CGI開發(fā)使用手冊,機(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èi)預(yù)約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 日韩精品亚洲国产另类 | 日本免费人成视频播放120秒 | 亚洲国产无在线观看 | 亚洲国产精品久久一线北 | 中文一区二区三区亚洲欧美 | 中文字幕乱码无遮挡 |