ArcIMS体系架构.doc_第1页
ArcIMS体系架构.doc_第2页
ArcIMS体系架构.doc_第3页
ArcIMS体系架构.doc_第4页
ArcIMS体系架构.doc_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ArcIMS体系架构 ArcIMS整个体系由多个组件(Component)聚合而成,包括Web服务器、ArcIMS应用服务器、连接器、Web应用开发框架(ADF)和ArcIMS空间服务器等。这些组件的协作,使得它们能够管理ArcIMS服务和处理来自客户端的请求并返回响应数据;同时,由于考虑到了负载平衡、冗余和满足不同尺度的访问要求,它们也能部署在一台或多台硬件服务器上。 ArcIMS是标准的B/S三层架构,由客户端、中间层和服务器层组成,其结构如图 21所示:图 21 ArcIMS的组成组件 ArcIMS架构的第一层是客户端和浏览器层,它们分为胖客户端和瘦客户端两种,通过HTTP协议与Web服务器建立通讯联系。胖客户端包括ArcMap、Java版的ArcExplorer和ArcPad等移动设备等,它们拥有较强的数据查看和编辑功能,但一般在开发和安装上都较为庞大和复杂;瘦客户端是指基于Web浏览器开发的地图浏览器,这些客户端可以通过JavaScript、ActiveX、Java Applet或JSF等技术进行开发。 架构第二层是中间层,包括Web服务器、ArcIMS连接器(Connector)和Web ADF三种组件。Web服务器用于处理来自客户端的HTTP请求,将请求转发送到ArcIMS应用服务器并负责将响应返回到发出请求的客户端;ArcIMS连接器和Web ADF提供了一个在Web服务器、第三方应用服务器和ArcIMS应用服务器之间的通讯管道;架构第三层是ArcIMS的服务器,这是整个架构中最关键的部分,它包含ArcIMS应用服务器和ArcIMS空间服务器两部分。ArcIMS应用服务器负责将来自Web服务器的请求分配到合适的ArcIMS空间服务器上;而ArcIMS空间服务器则处理请求,将地图和地理数据绑定以适当格式(ArcXML或二进制流)返回给客户端供后者解析。因此,当一个ArcIMS请求从客户端发出的时候,首先会被Web服务器收到,然后通过Web ADF或某种连接器发送给ArcIMS应用服务器,后者则将请求再发送给某个ArcIMS空间服务器进行处理,而ArcIMS空间服务器生成响应的信息,按照反方向原路传回给客户端。 对于需要发布地图数据的用户而言,需要做的是使用ArcIMS提供的地图制作工具或其它工具设计一幅AXL或MXD格式的地图文件;对GIS服务器管理人员而言,最关心的是如何如何保持服务器的荷载平衡、建立服务和地图客户端应用程序的快速生成;对于本书的读者,即想要学习ArcIMS客户端自定义开发的群体而言,最重要的莫过于了解ArcIMS的通讯交互方式和语言。2.2 ArcIMS服务器组件1 ArcIMS服务器层组件是其架构最核心的部分,它包含了空间服务器、虚拟服务器和ArcIMS服务三种对象和概念。其中,空间服务器是ArcIMS产生地图数据的最关键对象,而虚拟服务器则是管理前者的一个虚拟概念,它们的最终目标就是为了新建某种类型的ArcIMS服务。2.2.1. 空间服务器Spatial Servers ArcIMS的空间服务器是产生地图图像文件和与地图相关信息的核心对象,当它收到一个ArcXML请求时,会调用一个或多个函数来进行相应的处理。每个这样的函数都可以被看作是空间服务器的一种组件,这样的组件种类很多,包括以下几种: Image:根据ArcIMS Author产生的地图配置文件AXL生成地图影像文件; ArcMap Image:根据用ArcMap产生的地图配置文件MXD生成地图影像文件; Feature:产生地图要素流; Query:根据搜索条件寻找匹配的要素; Geocode:执行地址匹配运算; Extract:将选择的地图要素转换为Shapefile文件; Metadata:发布和搜索地图元数据; Route:必须安装可选的RouteServer扩展才能使用,用于计算两点或多点之间的路径,但其数据是美国的,不适合国内使用; SDCGeocode:基于RouteServer数据进行地址匹配操作; 那么,一个空间服务器对象是由哪些组件组成的呢?这种组成方式分为两种,一是除了ArcMap Image组件之外的其它所有组件组成的空间服务器;另一种则是仅由ArcMap Image组件组成的空间服务器。其关系如图 22所示:图 22 空间服务器的组件 ArcIMS空间服务器在本质上是一个运行于计算机上的程序进程aimsserver.exe。在Windows平台中,我们可以在任务管理器的进程列表中找到它。ArcIMS默认安装时,仅有一个非ArcMap Image式空间服务器进程存在,如果在Windows、Solaris和Linux平台上安装ArcIMS时选择了ArcMap Server扩展插件,则会有另外两个ArcMap Image式空间服务器进程存在,即计算机上将同时存在三个aimsserver.exe进程。Aimsserver.exe进程也可以通过增加server,提高地图处理和显示能力。 尽管如此,空间服务器进程并不能被开发人员直接访问,我们对其的管理仅局限在添加和移除操作上,而对空间服务器的大部分交互工作都是通过虚拟服务器进行的。2.2.2. 虚拟服务器Virtual Server 假设我们有2台电脑(即ArcIMS中的Server),每台机器上有5个空间服务器进程,由于不能与空间服务器进程直接进行交互,我们需要找到一种更好的方式对这10个进程进行管理,这可以使用ArcIMS提出的虚拟服务器概念。 比起空间服务器这类实际存在的对象(进程),虚拟服务器是一个纯粹概念上的管理工具。由于虚拟服务器的类型划分是根据空间服务器组件的功能作为依据,因此,每一个空间服务器都可以属于一个或多个虚拟服务器。这其中唯一的例外是ArcMap Server上的空间服务器,它是在安装ArcIMS时就指定的。在图 23中,两个ArcIMS空间服务器都由一个名为ImageServer1的虚拟服务器进行管理。图 23 一个虚拟服务器管理两个空间服务器 ArcIMS中有多少种类型的虚拟服务器呢?空间服务器有9类组件,因此也就有9种不同的虚拟服务器。其中公共的有ImageServer1、ImageServerArcMap1、FeatureServer1、MetadataServer1四种;而私有的则是QueryServer1、GeocodeServer1、ExtractServer1、RouteServer1和SDCGeocodeServer1五种。图 24展示了nbjbt这台计算机上存在的7种虚拟服务器,缺失的两种是因为没有安装必要的ArcIMS扩展插件。图 24 ArcIMS的虚拟服务器 虚拟服务器要么是公共的,要么是私有的。当我们使用管理工具时,只有公共虚拟服务器可以暴露给用户。我们可以选择产生或改变服务。但私有虚拟服务器的工作隐藏于幕后,它们只是在影像或要素服务需要时才被调用的。 如图 25所示,该对话框用于新建一个虚拟服务器:图 25 新建一个虚拟服务器 在新建虚拟服务器的过程中,Server Type有四种选择,除了ImageServer-ArcMap外,其它三种虚拟服务器的Instances属性都是2,即默认有两个实例,而ImageServer-ArcMap只有1,即单个实例。同时,我们还可以在不同的Server上部署虚拟服务器,这个过程只需点击“New Server”按钮选择一台Server即可,这样就可以根据荷载的情况在多台服务器硬件上部署虚拟服务器了。增加虚拟服务器,可以间接提升ArcIMS部分功能的处理能力。2.2.3. ArcIMS服务 无论是空间服务器还是虚拟服务器,其最终目的就是为了生成和管理ArcIMS服务(Service),ArcIMS服务正是ArcIMS对外地图发布的关键所在,也是客户端与GIS服务器通讯的接口。 一台服务器上可以同时存在一个或多个不同类型的ArcIMS服务,如图 26所示,存在一个Image类型ArcIMS服务San:图 26 已经存在的ArcIMS服务San 通过ArcIMS Administrator工具,我们可以新建四种类型的ArcIMS服务,即Image Service、ArcMap Image Service、Feature Service和Metadata Service,由于不同的服务满足不同的访问需求,具有不同的设置。 Image Service是我们最常用的ArcIMS服务,它将地图内容通过JPEG、PNG或GIF图像的形式返回给客户端,每次新的请求都会产生在服务器端产生一张新的图像文件。 ArcMap Image Service是一种特殊的Image Service服务,它的地图配置文件是由ArcMap或ArcReader产生的MXD或PMF数据。 Feature Service是一种通过要素流方式发布地图内容的服务,要素流是一种只在客户端处于打开状态时才存在的临时压缩格式。如果用户希望使用ArcIMS的Java客户端、WFS连接器、ArcMap、ArcReader、EditNotes或使用本地数据时,就需要使用该类型服务。 Metadata Service可以发布数据集的数据信息,即元数据。地理数据的元数据描述了数据本身的内容、质量、类型、数据组成和空间位置等信息。2.2.4. 空间服务器实例Instance 每个空间服务器都包含了一个或多个实例(实例本质上是一种线程),它是ArcIMS空间服务器最基本的处理单位。一般情况下,每个虚拟服务器都被被指派两个实例(一个进程包含两个线程),但唯一的例外仍是ArcMap Image服务器,每次只有一个实例存在。 我们可以想像得到,实例的数量等同于ArcIMS能够同时处理的请求数量。例如,如果某个空间服务器有两个Image实例,那么它每次就只能处理两个Image服务的地图请求,如果有更多的请求,只能在应用服务器中排队等候空间服务器实例的处理。2.3 ArcIMS的进程 ArcIMS的空间服务器、虚拟服务器和ArcIMS服务都是一种在逻辑上划分的对象或概念,它们依赖在计算机上实际运行的ArcIMS进程的存在而存在,如图 27所示:图 27 ArcIMS的进程 可以看到,ArcIMS的进程有6个,即Aims_AppServer.exe、Aims_Monitor.exe、Aims_Tasker.exe和3个aimsserver.exe,有三个aimsserver.exe的原因是我们安装了ArcMap Image扩展插件,它会产生另外两个空间服务器进程。 这6个进程被分为四种:Application Server、Monitor、Tasker和Spatial Server,下面我们将对这四种进程进行详细介绍:2.3.1. Application Server应用服务器进程 Application Server进程负责的事务是分配来自外部的请求,以保持服务器系统的荷载平衡,它决定了哪一个服务运行于哪一个虚拟服务器之上。由于能监测虚拟服务器上的空间服务器对象的状态,使得它能将请求委托给合适的空间服务器对象去处理。如果ArcIMS同时收到的请求(Request)数量超过了可以使用的空间服务器,这些请求也不会被抛弃,而是被存储在应用服务器的序列中等待被提交发送。 应用服务器通过一个名为ArcIMSSite.sez的配置文件保存整个站点的配置信息,该文件在重启ArcIMS服务器时使用。我们可以在Windows平台的ArcIMS安装目录的AppServer文件夹中或Unix、Linux平台的$AIMSHOME/Middleware/Application_Server中寻找到它。如果服务器出现错误,可以删掉这个文件重新启动服务,启动后会重新产生一个ArcIMSSite.sez文件。另外,Application Server进程占用的默认端口是5353。2.3.2. Monitor监听进程 监听进程的作用是管理空间服务器进程,包括启动空间服务器进程、保持其运行和停止该进程三件事情。 在ArcIMS启动过程中,Monitor进程会启动空间服务器进程,然后自己呆在后台监听着对方,以保持其状态的正常。与此同时,应用服务器进程会开始与空间服务器进行通讯交互,一旦该交互过程中断,应用服务器进程会立刻给监听进程发出指令,重启该空间服务器进程。2.3.3. Spatial Server空间服务器进程 我们已经在2.2中详细了解了空间服务器进程,该进程是一个aimsserver.exe程序。一台计算机能同时存在多个空间服务器进程,以同时处理多种类型的地图请求业务。2.3.4. Tasker任务进程 我们知道,在对ArcIMS的地图访问过程中,ArcIMS服务器会在服务器硬件上产生地图图像文件,这些文件都被保存在ArcIMS管理的output文件夹中,如果这些文件不被定期清除的话,长期的访问势必会挤占有限的硬盘空间。 Tasker进程能够监测这些临时文件的状态,如果它们的产生时间与当前之间的间隔大于指定的时间间隔,则临时文件会被删除。 对于ArcIMS服务器而言,它的完整启动过程是如何进行的呢?首先启动的当然是Application Server进程,其后的顺序是: Monitor进程登记到Application Server进程中; Application Server进程对Monitor进程进行初始化并对其发出指令,以启动一个或多个Spatial Server进程; 每个Spatial Server进程都到Application Server进程那儿去登记; Application Server会对每个Spatial Server进程进行初始化,并让每个Spatial Server进程启动一个或多个实例(instance); 每个实例都会被注册到Application Server中; Application Server在每一个实例上添加ArcIMS服务。小知识:进程与线程 我们使用不同语言编写的程序在计算机中只是一堆指令的集合,而真正在计算机中运行的是进程1(Process),因此,我们通常将进程定义为一个正在运行的程序实例。 进程本身并不会运行,它只是线程2(Thrend)的容器,真正运行的是包含在其中的线程。单个进程可能包含多个线程,每个线程都有自己的一组CPU寄存器和堆栈空间。每个进程至少拥有一个线程,来执行进程的地址空间中的代码。如果没有,那么进程就没有存在的理由了,系统就将自动撤消该进程和它的地址空间。-1 /wiki/进程2 /w/index.php?title=%E5%9F%B7%E8%A1%8C%E7%B7%92&variant=zh-cn2.4 ArcIMS连接器和Web ADF ArcIMS支持多种开发环境,如ASP、ASPX、ColdFusion和JSP等,这让具有不同开发背景的程序员都能开发ArcIMS的客户端程序。 ArcIMS应用服务器是与空间服务器的交互语言是ArcXML,因此,ArcIMS需要一种机制将来自这些客户端的请求转换为ArcXML,这个转换是通过ArcIMS连接器(Connector)和Web ADF实现的,它们居于Web服务器和ArcIMS应用服务器之间,起到了一个“二传手”的作用。连接器占用的端口一般是5300。2.4.1. ArcIMS应用服务器连接器 我们应该可以想到,ArcIMS支持多少种开发环境,就应该存在多少种类型的连接器,因为类似COM的应用程序是无法访问Java类型连接器的。普通的连接器包括Servlet Connector、Java Connector、ColdFusion Connector和ActiveX Connector。 ArcIMS的Servlet Connector是缺省安装的连接器,它使用一个Servlet引擎提供Web服务器与ArcIMS应用服务器之间的通讯管道。该连接器可以被HTML浏览器、Java标准浏览器和自定义的浏览器使用,同时,它也支持Java版本的ArcExplorer、ArcMap和ArcPad的访问。 Java Connector是一个纯Java的可重用软件组件,它包括一个JavaBean对象模型库和一套自定义JSP标签库。Java Connector驻留于Web服务器中,为JSP和独立的Java应用程序客户端与ArcIMS应用服务器进程搭建起桥梁。而Java Connector中的JavaBeans和JSP标签则能够让你通过HTTP、HTTPS或TCP/IP协议,在服务器与客户端之间发送请求和接收响应。 ArcIMS的ColdFusion Connector是为ColdFusion服务器程序准备的,它只能用于Windows和Solaris两种平台。ColdFusion是一种比ASP更为简单的语言和开发环境,其文件后缀名为cfm。这些文件运行于ColdFusion服务器上。ColdFusion在国外使用的非常普遍,我们可以浏览ESRI官方网站,会发现大部分页面其实都是cfm文件,但在国内,由于ColdFusion服务器价格高昂等原因,使用公司较少。 如果使用的开发环境是ASP,那么ArcIMS就必须安装ActiveX Connector,它是一个COM格式的DLL文件。该连接器用于处理典型的地图和查询操作,但它只能在Windows平台上使用。2.4.2. OGC和基于标准的连接器 OGC标准1是一种公开的地理数据标准集,其中很多标准已经成为事实上的标准。ArcIMS也有可以处理OGC请求和响应的连接器存在,如Web Map Server(WMS)连接器、Web Feature Server(WFS)连接器和CS-W连接器等。 WMS连接器是一种Java类型的Web应用程序,它能为由ArcIMS Image和ArcMap Image发布的数据(地图图片文件)提供一个基于OGC标准的WMS接口,这个接口的交互语言不是ArcXML,而是一种纯XML格式。WFS连接器允许用户发布基于GML格式的要素级地理数据,它可以满足一些矢量型WebGIS的需要,GML的解析文件保存在wfsconnectorschemagml中。 除了提供了地图图片文件、矢量数据流,当然还有元数据的内容,ArcIMS的CS-W连接器提供了一个OGC标准目录服务2(OGC Standard Catalog Service ,CAT2.0)的接口,用于发布ArcIMS的Metadata服务。除了基于OGC的元数据服务外,ArcIMS还提供了另外两种连接器用于发布元数据,它们是Z3950连接器和OAI-PMH连接器。2.4.3. Web应用程序开发框架 (Web ADF) 用户可以从第一行代码开始开发完全属于自己的ArcIMS浏览器程序,这需要耗费许多的精力,并对相关知识需要较为熟悉。除此以外,ArcIMS也提供了一个开发框架让用户能够在极短的时间内搭建出一个客户端应用程序或Web服务,这就是Web ADF。 Web ADF开发的Web应用程序和Web服务能够访问多种类型的GIS服务器,包括ArcIMS、ArcGIS Server、ESRI提供的ArcWeb Services和符合OGC标准的WMS Map Service,而访问这些服务器使用的Web控件和模板都是一样的。这种多源架构的好处在于,我们能够将来自不同源的地图服务进行叠加,不同的地图服务就好象图层一样能够添加到同一个地图内容中。 Web ADF为.NET和Java程序员分别准备了开发环境,即Web ADF for the Microsoft .NET Framework和Web ADF for the Java Platform: Web ADF for the Microsoft .NET Framework与Visual Studio环境紧密结合,它与ArcIMS的服务交互由ArcIMS对象模型负责的,该环境只能在Windows平台上使用。 Web ADF for the Java Platform包含了基于Web控件的Java Server Faces(JSF),而其与ArcIMS服务的交互由Java Connector负责。这一过程可用于所有的平台。小知识:Servlet引擎 我们在介绍Servlet Connector时,曾经提过Servlet引擎的概念,到底什么是Servlet引擎呢?搞清楚这个问题,可以解释在安装ArcIMS时的一个步骤。 Servlet是一种独立于平台和协议的服务器端的Java应用程序,可以生成动态的Web页面。它担当Web浏览器或其他HTTP客户程序发出请求,与HTTP服务器上的数据库或应用程序之间的中间层。由于Servlet是Java编写的,并能够处理请求,就需要某种Web容器来调用它们(就像ASP文件必须在IIS这个容器内才能运行一样),这种容器一般被称为Servlet引擎,我们常见的Servlet引擎有Tomcat和ServletExec等。 Tomcat或ServletExec这样一种容器负责监听任何对这些servlet的访问并给出响应,由于ArcIMS的Servlet连接器是缺省默认安装的,这就解释了为什么一定要安装servlet Engine的原因。 如果ArcIMS不安装Web服务器IIS(或Apache),只是依靠Servlet Engine来支持Servlet Connector发布服务,这种做法是否可行呢?完全可以!由于Servlet Engine一般占用8080端口,我们可以通过:8080/xxx(地图文件夹)来访问。但事实上,在访问一个服务器的时候,一般是不习惯带个端口的,即我们通常使用默认的80端口来访问。这就需要一种协调机制,即使用IIS或Apache,让访问从占用80端口的服务“传递”到占用8080端口的Servlet Engine中。这样就符合了我们的访问习惯,即/XXX就可以访问一个站点了。2.5 ArcIMS的管理组件 在了解ArcIMS的服务器层、连接器和Web ADF等原理性内容之后,我们需要开始了解如何使用ArcIMS服务器。ArcIMS中拥有多种不同功能的管理程序,便于用户制作地图、产生服务、开发Web客户端应用程序和调整监测WebGIS站点的运行。2.5.1. Author :配置地图 在ArcIMS中,有两种方法来制作地图,一是使用ArcMap生成MXD文件,但它必须安装ArcMap Image扩展组件;另一种就是使用Author工具来生成一个ArcXML格式的AXL地图配置文件。图 28 Author工具 Author 允许用户选择地理数据来生成自己想要发布的地图,这些数据可以是Shapefiles、影像数据或来自ArcSDE的图层。用户添加数据图层后,还可以调整图层显示顺序和渲染方法等。如用户可以改变一个面图层的名称,并使它为蓝色多边行填充,深蓝色的外框线,并且带有橘黄色、14点、Arial字体的标注等。 除此以外,使用Author还可以根据用户的要求任意改变多边形、点、线和文字标签的显示,设定其显示的比例尺范围,使得某些要素只在一定比例尺范围内才显示。此外,我们还可以设定表格数据查询的参数,或地理编码时基于街道地址的精确坐标点。 在ArcIMS帮助的ArcIMS Quick Start tutorial第一个练习中,读者可以获得完整的Author使用方法。2.5.2. ArcIMS Administrator :发布服务 生成地图文件之后,我们就可以通过GIS服务器ArcIMS将这份地图作为一个服务进行发布了。 ArcIMS 负责地图发布的工具是ArcIMS Administrator,其主要的作用是创建和启动地图服务。ArcIMS Administrator还有其它的一些功能,如用户可用它来维护ArcIMS服务器的Web站点文件夹、文件输出路径、临时数据清除时间间隔等;用户也可以用它来增加或配置ArcIMS空间服务器、平衡请求和应答压力以提高其运行效率,以及查看网站的统计信息等。 当然,ArcIMS的最主要功能还是新建地图服务,如图 29所示:图 29 在ArcIMS Administrator中新建地图服务 在新建地图服务时,用户必须设置服务名、服务使用的地图文件和选择必要的虚拟服务器,除此以外,用户也可以设置地图输出的一些参数,以实现自己需要的功能。 第一次登录ArcIMS Administrator程序时,用户必须设置用户名和密码。如果用户忘记了密码,可以按照如下步骤重新设置: 依次停止Tasker、Monitor和Application Server服务; 打开ArcIMS安装目录中的AppServer文件夹,删除AimsAdmPw文件; 依次重启Application Server、Monitor和Tasker服务。 再次登录时,会重新出现对话框要求设置ArcIMS Administrator的用户名和密码。小知识:Application Server无法启动的解决办法 如果启动Application Server时其状态栏出现“The URL http:/ is invalid or ArcIMS is not running”信息,就不会出现用户名和密码对话框供管理员登录。 导致这一错误的原因要么是Application Server无法连接到ArcIMS Servlet连接器,要么是Servlet连接器无法连接到ArcIMS Application服务器。我们可以按照以下步骤去查找问题所在: 在“服务”列表中确认ArcIMS Application Server进程是否已经启动; 确认Web服务器是否启动,这个过程只需输入http:/即可检验,查看是否会出现例子页面。在大部分情况下,我们会发现这里就是症结所在,这可能是我们无意中安装过其它带有Web服务器的程序,如Oracle数据库会自动带有Apache服务器。关闭Apache,重新启动IIS。 在ArcIMS Diagnostics页面中验证ArcIMS Servlet Connector的配置是否正确; 如果ArcIMS Diagnostics页面中第一项测试成功但第二项测试失败,可以检查Esrimap_Prop文件中的appServerMachine变量是否为ArcIMS Application Server组件部署的服务器名或域名。 此外,读者还应该习惯阅读ArcIMS的日志文件来了解ArcIMS的运行情况和故障原因,关于这一技巧,读者可以访问ESRI支持中心网站1 。2.5.3. ArcIMS Web Manager :生成站点 在ArcIMS9.2版本之前,ArcIMS中带有一个名为Designer的程序用于快速生成HTML或Java类型的客户端程序。在这一版本中,我们还可以安装一个额外的组件Web Manager来实现站点的快速生成。如图 210所示:图 210 Web Manager Web Manager有.NET和Java版本,不同版本的Web Manager将生产不同的Web应用程序。在安装Web Manager之后,我们就可以使用它新建一个Web地图应用程序。 在 ArcIMS菜单中点击“ArcIMS Web Manager for Micorsoft .NET Framework”,就可以启动一个名为ArcIMS Web Manager的Web应用程序(我们可以在Web服务器中看到它的文件夹,如IIS的wwwroot文件夹中的ArcIMS文件夹)。登录该程序,点击 “Create Web Application”链接即可。 在点击该链接后,页面会逐步要求用户设置以下内容: Web应用程序名称; 该Web应用程序访问的地图服务(能够访问的地图服务有ArcGIS Server服务、ArcIMS服务、ArcWeb服务和WMS服务); 地图服务的显示坐标系; 地图影像图片的透明度; 需要在Web应用程序上出现的任务工具(Editing工具、Find Address工具、Find Place工具、Geoprocessing工具、Query Attributes工具和Search Attributes工具); Web应用程序的标题文字; 网站主题类型; 页面上的链接; Web页面上是否出现图层表(TOC)、鸟瞰地图、工具条、指南针和比例尺; 在一路点击设置后,我们很容易地得到了一个ASP.NET类型的Web应用程序,该程序的文件仍然保存在Web服务器的数据文件夹,如IIS的wwwroot中。最后我们定制的WebGIS应用程序如图 211所示:图 211 快速产生的Web应用程序2.5.4. Designer :快速生成的另一个选择 尽管ArcIMS Web Manager可以快速生成一个.NET或Java版本的Web应用程序,但这并不是ArcIMS唯一的站点快速设计工具,ArcIMS仍然保留了 Designer这个程序,用于快速建立HTML、Java Applet和标准Java类型的Web应用程序。 Designer工具在ArcIMS Administrator界面中不再出现,用户可以在ArcIMS菜单中寻找到它的启动图标。 与Web Manager类似,用户同样需要在Designer工具中设置一系列的属性和参数,就可以快速地生成不同类型的Web应用程序站点了。-1 /index.cfm?fa=knowledgebase.techarticles.articleShow&d=208442.6 ArcIMS自定义开发方式有了Web Manager和Designer,我们就可以高枕无忧了吗?如果用户的需求只是简单地显示和查询地图信息,这两个快速生成工具当然完全能够满足需要,但如果用户的要求更多一点,更复杂一些,就必须想办法进行自定义开发了。我们一般可以将自定义开发的方式分为三种: 使用Web ADF提供的Web控件和API进行自定义开发; 在HTML或Java浏览器基础上进行自定义开发; 完全从头开始进行服务器端应用程序或浏览器端应用程序开发。ArcIMS提供了一个统一且完整的开发框架,即Web ADF,旨在实现一个统一管理且支持多用户的企业级GIS解决方案,开发人员能在服务器端和客户端应用程序环境中使用这些解决方案。使用Web ADF来开发自定义ArcIMS客户端的好处是显而易见的,首先,它提供了丰富的,并且已经包装好的WebGIS控件,如Map控件、TOC控件、MapTips控件、ZoomLevel控件等,极大地简化了我们的开发过程,降低了开发的难度,更重要的是,在9.2版本以后,Web ADF已经能够支持多种数据源。但基于Web ADF开发的不足之处也存在,它将整个地图交互过程严密地进行了封装,使得我们试图一窥门径的可能性降低了许多。在Designer工具生成的HTML/JavaScript类型浏览器客户端上定制又如何呢?我们知道,单凭HTML是不会出现什么地图的效果,只有使用JavaScript配合,才能出现“动态”地图。当我们在一个WebGIS站点上缩放地图

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论