internet與數據庫
2024-07-21 02:07:42
供稿:網友
internet與數據庫
http://tech.sina.com.cn 2000/04/14 軟件世界 中國科學院軟件研究所李春曉
時代變了,問候語也變了。朋友見面,一句“吃了嗎?”,別
人準以為你剛從歷史中鉆出來,改問“上網了嗎?”說不定一聊就剎不住車。
而“internet”、“數據庫”,恐怕早已是計算機業內人士及廣大愛好者們津津樂道的詞匯了,足見int ernet和數據庫發展的如火如荼、勢不可擋。
走進internet
彈指一揮間,internet發展至今,正當而立之年的它,像一個龐大的蜘蛛網覆蓋著我們的星球。
究其本源,internet的名字來源于美國國防部的一個名為“the internetting proj ect”網絡項目,即arpanet。后來,由于美國國家基金會nsf(national science foun dation)的巨資投入,使得nsfnet在80年代后期成為internet的主干網。到了90年代,ans公司 (advanced network& service inc.)組建了新的高速主干網ansnet,并迅速與ns fnet的全部主干網點連通,從而成為目前的internet主干網。隨即internet呈燎原之勢,遍及全球。
當我們用一臺步入internet時,我們已在面對整個世界。
那么,internet都能干些什么?
internet的服務
細說internet的服務,數以萬計,但歸結起來大致可以分為三類:基本服務、信息服務和新聞公告類服務,見表1。
在internet的各類服務中,發展最快、最深入人心的當數www(world wide web)。它使用的技術主要是超文本標志語言html(hyper text markup language)和全球資源定位器u rl(universal resource locator),其精彩之處在于,只需手握鼠標輕輕一點便能“漫游” 全球,漫游過程恰與人腦的發散思維合拍。
www呼喚數據庫
www網上最基本的傳輸單位是頁面,一個預先寫好的頁面(靜態頁面)總是被保存在www服務器的文件系統中。
起初,www只支持較簡單的文檔,隨著應用需求的不斷提高和技術的發展,它不僅可以支持文字、圖形、圖像、聲音等多媒體信息,還可以支持一些較為復雜的對象,比如電子表格對象。web頁面中的精華是被稱為“超鏈接”的特殊正文,用戶使用瀏覽器從www服務器上讀取頁面,而超鏈接能夠使用戶在不同的頁面之間自由轉移,即所謂的“漫游”。
一個www的信息提供者在信息量及變動較少的情況下,可以不辭辛苦,一個一個寫頁面,然后存放在www服務器中守株待兔。一旦數據量大到一定程度,顯然只靠靜態頁面就捉襟見肘了。讓頁面動起來的想法由此應運而生,這時只好請數據庫粉墨登場,在“動態頁面”中扮演主角。
數據庫的登場,不僅解決了動態性,同時也讓那些有實時性、交互性要求的用戶滿意而歸。
走進數據庫
相對于internet來說,“數據庫”的名詞在50年代就已出現,可謂老資格了。為了管理復雜而龐大的數據,人們研究了各種組織、使用數據的方法,于是乎就有了各種數據庫的結構模型,總括起來,不外乎層次型、網絡型、關系型和面向對象型。但四個兄弟中,還是關系型算老大,應用得最多。看來搞好關系并不是人的專利。
較大型的數據庫,比如oracle、ibm、informix、sybase等,都可以有效地組織和管理大批量數據,并且進行快速的查詢。這正是web數據庫應用的基礎。
web與數據庫的結合
將web與數據庫相結合,開發動態的web數據庫應用,已成為一門新技術。要了解數據庫所處的位置,通過動靜頁面處理上的比較就不言自明了。
除了通用網關接口(cgi)之外,還可以用應用程序編程接口(api)實現與數據庫的交互。cgi提供了一種與數據庫連接的簡單方法,但它的局限性也是明顯的,對于每次請求都要重新啟動cgi程序,既影響速度又浪費資源,導致性能降低和等待時間增加。與cgi相比,api應用程序與web服務器結合更緊密,占用系統的資源也要少得多,運行效率大大提高。但api也不全是優點,因為開發api應用程序要比開發cgi應用程序復雜得多,而且各種api之間兼容性較差。
除了在web服務器端采用上述方法之外,還可以通過web瀏覽器把應用下載到客戶端運行,在客戶端直接訪問數據庫。客戶端應用包括:java applet、activex、plug-in等,其中最典型的是java app let。
在java applet中訪問數據庫,可以使用jdbc(java database connectiv ity)技術,通過jdbc提供的api來實現對分布在網上的不同數據庫的各種操作,還可以把對數據庫的訪問交給專用服務器來完成,而java applet通過與專用的服務器的socket通信來傳遞數據庫操作的請求和結果。
流行的web數據庫產品
1.microsoft
microsoft的web服務器產品為internet information server(iis) ,它提供isapi(intranet server api)作為擴展web服務器功能的編程接口;同時,它還提供一個internet數據庫連接器(idc),可以實現對數據庫的查詢和更新。microsoft的另一個產品是mi crosoft visual interdev,又提出了asp(active server pages)作為實現動態web應用的解決方案。microsoft visual interdev是一個web應用快速開發環境,它提供了服務器和客戶機端的編程工具、數據庫工具和內容編輯工具,還提供集成化的站點管理功能。
2.netscape
為了提高性能,netscape在它的web服務器中引進了應用程序編程接口nsapi(netscape server api)。利用nsapi,開發人員可以擴展服務器的功能,包括對外部數據庫的訪問。nsapi可支持 windows nt、solaris和hp/ux等平臺,但目前還缺少較好的開發工具來進行nsapi的直接編程。
3.oracle
oracle webserver不僅僅是一個web服務器產品,通過其高效率、多線程的可伸縮體系結構,o racle webserver能與oracle數據庫有效結合,并提供相應的開發環境,因而也是開發web數據庫應用的工具。
4.informix
iuwa與其他web解決方案不同,它在informix數據庫中智能化地管理全部web應用程序,包括ht ml文檔、應用程序模板及各種多媒體內容。主要有iuwc、iuserver、數據刀片等工具和服務。
5.borland
borland在開發工具方面一直居領先地位,特別表現在它基于dbe(borland databa en gine)的開放數據庫連接技術及delphi的可視化快速應用程序開發(rad)工具等方面。delphi的客戶/ 服務器版本不僅是一種高效的客戶/服務器快速應用開發工具,更提供了面向web應用的新技術。
6.sybase
sybase提出了連接web服務器和sybase數據庫服務器的一個中間件web.sql,可運行于win dows nt、sun solaris等平臺;它支持cgi和nsapi兩種接口。sybase的pb(power builder)從5.0起也增加了許多對internet的支持,使得開發人員可以快速地建立、動態web服務器的應用。
總之,以上產品和技術各有特色,但還沒有一種能夠同時兼容不同的操作系統、web服務器和數據庫系統,并且具有較好的開發和運行效率。因此在設計系統時要各種因素綜合考慮。
表1
服務類別服務名稱簡述
基本類電子郵件(e_mail)通過網絡實現internet用戶之間的快速、低廉的通信。
基本類遠程登錄(telnet) internet用戶通過telnet協議,用仿真終端方式遠程登錄到in ternet主機。
基本類文件傳送服務(ftp) internet用戶通過ftp協議,將文件在計算機間傳送。
信息類 gopher意為“go for”,通過gopher協議,使用多級菜單界面為internet用戶提供信息查詢功能。
信息類 wais為internet用戶提供自動查詢分布在網上的各類數據庫的功能。
信息類 www(world wide web)基于超文本的信息查詢工具,可實現全球范圍的各類信息的檢索。
新聞公告類網絡新聞(usenet)利用網絡進行討論的國際論壇。
新聞公告類電子公告板(bbs)發布公告信息。