已閱讀5頁(yè),還剩70頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
.,1,WebGIS的實(shí)現(xiàn)技術(shù),.,2,Web的基本知識(shí)-Web服務(wù)器,Web服務(wù)器是指駐留于因特網(wǎng)上某種類(lèi)型計(jì)算機(jī)的程序。當(dāng)Web瀏覽器(客戶端)連到服務(wù)器上并請(qǐng)求文件時(shí),服務(wù)器將處理該請(qǐng)求并將文件發(fā)送到該瀏覽器上,附帶的信息會(huì)告訴瀏覽器如何查看該文件(即文件類(lèi)型)。服務(wù)器使用HTTP(超文本傳輸協(xié)議)進(jìn)行信息交流,這就是人們常把它們稱(chēng)為HTTP服務(wù)器的原因。Web的主要功能是信息發(fā)布,.,3,Web服務(wù)器-工作模式,阻塞模式(Blockingmodel)當(dāng)服務(wù)器正在響應(yīng)一個(gè)客戶機(jī)的請(qǐng)求時(shí),其他客戶機(jī)請(qǐng)求均不被響應(yīng),只能等待當(dāng)前客戶機(jī)的請(qǐng)求結(jié)束多路復(fù)用模式(Multiplexingmodel)采用分時(shí)策略,允許同時(shí)處理多個(gè)用戶的請(qǐng)求。如果同時(shí)有N個(gè)用戶要求服務(wù),服務(wù)器會(huì)先為第一個(gè)用戶做一點(diǎn)工作,再為第二個(gè)用戶做一點(diǎn),再為第N個(gè)用戶服務(wù)后,再為第一個(gè)用戶服務(wù),依此類(lèi)推,.,4,派生模式(Forkingmodel)在接到用戶請(qǐng)求后,服務(wù)器就派生一個(gè)與自己一樣的進(jìn)程去響應(yīng)用戶的請(qǐng)求進(jìn)程池(Processpool)當(dāng)進(jìn)程池服務(wù)器啟動(dòng)時(shí),會(huì)創(chuàng)建一組子進(jìn)程去幫助它響應(yīng)用戶的請(qǐng)求。與派生模式相比,這種模式的優(yōu)勢(shì)在于不必派生出多個(gè)副本,只需創(chuàng)建一些小巧的子進(jìn)程去快速地處理特定的工作,這樣可以大大減少對(duì)內(nèi)存的需求,并提高服務(wù)器的運(yùn)行效率。,Web服務(wù)器-工作模式,.,5,Web服務(wù)器-常用軟件,NCSAServer(httpd)NetscapeCommunicationsServerNetscapeEnterpriseServerApacheServerInternetinformationserverTomcatweblogic(服務(wù)器比較請(qǐng)參考),.,6,Web擴(kuò)展,一些問(wèn)題某些數(shù)據(jù)格式瀏覽器不支持靜態(tài)網(wǎng)頁(yè)和動(dòng)態(tài)網(wǎng)頁(yè)問(wèn)題用戶交互問(wèn)題解決的方法客戶端擴(kuò)展插件、ActiveX、JavaApplet、腳本語(yǔ)言服務(wù)器端擴(kuò)展CGI、類(lèi)CGI、ASP.NET、JSP+Servlet+Bean,.,7,擴(kuò)展web客戶機(jī)-MIME助理應(yīng)用程序,MIME(MultipurposeInternetMailExtensions,多用途Internet郵件擴(kuò)展)是創(chuàng)建用于電子郵件交換,網(wǎng)絡(luò)文檔,及企業(yè)網(wǎng)和Internet上的其他應(yīng)用程序中的文件格式的規(guī)范每個(gè)MIME格式包含一個(gè)MIME內(nèi)容類(lèi)型(“MIMEtype”)和指示存儲(chǔ)在這個(gè)文件中的數(shù)據(jù)的子類(lèi)型。MIME類(lèi)型和子類(lèi)型一般以類(lèi)型/子類(lèi)型的形式列出,其中有7個(gè)頂層類(lèi)型,如text,image,video,application例如,一個(gè)MPEG視頻文件將會(huì)以video/mpeg的形式列出。MIME類(lèi)型/子類(lèi)型列表包括可接受的文件名擴(kuò)展名。例如,列出一個(gè)MPEG文件的MIME信息的表格可能包含如下的一個(gè)MPEG條目:video/mpeg.mpe,.mpeg,.mpgApplication/msword,.,8,Browser,WebServer,HTTP,HelperApplication,HelperApplication-工作原理,.,9,HelperApplication-工作步驟,例如,你可以將一個(gè)MPEG文件連接到一個(gè)網(wǎng)頁(yè)上。當(dāng)用戶瀏覽這個(gè)網(wǎng)頁(yè)單擊這個(gè)MPEG文件連接時(shí),當(dāng)下載這個(gè)MPEG文件到這個(gè)瀏覽器顯示時(shí),WebServer和瀏覽器執(zhí)行下面的事件序列:,連同這個(gè)文件,服務(wù)器將MIME類(lèi)型和子類(lèi)型(video/mpeg,video/mpe,或video/mpg)發(fā)送到這個(gè)瀏覽器如果對(duì)MPEGMIME格式的支持是固有的,這個(gè)瀏覽器就會(huì)顯示這個(gè)文件如果這瀏覽器不包含對(duì)MIME格式的固有支持,這個(gè)瀏覽器在它的MIME助理應(yīng)用程序(MIMEhelperapplication)的數(shù)據(jù)庫(kù)中查找這個(gè)文件名擴(kuò)展名。然后,它或者選擇相應(yīng)的助理應(yīng)用程序顯示這個(gè)文件或者返回一個(gè)錯(cuò)誤信息,.,10,擴(kuò)展web客戶機(jī)-插件(plug-in),為了在HTML頁(yè)面中實(shí)現(xiàn)音頻、視頻等更為復(fù)雜的多媒體應(yīng)用,1996年的Netscape2.0成功地引入了對(duì)QuickTime插件的支持,插件這種開(kāi)發(fā)方式也迅速風(fēng)靡了瀏覽器的世界。1999年,Realplayer插件先后在Netscape和IE瀏覽器中取得了成功,與此同時(shí),Microsoft自己的媒體播放插件MediaPlayer也被預(yù)裝到了各種Windows版本之中。1990年代初期,JonathanGay在FutureWave公司開(kāi)發(fā)了一種名為FutureSplashAnimator的二維矢量動(dòng)畫(huà)展示工具,1996年,Macromedia公司收購(gòu)了FutureWave,并將JonathanGay的發(fā)明改名為我們熟悉的Flash。,.,11,插件-作用,利用插件(Plug-Ins),程序員可以方便地為瀏覽器增加新的功能,用戶只需要下載一些代碼這些代碼的作用是告訴瀏覽器,“從現(xiàn)在開(kāi)始,你有了新的功能”插件遵循一定的規(guī)范,可以用多種語(yǔ)言編寫(xiě)插件的編寫(xiě)不是一個(gè)簡(jiǎn)單的任務(wù),.,12,插件-工作原理,Browser,WebServer,HTTP,plug-in,.,13,這是一個(gè)FLASH插件,插件-embed元素,.,14,擴(kuò)展web客戶機(jī)-ActiveX,在Windows平臺(tái)上,Microsoft將客戶端應(yīng)用集成的賭注押到了1990年代中期剛剛問(wèn)世的COM和ActiveX身上。1996年,IE3.0正式支持在HTML頁(yè)面中插入ActiveX控件的功能,這為其他廠商擴(kuò)展Web客戶端的信息展現(xiàn)方式開(kāi)辟了一條自由之路。從1997年的IE4.0開(kāi)始,Microsoft為開(kāi)發(fā)者提供了WebBrowser控件和其他相關(guān)的COM接口,允許程序員在自己的程序中直接嵌入瀏覽器窗口,或調(diào)用各種瀏覽器的功能,如分析或編輯HTML頁(yè)面等。,.,15,ActiveX-工作原理,Browser,WebServer,HTTP,ActiveX,.,16,ActiveX-object元素,.,17,插件-常用插件,插件是一種遵循一定規(guī)范的應(yīng)用程序接口編寫(xiě)出來(lái)的程序;插件的作用是處理特定類(lèi)型的文件以擴(kuò)展瀏覽器功能;插件的存在形式一般是動(dòng)態(tài)連接庫(kù)(dll);插件有三種工作模式:嵌入、全屏幕和隱藏;IE瀏覽器常見(jiàn)的插件例如:Flash插件、RealPlayer插件、MSMediaPlayer插件、MIDI五線譜插件,ActiveX插件等等。,.,18,擴(kuò)展web客戶機(jī)-Java歷史,Java是一種跨平臺(tái),適合于分布式計(jì)算環(huán)境的面向?qū)ο蟮牡木幊陶Z(yǔ)言Java的歷史1991年,SUNMicroSystem公司的JameGosling等人,為在電視、控制烤面包箱等家用消費(fèi)類(lèi)電子產(chǎn)品上進(jìn)行交互式操作而開(kāi)發(fā)了一個(gè)名為Oak的軟件1994年下半年,Internet的迅猛發(fā)展,環(huán)球信息網(wǎng)WWW的快速增長(zhǎng),促進(jìn)了Java語(yǔ)言研制的進(jìn)展,使得它逐漸成為Internet上受歡迎的開(kāi)發(fā)與編程語(yǔ)言,.,19,JAVA-Java的歷史,1995年,JavaBeta1通過(guò)SUN公司的Web站點(diǎn)發(fā)布1996年,Java1.0正式發(fā)布,Netscape瀏覽器在其2.0版中增加了對(duì)JavaApplet和JavaScript的支持Microsoft的IE3.0也在這一年開(kāi)始支持Java技術(shù)現(xiàn)在,喜歡動(dòng)畫(huà)、喜歡交互操作、喜歡客戶端應(yīng)用的開(kāi)發(fā)人員可以用Java語(yǔ)言隨心所欲地豐富HTML頁(yè)面的功能了,.,20,JAVA-Java的特點(diǎn),(1)簡(jiǎn)單性,Java語(yǔ)言是一種面向?qū)ο蟮恼Z(yǔ)言,它通過(guò)提供最基本的方法來(lái)完成指定的任務(wù),只需理解一些基本的概念,就可以用它編寫(xiě)出適合于各種情況的應(yīng)用程序(2)面向?qū)ο蟮恼Z(yǔ)言,結(jié)構(gòu)化程序:程序=算法+數(shù)據(jù)結(jié)構(gòu);面向?qū)ο螅撼绦?對(duì)象+消息(3)平臺(tái)無(wú)關(guān)性(虛擬機(jī)結(jié)構(gòu)中立),Java編譯器生成與體系結(jié)構(gòu)無(wú)關(guān)的字節(jié)碼指令,只要安裝了Java運(yùn)行時(shí)系統(tǒng),Java程序就可在任意的處理器上運(yùn)行。這些字節(jié)碼指令對(duì)應(yīng)于Java虛擬機(jī)中的表示,Java解釋器得到字節(jié)碼后,對(duì)它進(jìn)行轉(zhuǎn)換,使之能夠在不同的平臺(tái)運(yùn)行。,.,21,JAVA-Java的特點(diǎn),(4)多線程,多線程機(jī)制使應(yīng)用程序能夠并行執(zhí)行,而且同步機(jī)制保證了對(duì)共享數(shù)據(jù)的正確操作(5)可靠性,Java雖然源于C+,但它消除了許多C+不可靠因素,可以防止許多編程錯(cuò)誤。Java是強(qiáng)類(lèi)型的語(yǔ)言,要求顯式的方法聲明,這保證了編譯器可以發(fā)現(xiàn)方法調(diào)用錯(cuò)誤,保證程序更加可靠Java不支持指針,這杜絕了內(nèi)存的非法訪問(wèn)Java的自動(dòng)單元收集防止了內(nèi)存丟失等動(dòng)態(tài)內(nèi)存分配導(dǎo)致的問(wèn)題Java解釋器運(yùn)行時(shí)實(shí)施檢查,可以發(fā)現(xiàn)數(shù)組和字符串訪問(wèn)的越界最后,Java提供了異常處理機(jī)制,.,22,JAVA-Java的特點(diǎn),(6)安全性,如果沒(méi)有安全保證,用戶從網(wǎng)絡(luò)下載程序執(zhí)行就非常危險(xiǎn)。Java通過(guò)自己的安全機(jī)制防止了病毒程序的產(chǎn)生和下載程序?qū)Ρ镜叵到y(tǒng)的威脅破壞。當(dāng)Java字節(jié)碼進(jìn)入解釋器時(shí),首先必須經(jīng)過(guò)字節(jié)碼校驗(yàn)器的檢查,然后,Java解釋器將決定程序中類(lèi)的內(nèi)存布局,隨后,類(lèi)裝載器負(fù)責(zé)把來(lái)自網(wǎng)絡(luò)的類(lèi)裝載到單獨(dú)的內(nèi)存區(qū)域,避免應(yīng)用程序之間相互干擾破壞。最后,客戶端用戶還可以限制從網(wǎng)絡(luò)上裝載的類(lèi)只能訪問(wèn)某些文件系統(tǒng)。上述幾種機(jī)制結(jié)合起來(lái),使得Java成為安全的編程語(yǔ)言(7)分布性,Java是面向網(wǎng)絡(luò)的語(yǔ)言。通過(guò)它提供的類(lèi)庫(kù)可以處理TCPIP協(xié)議,用戶可以通過(guò)URL地址在網(wǎng)絡(luò)上很方便地訪問(wèn)其它對(duì)象(8)可移植性,與平臺(tái)無(wú)關(guān)的特性使Java程序可以方便地被移植到網(wǎng)絡(luò)上的不同機(jī)器。同時(shí),Java的類(lèi)庫(kù)中也實(shí)現(xiàn)了與不同平臺(tái)的接口,使這些類(lèi)庫(kù)可以移植。另外,Java編譯器是由Java語(yǔ)言實(shí)現(xiàn)的,Java運(yùn)行時(shí)系統(tǒng)由標(biāo)準(zhǔn)C實(shí)現(xiàn),這使得Java系統(tǒng)本身也具有可移植性,.,23,JAVA-Java的特點(diǎn),(9)解釋性,Java解釋器直接對(duì)Java字節(jié)碼進(jìn)行解釋執(zhí)行。字節(jié)碼本身攜帶了許多編譯時(shí)信息,使得連接過(guò)程更加簡(jiǎn)單(10)高性能,和其它解釋執(zhí)行的語(yǔ)言如BASIC、TCL不同,Java字節(jié)碼的設(shè)計(jì)使之能很容易地直接轉(zhuǎn)換成對(duì)應(yīng)于特定CPU的機(jī)器碼,從而得到較高的性能(11)動(dòng)態(tài),Java的設(shè)計(jì)使它適合于一個(gè)不斷發(fā)展的環(huán)境。在類(lèi)庫(kù)中可以自由地加入新的方法和實(shí)例變量而不會(huì)影響用戶程序的執(zhí)行。并且Java通過(guò)接口來(lái)支持多重繼承,使之比嚴(yán)格的類(lèi)繼承具有更靈活的方式和擴(kuò)展性,.,24,JAVA-JDK和Java應(yīng)用種類(lèi),JDK是整個(gè)Java的核心,包括了Java運(yùn)行環(huán)境,一堆Java工具和Java基礎(chǔ)類(lèi)庫(kù)JAVA三個(gè)版本:J2EE、J2SE、J2MEJAVA應(yīng)用種類(lèi)JavaScriptJavaApplicationJavaAppletJSPJavaServletJavaBeans,.,25,Applet是一種非常小的程序,只能在Web瀏覽器中運(yùn)行。作為Web頁(yè)的一部分,Applet會(huì)自動(dòng)下載(和Web頁(yè)上的圖片差不多)激活A(yù)pplet后,它會(huì)執(zhí)行一段程序優(yōu)點(diǎn)Java是一種全功能的編程語(yǔ)言,所以在客戶端可以完成許多工作,例如輸入數(shù)據(jù)的校驗(yàn)Applet自動(dòng)下載,自動(dòng)更新升級(jí)版本Java是跨平臺(tái)的,所以Applet可以在大多數(shù)安轉(zhuǎn)Java虛擬機(jī)的瀏覽器上運(yùn)行和腳本語(yǔ)言相比,1)速度快;2)代碼安全,JAVA-Applet,.,26,JavaApplet-工作原理,Browser,WebServer,HTTP,JavaApplet,.,27,JavaApplet-JavaApplet元素,alt=Yourbrowserunderstandsthetag!,.,28,擴(kuò)展web客戶機(jī)-JavaScript,BScript,通過(guò)腳本語(yǔ)言,可將用于客戶端程序的源碼直接插入HTML中,對(duì)腳本語(yǔ)言進(jìn)行解釋會(huì)在HTML顯示的時(shí)候自動(dòng)激活腳本語(yǔ)言簡(jiǎn)單,它是HTML的一部分下載快,能夠解決客戶端編程中80%的問(wèn)題腳本語(yǔ)言缺點(diǎn):1)不能作復(fù)雜的事情;2)代碼公開(kāi)最常見(jiàn)的兩種腳本語(yǔ)言JavaScript和VBSrcipt,.,29,JavaScript,VBScript-工作原理,Browser,WebServer,HTTP,JavaScript,在考慮其它更復(fù)雜的方案之前(例如ActiveX、Applet),首先考慮一下腳本語(yǔ)言是否可行,.,30,擴(kuò)展web服務(wù)器-CGI,CGI的定義CGI(CommonGatewayInterface通用網(wǎng)關(guān)接口)是定義標(biāo)準(zhǔn)數(shù)據(jù)結(jié)構(gòu)和方法的規(guī)范,是外部應(yīng)用程序與Web服務(wù)器之間的接口標(biāo)準(zhǔn)CGI的功能絕大多數(shù)的CGI程序被用來(lái)解釋處理傳自表單的輸入信息,并在服務(wù)器產(chǎn)生相應(yīng)的處理,或?qū)⑾鄳?yīng)的信息反饋給瀏覽器。CGI程序使網(wǎng)頁(yè)具有交互和動(dòng)態(tài)功能,.,31,CGI-工作原理,Browser,WebServer,HTTP,ApplicationExtension,CGI,PerlC/C+VisualBasicShellScript,.tw/cgi-bin/x_list?BOARD=tw.bbs.soc.politics.tw/cgi-bin/x_list?BOARD=tw.bbs.soc.politicsread_cgi_input(,.,33,CGI-CGI處理步驟,通過(guò)Internet把用戶請(qǐng)求送到服務(wù)器服務(wù)器接收用戶請(qǐng)求并交給CGI程序處理CGI程序把處理結(jié)果傳送給服務(wù)器服務(wù)器把結(jié)果送回到用戶,WebBrowser,WebServer,C/PerlProgram,Name=Sana,Name=Sana,Hello,Sana!,Hello,Sana!,.,34,CGI-CGI的特點(diǎn),優(yōu)點(diǎn):CGI提供了一種獨(dú)立于平臺(tái)、獨(dú)立于各種Web服務(wù)器、獨(dú)立于各種編程語(yǔ)言的,簡(jiǎn)明的、標(biāo)準(zhǔn)的動(dòng)態(tài)Web頁(yè)面開(kāi)發(fā)辦法缺點(diǎn):瓶頸之一是瀏覽器和web服務(wù)器不能處理超過(guò)一定長(zhǎng)度的URL,通常是4KB瓶頸之二是性能問(wèn)題,為了創(chuàng)建進(jìn)程以及連接狀態(tài)等等,要消耗掉大量的資源瓶頸之三是開(kāi)發(fā)問(wèn)題,CGI接口根本談不上“面向?qū)ο蟆钡鹊雀呒?jí)編程技術(shù),它是一種非常底層的API,開(kāi)發(fā)困難另外,如何在多次請(qǐng)求之間維護(hù)狀態(tài)信息、Transaction、開(kāi)發(fā)更強(qiáng)的動(dòng)態(tài)交互的Web站點(diǎn)等等,用CGI實(shí)現(xiàn)起來(lái)都是非常的困難,甚至是根本不可能實(shí)現(xiàn)的,.,35,擴(kuò)展web服務(wù)器-服務(wù)器API,ServerAPI應(yīng)用程序是Web服務(wù)器應(yīng)用程序的擴(kuò)展,它的基本思想是基于動(dòng)態(tài)鏈接庫(kù)(DLL),使得服務(wù)器程序運(yùn)行速度提高并且減輕了系統(tǒng)的負(fù)載。從而改進(jìn)了CGI技術(shù),消除了啟動(dòng)和關(guān)閉每一個(gè)單獨(dú)應(yīng)用程序所需的開(kāi)銷(xiāo),改善了Web服務(wù)的響應(yīng)性能常見(jiàn)的ServerAPI有Netscape的NSAPI和Microsoft的ISAPI,.,36,SAPI-工作模式,Browser,WebServer,HTTP,ApplicationExtension,SAPI,PHP,.,37,服務(wù)器API-服務(wù)器API的缺點(diǎn),Netscape的NSAPI、微軟的ISAPI等等服務(wù)器API接口技術(shù),確實(shí)解決了許多標(biāo)準(zhǔn)的CGI技術(shù)難以解決的問(wèn)題。但是這些服務(wù)器API接口技術(shù)帶來(lái)的嚴(yán)重問(wèn)題是,他們完全依賴于特定的Web服務(wù)器、依賴于特定的編程語(yǔ)言;并且,利用這些API開(kāi)發(fā)程序必須得特別小心,一個(gè)程序中的小錯(cuò)誤就極有可能導(dǎo)致整個(gè)系統(tǒng)死機(jī)。,.,38,WEBGIS內(nèi)容,WEBGIS,.,39,系統(tǒng)分類(lèi),基于服務(wù)器的應(yīng)用系統(tǒng)(Server-side)基于客戶機(jī)的應(yīng)用系統(tǒng)(Client-side),將現(xiàn)有的WEBGIS應(yīng)用系統(tǒng)主要分為兩類(lèi):,.,40,任務(wù)比較,.,41,基于服務(wù)器的應(yīng)用系統(tǒng),基于服務(wù)器的WebGIS依賴服務(wù)器上的GIS系統(tǒng)完成GIS分析和產(chǎn)生輸出工作。Web瀏覽器充當(dāng)前端的對(duì)用戶友好的接口。用戶在客戶機(jī)端Web瀏覽器上初始化URL請(qǐng)求(一個(gè)GIS操作),此請(qǐng)求通過(guò)互聯(lián)網(wǎng)送給服務(wù)器。服務(wù)器接受此請(qǐng)求,處理請(qǐng)求,并將處理結(jié)果返回客戶端。,.,42,基于服務(wù)器的應(yīng)用系統(tǒng),.,43,基于CGI的WebGIS是基于HTML的擴(kuò)展,需要在后臺(tái)運(yùn)行GIS服務(wù)器。GIS服務(wù)器和Web服務(wù)器通過(guò)CGI連接。其優(yōu)點(diǎn)是所有的操作、分析由服務(wù)器完成,因而客戶端很??;同時(shí),有利于充分利用服務(wù)器的資源,發(fā)揮服務(wù)器的最大潛力。但是客戶端的功能受到互聯(lián)網(wǎng)瀏覽器和HTML的限制,JPEG和GIF是客戶端操作的唯一形式。而且,它增加了互聯(lián)網(wǎng)和服務(wù)器的負(fù)擔(dān),工作效率受到影響。,.,44,基于客戶端的應(yīng)用系統(tǒng),基于客戶機(jī)端的WebGIS允許GIS分析和GIS數(shù)據(jù)處理在客戶機(jī)端執(zhí)行。這些GIS分析工具和GIS數(shù)據(jù)最初駐留在服務(wù)器上。用戶通過(guò)瀏覽器向服務(wù)器發(fā)出需要GIS數(shù)據(jù)和GIS處理工具的請(qǐng)求;服務(wù)器將所需要的GIS數(shù)據(jù)和GIS處理工具傳送給客戶機(jī)端??蛻魴C(jī)端接受所需要的GIS數(shù)據(jù)和GIS處理工具,按照用戶的操作,進(jìn)行GIS數(shù)據(jù)處理和分析;此時(shí)無(wú)須服務(wù)器的參與。由于所需要的GIS數(shù)據(jù)和GIS處理工具已經(jīng)到客戶機(jī)端,因而具有操作方便、靈活、速度快等優(yōu)勢(shì)?;诳蛻魴C(jī)端的互聯(lián)網(wǎng)地理信息系統(tǒng)工作方式有GISPlugin,GISActiveX和GISJavaApplet等。,.,45,構(gòu)造模式分析,服務(wù)器端的互聯(lián)網(wǎng)地理信息系統(tǒng)的構(gòu)造模式是由CGI模式,ServerAPI構(gòu)造的;基于客戶機(jī)端的互聯(lián)網(wǎng)地理信息系統(tǒng)的構(gòu)造模式有Plug-in模式、GISJavaApplet、GISActiveX控件等。,.,46,CGI模式,基于CGI的WebGIS是基于HTML的一種擴(kuò)展,需要有GIS服務(wù)器在后臺(tái)運(yùn)行。通過(guò)CGI腳本,將GIS服務(wù)器和Web服務(wù)器連接。基于CGI的互聯(lián)網(wǎng)地理信息系統(tǒng)的體系結(jié)構(gòu)如圖所示??蛻舳说乃蠫IS操作和分析,都是在GIS在服務(wù)器是完成的。,.,47,服務(wù)器端有兩個(gè)服務(wù)進(jìn)程WebServer和GISServer,這兩者是通過(guò)TCP/IP協(xié)議進(jìn)行通訊的,所以既可以運(yùn)行在一臺(tái)主機(jī)上也可以分別運(yùn)行在兩臺(tái)計(jì)算機(jī)上。,CGI模式,.,48,CGI是連接應(yīng)用軟件和Web服務(wù)器的標(biāo)準(zhǔn)技術(shù),它是HTML的功能擴(kuò)展。是網(wǎng)絡(luò)服務(wù)器上的可執(zhí)行程序,基本上所有的計(jì)算機(jī)語(yǔ)言都可以用來(lái)發(fā)展CGI程序,最常用的幾種包括(C/C+)、Perl和VisualBasic)。Web一出現(xiàn),CGI技術(shù)很快被用于構(gòu)造能生產(chǎn)動(dòng)態(tài)地圖的Web網(wǎng)站。HTML產(chǎn)生的對(duì)象基本上都是靜態(tài)的而不是動(dòng)態(tài)的,比如一個(gè)作為圖像嵌入HTML文本中的地圖就可以在用戶端的瀏覽器中顯示出來(lái)。這種圖像是一種靜態(tài)圖像,用戶并不能放大、縮小或查詢這種影像地圖。,CGI模式,.,49,CGI提供了一個(gè)在瀏覽器和服務(wù)器之間,以及服務(wù)器和服務(wù)器上其他軟件之間的一個(gè)接口。它允許網(wǎng)頁(yè)用戶通過(guò)網(wǎng)頁(yè)的命令來(lái)啟動(dòng)一個(gè)存在于網(wǎng)頁(yè)服務(wù)器主機(jī)的程序(稱(chēng)為CGI程序),并且接受到這個(gè)程序的輸出結(jié)果。CGI是最早實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)頁(yè)的技術(shù),它使用戶可以通過(guò)瀏覽器進(jìn)行交互操作,并得到相應(yīng)的操作結(jié)果??蛻舳藶g覽器使用HTML將客戶的請(qǐng)求傳給Web服務(wù)器,Web服務(wù)器通過(guò)專(zhuān)用的CGI訪問(wèn)GIS服務(wù)器(后端的GIS軟件),GIS服務(wù)器承擔(dān)所有的查詢、計(jì)算工作,并將結(jié)果(數(shù)字圖像)構(gòu)建成一個(gè)HTML文檔反饋給Web服務(wù)器,然后再傳遞給客戶端瀏覽器。,CGI模式,.,50,CGI模式工作原理,Web瀏覽器用戶發(fā)出URL及GIS數(shù)據(jù)操作請(qǐng)求;Web服務(wù)器接受請(qǐng)求,并通過(guò)CGI腳本,將用戶的請(qǐng)求傳送給GIS服務(wù)器;GIS服務(wù)器接受請(qǐng)求,進(jìn)行GIS數(shù)據(jù)處理如放大、縮小、漫游、查詢、分析等,將操作結(jié)果形成GIF或JPEG圖像;最后GIS服務(wù)器將GIF或JPEG圖像,通過(guò)CGI腳本、Web服務(wù)器返回給Web瀏覽器顯示。,.,51,基于CGI的WEBGIS系統(tǒng)的優(yōu)勢(shì):,由于所有的GIS操作都是由GIS服務(wù)器完成的,具有客戶端小、處理大型GIS操作分析的功能強(qiáng)、充分利用現(xiàn)有的GIS操作分析資源等優(yōu)勢(shì);由于在客戶機(jī)端使用的是支持標(biāo)準(zhǔn)HTML的Web瀏覽器,操作結(jié)果是以靜態(tài)的GIF或JPEG圖像的形式表現(xiàn),因而客戶機(jī)端與平臺(tái)無(wú)關(guān)。,.,52,增加了網(wǎng)絡(luò)傳輸?shù)呢?fù)擔(dān)。由于用戶的每一步操作,都需要將請(qǐng)求通過(guò)網(wǎng)絡(luò)傳給GIS服務(wù)器;GIS服務(wù)器將操作結(jié)果形成新的柵格圖像,再通過(guò)網(wǎng)絡(luò)返回給用戶。因而網(wǎng)絡(luò)的傳輸量大大增加了。服務(wù)器的負(fù)擔(dān)重。所有的操作都必須由GIS服務(wù)器解釋執(zhí)行,服務(wù)器的負(fù)擔(dān)很重;信息(用戶的請(qǐng)求和GIS服務(wù)器返回的圖像)通過(guò)CGI腳本在瀏覽器和GIS服務(wù)器之間傳輸,勢(shì)必影響信息的傳輸速度。,基于CGI的WEBGIS系統(tǒng)的劣勢(shì):,.,53,同步多請(qǐng)求問(wèn)題。由于CGI腳本處理所有來(lái)自Web瀏覽器的輸入和解釋GIS服務(wù)器的所有輸出。對(duì)于每一個(gè)客戶機(jī)的請(qǐng)求,都要重新啟動(dòng)一個(gè)新的服務(wù)進(jìn)程。當(dāng)有多用戶同時(shí)發(fā)出請(qǐng)求時(shí),系統(tǒng)的功能將受到影響。靜態(tài)圖像。在瀏覽器上顯示的是靜態(tài)圖像,因而用戶即不能漫游、縮放,又不能通過(guò)幾何圖形如點(diǎn)、線、面來(lái)選擇顯示其關(guān)心的地物。用戶界面的功能受Web瀏覽器的限制,影響GIS資源的有效使用。,基于CGI的WEBGIS系統(tǒng)的劣勢(shì):,.,54,服務(wù)器應(yīng)用程序接口方法(ServerAPI),ServerAPI類(lèi)似于CGI,不同之處在于CGI程序是單獨(dú)可以運(yùn)行的程序,而ServerAPI往往依附于特定的Web服務(wù)器,如MicrosoftISAPI依附于IIS(InternetInformationServer),只能在Windows平臺(tái)上運(yùn)行,其可移植性較差。在ISAPI下建立的應(yīng)用程序是以動(dòng)態(tài)連接庫(kù)的形式存在;而CGI的應(yīng)用程序一般都是可執(zhí)行程序。但是基于ServerAPI的動(dòng)態(tài)連接模塊啟動(dòng)后會(huì)一直處于運(yùn)行狀態(tài),而不像CGI那樣每次都要重新啟動(dòng),其速度較CGI快得多。,.,55,服務(wù)器應(yīng)用程序接口方法(ServerAPI)模式,ServerAPI應(yīng)用程序是Web服務(wù)器應(yīng)用程序的擴(kuò)展,它的基本思想是基于動(dòng)態(tài)鏈接庫(kù)(DLL),使得服務(wù)器程序運(yùn)行速度提高并且減輕了系統(tǒng)的負(fù)載。從而改進(jìn)了CGI技術(shù),消除了啟動(dòng)和關(guān)閉每一個(gè)單獨(dú)應(yīng)用程序所需的開(kāi)銷(xiāo),改善了Web服務(wù)的響應(yīng)性能,.,56,Plug-in模式,GISPlug-in是在瀏覽器上擴(kuò)充Web瀏覽器的可執(zhí)行的GIS軟件。GISPlug-in的主要作用是使Web瀏覽器支持處理無(wú)縫GIS數(shù)據(jù),并為Web瀏覽器與GIS數(shù)據(jù)之間的通訊提供條件。GISPlug-in直接處理來(lái)自服務(wù)器的GIS矢量數(shù)據(jù)。同時(shí),GISPlug-in可以生成自己的數(shù)據(jù),以供Web瀏覽器或其它Plug-in顯示使用。Plug-in必須安裝在客戶機(jī),然后才能使用。其體系結(jié)構(gòu)如圖所示:,.,57,Plug-in模式,.,58,瀏覽器插件法(plug-ins),1.CGI系統(tǒng)僅提供給用戶端(client)有限的功能,傳給用戶的信息都是靜態(tài)的而且用戶的GIS操作都需要由服務(wù)器來(lái)處理。解決這個(gè)問(wèn)題的方法之一是把一部分服務(wù)器上的功能移到用戶端上,這樣不僅加快了用戶操作的反應(yīng)速度,而且也減少了交互網(wǎng)上的流量。,.,59,2.標(biāo)準(zhǔn)瀏覽器只提供一些最基本的瀏覽和導(dǎo)航功能,而缺乏空間數(shù)據(jù)的處理能力。一種方法是安裝額外能和網(wǎng)絡(luò)瀏覽器交換信息的專(zhuān)門(mén)GIS軟件。這種增加網(wǎng)絡(luò)瀏覽器功能的方法就叫“插入法”(Plug-ins),為了便于其他軟件廠商發(fā)展插入型軟件,Netscape公司專(zhuān)門(mén)提供了一套應(yīng)用程序接口(API)。這種插入軟件不但可以增加網(wǎng)絡(luò)瀏覽器處理地理空間數(shù)據(jù)的能力,使人們更容易獲取地理數(shù)據(jù),而且可以減少網(wǎng)絡(luò)服務(wù)器的信息流量從而使服務(wù)器更有效地為更多的用戶服務(wù)。因?yàn)榇蠖鄶?shù)用戶的數(shù)據(jù)處理功能可以由網(wǎng)絡(luò)瀏覽器插入軟件來(lái)完成。,瀏覽器插件法(plug-ins),.,60,3.和傳統(tǒng)的應(yīng)用軟件瀏覽器類(lèi)似,插入軟件也需要先安裝再使用,因而傳統(tǒng)軟件不同版本之間的不兼容性及版本管理問(wèn)題仍然存在。4.盡管插件可以和瀏覽器一起有效處理空間數(shù)據(jù),但這將導(dǎo)致用戶端負(fù)擔(dān)過(guò)重(FatClient)。這顯然不符合標(biāo)準(zhǔn)網(wǎng)絡(luò)瀏覽器便宜簡(jiǎn)單(ThinClient)的設(shè)計(jì)思想。5.其次,眾多插入軟件的管理會(huì)成為信息技術(shù)部門(mén)的一個(gè)大問(wèn)題,因?yàn)槿魏稳酥灰梢月?lián)上交互網(wǎng)都可以接受最新的插入軟件。,瀏覽器插件法(plug-ins),.,61,Plug-in模式的工作原理:,Web瀏覽器發(fā)出GIS數(shù)據(jù)顯示操作請(qǐng)求;Web服務(wù)器接受到用戶的請(qǐng)求,進(jìn)行處理,并將用戶所要的GIS數(shù)據(jù)傳送給Web瀏覽器;客戶機(jī)端接受Web服務(wù)器傳來(lái)的GIS數(shù)據(jù),并將GIS數(shù)據(jù)類(lèi)型進(jìn)行理解;在本地系統(tǒng)查找與GIS數(shù)據(jù)相關(guān)的Plug-in(或Helper)。如果找到相應(yīng)的GISPlug-in,用它來(lái)顯示GIS數(shù)據(jù);如果沒(méi)有,則需要安裝相應(yīng)的GISPlug-in,加載相應(yīng)的GISPlug-in,來(lái)顯示GIS數(shù)據(jù)。GIS的操作如放大、縮小、漫游、查詢、分析皆由相應(yīng)的GISPlug-in來(lái)完成。,.,62,基于Plug-in的WEBGIS系統(tǒng)的優(yōu)勢(shì):,無(wú)縫支持與GIS數(shù)據(jù)的連接。由于對(duì)每一種數(shù)據(jù)源,都需要有相應(yīng)的GISPlug-in;因而GISPlug-in能無(wú)縫支持與GIS數(shù)據(jù)的連接。GIS操作速度快。所有的GIS操作都是在本地由GISPlug-in完成,因此運(yùn)行的速度快。服務(wù)器和網(wǎng)絡(luò)傳輸?shù)呢?fù)擔(dān)輕。服務(wù)器僅需提供GIS數(shù)據(jù)服務(wù),網(wǎng)絡(luò)也只需將GIS數(shù)據(jù)一次性傳輸。服務(wù)器的任務(wù)很少,網(wǎng)絡(luò)傳輸?shù)呢?fù)擔(dān)輕。,.,63,基于Plug-in的WEBGIS系統(tǒng)的劣勢(shì):,GISPlug-in與平臺(tái)相關(guān)。對(duì)同一GIS數(shù)據(jù),不同的操作系統(tǒng)如對(duì)UNIX,Windows,Macintosh而言,需要有各自不同的GISPlug-in在其上使用。對(duì)于不同的Web瀏覽器,同樣需要用相對(duì)應(yīng)的GISPlug-in。GISPlug-in與GIS數(shù)據(jù)類(lèi)型相關(guān)。對(duì)GIS用戶而言,使用的GIS數(shù)據(jù)類(lèi)型是多種多樣的,如ArcInfo,MapInfo,AtlasGIS等GIS數(shù)據(jù)格式。對(duì)于不同的GIS數(shù)據(jù)類(lèi)型,需要有相應(yīng)的GISPlug-in來(lái)支持。,.,64,基于Plug-in的WEBGIS系統(tǒng)的劣勢(shì):,需要事先安裝。用戶如想使用,必須下載安裝GISPlug-in程序。如果用戶準(zhǔn)備使用多種GIS數(shù)據(jù)類(lèi)型,必須安裝多個(gè)GISPlug-in程序。GISPlug-in程序在客戶機(jī)上的數(shù)量增多,勢(shì)必對(duì)管理帶來(lái)壓力。同時(shí)GISPlug-in程序占有客戶機(jī)磁盤(pán)空間。更新困難。當(dāng)GISPlug-in程序提供者已經(jīng)將GISPlug-in升級(jí)了,須通告用戶進(jìn)行軟件升級(jí)。升級(jí)時(shí),需要重新下載安裝。使用已有的GIS操作分析資源的能力弱,處理大型的GIS分析能力有限。,.,65,GISActiveX,ActiveX是Microsoft為適應(yīng)互聯(lián)網(wǎng)而發(fā)展的標(biāo)準(zhǔn)。ActiveX是建立在LE(ObjectLinkingandEmbedding)標(biāo)準(zhǔn)之上,為擴(kuò)展MicrosoftWeb瀏覽器InternetExplorer功能而提供的公共框架。ActiveX控件是用于完成具體任務(wù)和信息通訊的軟件模塊。GISActiveX控件用于處理GIS數(shù)據(jù)和完成GIS分析。ActiveX控件和Plug-in非常相似,是為了擴(kuò)展Web瀏覽器的動(dòng)態(tài)模塊。所不同的是,ActiveX能被支持OLE標(biāo)準(zhǔn)的任何程序語(yǔ)言或應(yīng)用系統(tǒng)所使用。相反,Plug-in只能在某一具體的瀏覽器中使用。基于GISActiveX控件的互聯(lián)網(wǎng)地理信息系統(tǒng)是依賴GISActiveX來(lái)完成GIS數(shù)據(jù)的處理和顯示。GISActiveX控件與Web瀏覽器靈活無(wú)縫結(jié)合在一起。在通常情況下,GISActiveX控件包容在HTML代碼中,并通過(guò)參考標(biāo)簽來(lái)獲取。,.,66,ActiveX模式,.,67,GISActiveX的工作原理:,Web瀏覽器發(fā)出GIS數(shù)據(jù)顯示操作請(qǐng)求;Web服務(wù)器接受到用戶的請(qǐng)求,進(jìn)行處理,并將用戶所要的GIS數(shù)據(jù)和GISActiveX控件傳送給Web瀏覽器;客戶機(jī)端接受到Web服
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《柴油機(jī)燃料供給》課件
- 三年級(jí)數(shù)學(xué)下冊(cè)總復(fù)習(xí)課件
- 乙酸的說(shuō)課課件
- 《畜禽免疫學(xué)》課件
- 中醫(yī)診斷學(xué)課件-中醫(yī)診斷學(xué)緒論
- 2024年高考?xì)v史總復(fù)習(xí)考前沖刺攻略 第4講 高考應(yīng)試能力的培養(yǎng)
- 單位管理制度集粹匯編【職工管理】十篇
- 單位管理制度匯編大合集【職工管理】
- 單位管理制度合并匯編職員管理十篇
- 單位管理制度范文大合集人事管理篇十篇
- 中華人民共和國(guó)殘疾評(píng)定表
- 人教版美術(shù)五年級(jí)上冊(cè)《第2課 色彩的和諧》說(shuō)課稿2
- 2024年6月浙江省高考?xì)v史試卷(真題+答案)
- 住友(SWS)汽車(chē)連接器(Connectors)產(chǎn)品配套手冊(cè)
- 辦公樓室內(nèi)裝飾工程施工設(shè)計(jì)方案技術(shù)標(biāo)范本
- 2023年香港華夏杯六年級(jí)競(jìng)賽初賽數(shù)學(xué)試卷
- 高中數(shù)學(xué)放縮法
- 上海市閔行區(qū)2024-2025學(xué)年八年級(jí)(上)期末物理試卷(解析版)
- 2024年國(guó)考行測(cè)真題-言語(yǔ)理解與表達(dá)真題及完整答案1套
- 人教版三年級(jí)上冊(cè)數(shù)學(xué)期末測(cè)試卷可打印
- 醫(yī)療高級(jí)職稱(chēng)評(píng)審論文答辯
評(píng)論
0/150
提交評(píng)論