API兩種。
(一)、基於通用網關接口CGI
CGI是WWW服務器運行時外部程序的規範,按照CGI編寫的程序可以擴展服務器的功能,完成服務器本身不能完成的工作,外部程序執行時間可以生成HTML文檔,並將文檔返回WWW服務器。CGI應用程序能夠與瀏覽器進行交互作用,還可以通過數據庫的API與數據庫服務器等外部數據源進行通信,如一個CGI程序可以從數據庫服務器中獲取數據,然後格式化為HTML文檔後發送給瀏覽器,也可以將從瀏覽器獲得的數據放到數據庫中。幾乎使用的服務器軟件都支持CGI,開發人員可以使用任何一種WWW服務器內置語言編寫CGI,其中包括流行的C、C、VB和Delphi等。
從體係結構上來看,用戶通過Web瀏覽器輸入查詢信息,瀏覽器通過HTTP協議向Web服務器發出帶有查詢信息的請求,Web服務器按照CGI協議激活外部CGI程序,由該程序向DBMS發出SQL請求並將結果轉化為HTML後返回給Web服務器。再由Web服務器返回給Web瀏覽器。這種結構體現了客戶\/服務器方式的三層模型,其中Web服務器和CGI程序實際起到了HTML和SQL轉換的網關的作用。CGI的典型操作過程是:分析CGI數據;打開與DBMS的連接;發送SQL請求並得到結果;將結果轉化為HTML;關閉DBMS的連接;將HTML結果返回給Web服務器。
基於Web的數據庫訪問利用已有的信息資源和服務器。其訪問頻率大,尤其是熱點數據。但其主要的缺點是:客戶端與後端數據庫服務器通信必須通過Web服務器,且Web服務器要進行數據與HTML文檔的互相轉換,當多個用戶同時發出請求時,必然在Web服務器形成信息和發布瓶頸。CGI應用程序每次運行都需打開和關閉數據庫連接,效率低,操作費時;CGI應用程序不能由多個客戶機請求共享,即使新請求到來時CGI程序正在運行,也會啟動另一個CGI應用程序,隨著並行請求的數量增加,服務器上將生成越來越多的進程。為每個請求都生成進程既費時又需要大量內存,影響了資源的使用效率,導致性能降低並增加等待時間;由於SQL與HTML差異很大,CGI程序中的轉換代碼編寫繁瑣,維護困難;安全性差,缺少用戶訪問控製,對數據庫難以設置安全訪問權限;HTTP協議是無狀態且沒有常連接的協議,DBMS事務的提交與否無法得到驗證,不能構造Web上的OLTP應用。
(二)、基於服務器擴展的API
為了克服CGI的局限性,出現的另一種中間件解決方案是基於服務器擴展API的結構。與CGI相比,API應用程序與Web服務器結合得更加緊密,占用的係統資源也少得多,而運行效率卻大大提高,同時還提供更好的保護和安全性。
服務器API一般作為一個DLL提供,是駐留在WWW服務器中的程序代碼,其擴展WWW服務器的功能與CGI相同。WWW開發人員不僅可以API解決CGI可以解決的一切問題,而且能夠進一步解決基於不同WWW應用程序的特殊請求。各種API與其相應的WWW服務器緊密結合,其初始開發目標服務器的運行性能進一步發掘、提高。用API開發的程序比用CGI開發的程序在性能上提高了很多,但開發API程序比開發CGI程序要複雜得多。API應用程序需要一些編程方麵的專門知識,如多線程、進程同步、直接協議編程以及錯誤處理等。目前主要的WWWAPI有Microsoft公司的ISAPI、Netscape公司的NSAPI和OReily公司的WSAPI等。使用ISPAI開發的程序性能要優於用CGI開發的程序,這主要是因為ISAPI應用程序是一些與WWW服務器軟件處於同一地址空間的DLL,因此所有的HTTP服務器進程能夠直接利用各種資源這顯然比調用不在同一地址空間的CGI程序語句要占用更少的係統時間。而NSAPI同ISAPI一樣,給WWW開發人員定製了NetscapeWWW服務器基本服務的功能。開發人員利用NSAPI可以開發與WWW服務器的接口,以及與數據庫服務器等外部資源的接口。
雖然基於服務器擴展API的結構可以方便、靈活地實現各種功能,連接所有支持32位ODBC的數據庫係統,但這種結構的缺陷也是明顯的:各種API之間兼容性很差,缺乏統一的標準來管理這些接口;開發API應用程序也要比開發CGI應用複雜得多;這些API隻能工作在專用Web服務器和操作係統上。
請到𝐨𝐨𝐩.𝐭𝐰查看完整章節
術技庫據數beW的CBDJ於基、)三(
。IPA問訪庫據數的言語avaJ為作,CBDJ了定指司公tfoSavaJ,展擴的同相不各麵方問訪庫據數在avaJ對現出止防了為。高越來越聲呼的能功問訪庫據數供提avaJ求要,入深的用應著隨,能功的問訪庫據數有沒並言語avaJ的初最而。源資器務服他其和地本問訪地立獨可,樣一序程地本像就序程小的載下些這。行運器覽瀏地本到序程小avaJ載下上器務服WWW從以可戶用tenretnI。感動和力活了有麵頁WWW使,出推的avaJ
。能功息信體媒多等頻視、音聲和能功形圖的富豐供提,互交地戶用與現實地便方以可,時同;陷缺些一法方IPA了服克而從。案方了供提問訪beW的接直行進統係庫據數跨台平跨為,麵界戶用的一統個一了供提上次層的能功庫據數的同不在,口接序程用應的層低用通個一的能功LQS本基持支是CBDJ;性全安了高提,決解來製機全安的地本器務服庫據數由以可製控問訪戶用;性限局些一的法方IGC了開避而從,入介的庫據數beW要需再不,庫據數問訪接直:於在點優的庫據數問訪中telppAavaJ在,術技CBDJ用采
J由,IPA口接序程用應avaJ的句語LQS行執於用是CBDJ