webGIS实现技术.ppt
《webGIS实现技术.ppt》由会员分享,可在线阅读,更多相关《webGIS实现技术.ppt(75页珍藏版)》请在三一办公上搜索。
1、WebGIS的实现技术,Web的基本知识-Web服务器,Web服务器是指驻留于因特网上某种类型计算机的程序。当Web浏览器(客户端)连到服务器上并请求文件时,服务器将处理该请求并将文件发送到该浏览器上,附带的信息会告诉浏览器如何查看该文件(即文件类型)。服务器使用HTTP(超文本传输协议)进行信息交流,这就是人们常把它们称为HTTP服务器的原因。Web的主要功能是信息发布,Web服务器-工作模式,阻塞模式(Blocking model)当服务器正在响应一个客户机的请求时,其他客户机请求均不被响应,只能等待当前客户机的请求结束 多路复用模式(Multiplexing model)采用分时策略,允
2、许同时处理多个用户的请求。如果同时有N个用户要求服务,服务器会先为第一个用户做一点工作,再为第二个用户做一点,再为第N个用户服务后,再为第一个用户服务,依此类推,派生模式(Forking model)在接到用户请求后,服务器就派生一个与自己一样的进程去响应用户的请求进程池(Process pool)当进程池服务器启动时,会创建一组子进程去帮助它响应用户的请求。与派生模式相比,这种模式的优势在于不必派生出多个副本,只需创建一些小巧的子进程去快速地处理特定的工作,这样可以大大减少对内存的需求,并提高服务器的运行效率。,Web服务器-工作模式,Web服务器-常用软件,NCSA Server(http
3、d)Netscape Communications ServerNetscape Enterprise ServerApache ServerInternet information serverTomcatweblogic(服务器比较请参考),Web扩展,一些问题某些数据格式浏览器不支持静态网页和动态网页问题用户交互问题解决的方法客户端扩展插件、ActiveX、Java Applet、脚本语言服务器端扩展CGI、类CGI、ASP.NET、JSP+Servlet+Bean,扩展web客户机-MIME助理应用程序,MIME(Multipurpose Internet Mail Extension
4、s,多用途Internet邮件扩展)是创建用于电子邮件交换,网络文档,及企业网和Internet上的其他应用程序中的文件格式的规范每个MIME格式包含一个MIME内容类型(“MIME type”)和指示存储在这个文件中的数据的子类型。MIME类型和子类型一般以类型/子类型的形式列出,其中有7个顶层类型,如text,image,video,application例如,一个MPEG视频文件将会以video/mpeg的形式列出。MIME类型/子类型列表包括可接受的文件名扩展名。例如,列出一个MPEG文件的MIME信息的表格可能包含如下的一个MPEG条目:video/mpeg.mpe,.mpeg,.m
5、pgApplication/msword,Browser,Web Server,HTTP,Helper Application,Helper Application-工作原理,Helper Application-工作步骤,例如,你可以将一个MPEG文件连接到一个网页上。当用户浏览这个网页单击这个MPEG文件连接时,当下载这个MPEG 文件到这个浏览器显示时,Web Server和浏览器执行下面的事件序列:,连同这个文件,服务器将MIME类型和子类型(video/mpeg,video/mpe,或 video/mpg)发送到这个浏览器 如果对MPEG MIME格式的支持是固有的,这个浏览器就会显
6、示这个文件如果这浏览器不包含对MIME格式的固有支持,这个浏览器在它的MIME助理应用程序(MIME helper application)的数据库中查找这个文件名扩展名。然后,它或者选择相应的助理应用程序显示这个文件或者返回一个错误信息,扩展web客户机-插件(plug-in),为了在HTML页面中实现音频、视频等更为复杂的多媒体应用,1996年的Netscape 2.0成功地引入了对QuickTime插件的支持,插件这种开发方式也迅速风靡了浏览器的世界。1999年,Realplayer插件先后在Netscape和IE浏览器中取得了成功,与此同时,Microsoft自己的媒体播放插件Medi
7、a Player也被预装到了各种Windows版本之中。1990年代初期,Jonathan Gay在FutureWave公司开发了一种名为Future Splash Animator的二维矢量动画展示工具,1996年,Macromedia公司收购了FutureWave,并将Jonathan Gay的发明改名为我们熟悉的Flash。,插件-作用,利用插件(Plug-Ins),程序员可以方便地为浏览器增加新的功能,用户只需要下载一些代码这些代码的作用是告诉浏览器,“从现在开始,你有了新的功能”插件遵循一定的规范,可以用多种语言编写插件的编写不是一个简单的任务,插件-工作原理,Browser,Web
8、 Server,HTTP,plug-in,这是一个FLASH插件,插件-embed元素,扩展web客户机-ActiveX,在Windows平台上,Microsoft将客户端应用集成的赌注押到了1990年代中期刚刚问世的COM和ActiveX身上。1996年,IE 3.0正式支持在HTML页面中插入ActiveX控件的功能,这为其他厂商扩展Web客户端的信息展现方式开辟了一条自由之路。从1997年的IE 4.0开始,Microsoft为开发者提供了WebBrowser控件和其他相关的COM接口,允许程序员在自己的程序中直接嵌入浏览器窗口,或调用各种浏览器的功能,如分析或编辑HTML页面等。,Ac
9、tiveX-工作原理,Browser,Web Server,HTTP,ActiveX,ActiveX-object元素,插件-常用插件,插件是一种遵循一定规范的应用程序接口编写出来的程序;插件的作用是处理特定类型的文件以扩展浏览器功能;插件的存在形式一般是动态连接库(dll);插件有三种工作模式:嵌入、全屏幕和隐藏;IE浏览器常见的插件例如:Flash插件、RealPlayer插件、MS Media Player插件、MIDI五线谱插件,ActiveX插件等等。,扩展web客户机-Java 历史,Java是一种跨平台,适合于分布式计算环境的面向对象的的编程语言Java的历史1991年,SUN
10、MicroSystem公司的 Jame Gosling等人,为在电视、控制烤面包箱等家用消费类电子产品上进行交互式操作而开发了一个名为Oak的软件 1994年下半年,Internet的迅猛发展,环球信息网 WWW的快速增长,促进了 Java语言研制的进展,使得它逐渐成为 Internet上受欢迎的开发与编程语言,JAVA-Java的历史,1995年,Java Beta 1通过SUN公司的Web站点发布1996年,Java 1.0正式发布,Netscape浏览器在其2.0版中增加了对Java Applet和JavaScript的支持Microsoft的IE 3.0也在这一年开始支持Java技术现
11、在,喜欢动画、喜欢交互操作、喜欢客户端应用的开发人员可以用Java语言随心所欲地丰富HTML页面的功能了,JAVA-Java的特点,(1)简单性,Java语言是一种面向对象的语言,它通过提供最基本的方法来完成指定的任务,只需理解一些基本的概念,就可以用它编写出适合于各种情况的应用程序(2)面向对象的语言,结构化程序:程序=算法+数据结构;面向对象:程序=对象+消息(3)平台无关性(虚拟机 结构中立),Java编译器生成与体系结构无关的字节码指令,只要安装了 Java运行时系统,Java程序就可在任意的处理器上运行。这些字节码指令对应于 Java虚拟机中的表示,Java解释器得到字节码后,对它进
12、行转换,使之能够在不同的平台运行。,JAVA-Java的特点,(4)多线程,多线程机制使应用程序能够并行执行,而且同步机制保证了对共享数据的正确操作(5)可靠性,Java虽然源于C+,但它消除了许多C+不可靠 因 素,可以防 止许多编程错误。Java是强类型的语言,要求显式的方法声明,这保证了编译器可以发现方法调用错误,保证程序更加可靠Java不支持指针,这杜绝了内存的非法访问Java的自动单元收集防止了内存丢失等动态内存分配导致的问题Java解释器运行时实施检查,可以发现数组和字符串访问的越界最后,Java提供了异常处理机制,JAVA-Java的特点,(6)安全性,如果没有安全保证,用户从网
13、络下载程序执行就非常危险。Java通过自己的安全机制防止了病毒程序的产生和下载程序对本地系统的威胁破坏。当Java字节码进入解释器时,首先必须经过字节码校验器的检查,然后,Java解释器将决定程序中类的内存布局,随后,类装载器负责把来自网络的类装载到单独的内存区域,避免应用程序之间相互干扰破坏。最后,客户端用户还可以限制从网络上装载的类只能访问某些文件系统。上述几种机制结合起来,使得Java成为安全的编程语言(7)分布性,Java是面向网络的语言。通过它提供的类库可以处理TCPIP协议,用户可以通过URL地址在网络上很方便地访问其它对象(8)可移植性,与平台无关的特性使 Java程序可以方便地
14、被移植到网络上的不同机器。同时,Java的类库中也实现了与不同平台的接口,使这些类库可以移植。另外,Java编译器是由 Java语言实现的,Java运行时系统由标准 C实现,这使得Java系统本身也具有可移植性,JAVA-Java的特点,(9)解释性,Java解释器直接对 Java字节码进行解释执行。字节码本身携带了许多编译时信息,使得连接过程更加简单(10)高性能,和其它解释执行的语言如 BASIC、TCL不同,Java字节码的设计使之能很容易地直接转换成对应于特定CPU的机器码,从而得到较高的性能(11)动态,Java的设计使它适合于一个不断发展的环境。在类库中可以自由地加入新的方法和实例
15、变量而不会影响用户程序的执行。并且 Java通过接口来支持多重继承,使之比严格的类继承具有更灵活的方式和扩展性,JAVA-JDK和Java应用种类,JDK是整个Java的核心,包括了Java运行环境,一堆Java工具和Java基础类库JAVA三个版本:J2EE、J2SE、J2MEJAVA应用种类JavaScriptJava ApplicationJava AppletJSPJava ServletJava Beans,Applet是一种非常小的程序,只能在Web浏览器中运行。作为Web页的一部分,Applet会自动下载(和Web页上的图片差不多)激活Applet后,它会执行一段程序优点Java
16、是一种全功能的编程语言,所以在客户端可以完成许多工作,例如输入数据的校验Applet自动下载,自动更新升级版本Java是跨平台的,所以Applet可以在大多数安转Java虚拟机的浏览器上运行和脚本语言相比,1)速度快;2)代码安全,JAVA-Applet,Java Applet-工作原理,Browser,Web Server,HTTP,Java Applet,Java Applet-Java Applet元素,alt=Your browser understands the tag!,扩展web客户机-JavaScript,BScript,通过脚本语言,可将用于客户端程序的源码直接插入HTML
17、中,对脚本语言进行解释会在HTML显示的时候自动激活脚本语言简单,它是HTML的一部分下载快,能够解决客户端编程中80%的问题脚本语言缺点:1)不能作复杂的事情;2)代码公开最常见的两种脚本语言JavaScript和VBSrcipt,JavaScript,VBScript-工作原理,Browser,Web Server,HTTP,JavaScript,在考虑其它更复杂的方案之前(例如ActiveX、Applet),首先考虑一下脚本语言是否可行,扩展web服务器-CGI,CGI的定义CGI(Common Gateway Interface 通用网关接口)是定义标准数据结构和方法的规范,是外部应用
18、程序与Web 服务器之间的接口标准CGI的功能绝大多数的CGI程序被用来解释处理传自表单的输入信息,并在服务器产生相应的处理,或将相应的信息反馈给浏览器。CGI程序使网页具有交互和动态功能,CGI-工作原理,Browser,Web Server,HTTP,Application Extension,CGI,PerlC/C+Visual BasicShell Script,=tw.bbs.soc.politics&DISPLEN=15&NO=30&SORTBY=0&VAL=184975648&PAGE=2,例:在浏览器上显示用户输入的用户名和年龄/*/#include#include“cgi-l
19、ib.h”int main()list input;read_cgi_input(,CGI-CGI处理步骤,通过Internet把用户请求送到服务器服务器接收用户请求并交给CGI程序处理CGI程序把处理结果传送给服务器服务器把结果送回到用户,Web Browser,Web Server,C/PerlProgram,Name=Sana,Name=Sana,Hello,Sana!,Hello,Sana!,CGI-CGI的特点,优点:CGI提供了一种独立于平台、独立于各种Web服务器、独立于各种编程语言的,简明的、标准的动态Web页面开发办法缺点:瓶颈之一是浏览器和web服务器不能处理超过一定长度的
20、URL,通常是4KB瓶颈之二是性能问题,为了创建进程以及连接状态等等,要消耗掉大量的资源 瓶颈之三是开发问题,CGI接口根本谈不上“面向对象”等等高级编程技术,它是一种非常底层的API,开发困难另外,如何在多次请求之间维护状态信息、Transaction、开发更强的动态交互的Web站点等等,用CGI实现起来都是非常的困难,甚至是根本不可能实现的,扩展web服务器-服务器API,Server API 应用程序是Web 服务器应用程序的扩展,它的基本思想是基于动态链接库(DLL),使得服务器程序运行速度提高并且减轻了系统的负载。从而改进了CGI 技术,消除了启动和关闭每一个单独应用程序所需的开销,
21、改善了Web 服务的响应性能常见的Server API有Netscape的NSAPI和Microsoft的ISAPI,SAPI-工作模式,Browser,Web Server,HTTP,Application Extension,SAPI,PHP,http:/?,服务器API-服务器API的缺点,Netscape的NSAPI、微软的ISAPI等等服务器API接口技术,确实解决了许多标准的CGI技术难以解决的问题。但是这些服务器API接口技术带来的严重问题是,他们完全依赖于特定的Web服务器、依赖于特定的编程语言;并且,利用这些API开发程序必须得特别小心,一个程序中的小错误就极有可能导致整个系



- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- webGIS 实现 技术

链接地址:https://www.31ppt.com/p-5576433.html