CIMS经验总结

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第一讲当规划一个ArcIMS的站点时,第一个面临的问题就是“我要选择什么样的客户端?”这是一个很难回答的问题。ESRI提供了三种viewer以供选择。然而,通过选择不同的连接器——Servlet、ActivX、ColdFusion或AppServerLink连接器——可以获得一个不同寻常的客户端。所以,当我们考虑使用什么Viewer时,选择什么样的连接器同样是一个需要仔细考虑的问题。下面的讨论可以帮助ArcIMS的用户,开发商和管理员决定最合适的连接器和Viewer的组合。ArcIMS客户端组件Viewers决定了ArcIMS站点的功能和外观,决定了提供哪些空间、属性查询工具和显示工具。ArcIMS提供了三种Viewer选择。HTMLViewerHTMLViewer由一组HTML和JavaScript程序组成。它比任何一种JavaViewer都更轻巧,但不是最瘦的viewer。Viewer的胖或瘦代表了需要下载到浏览器的数据量。选择HTMLViewer的一个主要原因是它的功能的可扩展性。通过DHTML,JavaScript,XML和其他技术,我们可以对已有的功能进行扩展。不需使用任何ArcIMS连接器,我们仍然可以在HTMLViewer中使用ActiveServerPages(ASP),ColdFusion和Java技术。但是,HTMLViewer同时只能显示一个ImageMapService。ImageMapService将结果以JPG,GIF或PNG格式发到客户端——与FeatureMapService数据流的发送方式不同。JavaViewerArcIMS提供两种JavaViewers——JavaStandardViewer和JavaCustomViewer。JavaViewer通过Javaapplets提供地图服务和信息查询。Javaapplet不同于servlet,它运行在客户端,不是服务器端,并且必须下载到客户端。因此,Java客户端比其他的客户端更胖。通过Javaviewer浏览网站,用户必须首先下载两个plug-ins。JavaStandardViewer无法定制工具或布局。而JavaCustomViewer可以通过HTML和JavaScript调用applets进行定制。因为Netscape不支持applet编程,因此JavaCustomViewer不能在Netscape浏览器中使用。所有的JavaViewers都可以支持Image和FeatureMapServices,并且支持同时使用多个MapServices。FeatureMapService使用数据流,因此可以支持客户端的用户交互和分析功能。应用服务器连接器ArcIMS应用服务器连接器连接了Web服务器和ArcIMS应用服务器。其中Servlet连接器——ArcIMS的默认连接器——可以用在ArcIMS的所有三个Viewers中。ColdFusion和ActiveX连接器通过定制的客户端将各自的语言翻译为ArcXML,用来和ArcIMS的应用服务器进行通讯。AppServerLink是Java应用向ArcIMS应用服务器发送ArcXML请求的通道。它可以用于独立的Java应用,或网站调用的Javaapplet,或构建网站的JavaServerPagers(JSP)中。ServletConnectorServlet是运行在服务器端的Java应用。如果使用servlet,需要ServletEngine软件的支持。如果WebServer本身不包含ServletEngine,则需要第三方的ServletEngine软件。通过ServletConnector建立的站点几乎可以支持任何WebServer和Viewer的组合。通过ArcIMSDesigner可以创建ServletConnector连接的站点,而且只需要很少的编程工作就可以建立一个基本的,但稳固的站点。ActiveXConnector通过ActiveXConnector,可以使用ASP进行网站的开发。VBScript、HTML、JavaScript和XML可以用来定制网站。ASP在服务器端解释并被以只读的格式传送到浏览器。客户端不需要下载任何东西。ActiveXConnector定制的客户端与HTML或JavaViewer相比是更瘦的客户端。ActiveXConnector需要基于MicrosoftWindows的服务器,WebServer必须是MicrosoftInternetInformationServer(IIS)。客户端可以是任何浏览器,不需要插件支持。ActivXConnector还可以被用在独立的VB应用中,使用方式类似于MapObjects的应用。在开发文档中,ESRI提供示例程序和对象模型图。但是,它的功能没有HTML或JavaViewer那么强大。ColdFusionConnectorColdFusionConnector非常类似于ActiveXConnector,因为它的代码位于服务器,并被翻译为浏览器可以识别的格式。ColdFusion使用ColdFusion标记语言(CML),一种类似于HTML的可以被ColdFusion服务器解释的标记。该连接器可以用于Windows或UNIX服务器上的大部分WebServer。WebServer上必须安装ColdFusion服务器。ColdFusionConnector定制的客户端与HTML或JavaViewer相比是更瘦的客户端,也不需要插件的支持。可以通过ColdFusion标签,HTML,JavaScript和XML搭建ColdFusion站点。ESRI提供入门示例帮助建立站点,但功能没有HTML或JavaViewer强大。可以通过安装ColdFusionStudio——ColdFusion的开发环境,使得开发过程变得更容易。AppServerLinkAppServerLink为开发基于Java的ArcIMSViewers提供了更多的选择。通过AppServerLink,可以编写Java独立应用,applets和JSP。搭建Java独立应用的过程很类似于编写MapObjects的应用。象Java版本的ArcExplore一样,Java的独立应用可以使用ArcIMS的数据和信息;还可以应用applets建立类似于JavaViewers的站点,但这种方法提供了更灵活的定制手段。最后,通过AppServerLink,还可以使用JSP——JavaServlet技术的扩展——建立类似于ASP和ColdFusion的站点。通过JSP和Java,HTML,JavaScript和XML编写全部的代码。服务器将代码解释成浏览器可读的格式。JSP是另外一种不需要任何浏览器插件支持的瘦客户端,但它需要服务器端的Servlet引擎的支持。但是,因为ArcIMS需要Servlet引擎,因此不需要额外的资源。ESRI提供java类的API,以及应用JavaBeans使用AppServerLink的一些Java和JSPViewer的示例。如何做出选择当考虑如何选择连接器和Viewer时,面对的用户和所需的功能是需要重点考虑的两个问题。站点是建立在Intranet还是Internet?用户使用什么浏览器?用户的GIS背景?需要使用什么功能?定制的工作量有多大?如果要建立一个Intranet站点,JavaViewer可能是个明智的选择。在一个机构内部,要求用户事先安装插件或在桌面端下载并安装插件相对容易。JavaViewer支持更丰富的功能,如MapNotes和EditNotes,这是HTMLViewer所不支持的。一旦客户端加载了applets,地图的显示和查询速度将非常快,但相对于其他的Viewers,JavaViewer的定制功能非常有限。如果要建立一个Internet站点,可以考虑HTMLViewer、ActiveXConnector、ColdFusionConnector或AppServerLink。使用HTMLViewer的主要原因是不需定制,就可以获得强大的功能。ArcIMSDesigner输出了一组预先定义好的功能。HTMLViewer的文档详细描述了它的功能,变量和方法。并且HTMLViewer支持所有平台的客户端和服务器。开发者只需熟悉HTML和JavaScript就可以通过HTMLViewer建立站点。HTMLViewer的主要缺点是它比其他连接器的客户端胖,响应时间慢,特别是当访问大数据量时。其他定制连接器建立的客户端更瘦,因为代码位于服务器端并且不需下载到客户端。我们可以根据两个主要因素——环境和资源——选择连接器。如果使用Windows服务器上的MicrosoftIIS,可以选择ActiveXConnector;如果不是,选择任何连接器都是可行的。对于UNIX服务器,可以选择ColdFusion或AppServerLink连接器,但ActiveXConnector不行。选择Connector的另一个重要因素是你所掌握的开发手段。如果熟悉VB,可以使用ActiveXConnector。同样地,如果开发人员掌握ColdFusion,则ColdFusionConnector可能成为最佳选择。对于所有连接器,HTML和JavaScript简单易学,是必须掌握的开发手段。所以如果你不熟悉其他的开发方式,HTML和JavaViewer是最佳的选择。如果使用AppServerLink,则需要Java编程的经验。而对于初学者来说,Java不是很容易入门。虽然所有的连接器都备有开发文档,但ServletConnector的文档是最完整的。第二讲这篇文章假设读者熟悉使用ArcIMSManager工具(包括三个部分:Author、Administrator和Designer)创建一个简单站点的过程,现在希望使用ArcXML实现更多的功能或改变地图的显示——ArcXML是ArcIMS用来在各组件之间进行通信的文件格式。这篇文章除了详细介绍如何通过在地图配置文件中添加ArcXML元素扩展ArcIMS功能外,还概括介绍了ArcXML的结构和语法。在ArcUserOnline站点上提供了三个循序渐进的教学例子。请登录站点http://www.esri.com/arcuser下载教学例子和数据。当用ArcIMS程序创建基本的ArcIMS站点时,Author把用户选择的数据(例如:Shapefile、coverage、ArcSDE层、图象等)整理成地图的图层;设置显示比例尺,要素表现特性,和地理编码;并输出一个用ArcXML写的地图配置文件。Administrator用这个地图配置文件生成一个Mapservice。ArcIMS空间服务器解析用户请求并进行相应的处理,根据地图配置文件中的定义把这些数据组织在一起发送给客户端。ArcXML源于XML和HTML有相似的地方,是SGML的子集;它是一种发展了的标记语言;描述结构数据的内容而不是数据的表现。ArcXML文件是文本文件,以.axl结尾,可以编辑。ArcXML定义了MapService的内容以及从客户端发出的请求,ArcIMS响应,各业务逻辑层和服务器之间的通信的内容。通过在地图配置文件里手工添加元素和元素的属性,可以实现一些不能通过Author实现的功能,例如更多的表现方法和标注选项,数据源,表联接以及其他的功能。ArcXML结构和语法所有的ArcXML语句由元素和属性组成,这些元素和属性以等级结构组织在一起。在这种等级结构下,元素被分为父元素和子元素,子元素嵌在父元素的里面。多数的元素都有一个或多个由名称/值对组成的属性。一些ArcXML元素要求必须指定一些属性。如果在地图配置文件里没有指定元素的属性,系统会使用缺省属性。当写元素和属性时,必须严格遵守ArcXML语法,否则不能创建Mapservice。元素必须被大写,并象HTML一样用小于()大于()号封闭。属性必须小写,属性值必须用双引号括起来

1 / 16
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功