arc ims 第一讲

 当规划一个ArcIMS的站点时,第一个面临的问题就是“我要选择什么样的客户端?”这是一个很难回答的问题。ESRI提供了三种viewer以供选择。然而,通过选择不同的连接器——Servlet、ActivX、ColdFusion或AppServerLink连接器——可以获得一个不同寻常的客户端。所以,当我们考虑使用什么Viewer时,选择什么样的连接器同样是一个需要仔细考虑的问题。下面的讨论可以帮助ArcIMS的用户,开发商和管理员决定最合适的连接器和Viewer的组合。

ArcIMS客户端组件
Viewers决定了ArcIMS站点的功能和外观,决定了提供哪些空间、属性查询工具和显示工具。ArcIMS提供了三种Viewer选择。

HTML Viewer
HTML Viewer由一组HTML和JavaScript程序组成。它比任何一种Java Viewer都更轻巧,但不是最瘦的viewer。Viewer的胖或瘦代表了需要下载到浏览器的数据量。选择HTML Viewer的一个主要原因是它的功能的可扩展性。通过DHTML,JavaScript,XML和其他技术,我们可以对已有的功能进行扩展。不需使用任何ArcIMS连接器,我们仍然可以在HTML Viewer中使用Active Server Pages(ASP),ColdFusion和Java技术。但是,HTML Viewer同时只能显示一个Image MapService。Image MapService将结果以JPG,GIF或PNG格式发到客户端——与Feature MapService数据流的发送方式不同。

Java Viewer
ArcIMS提供两种Java Viewers——Java Standard Viewer和Java Custom Viewer。Java Viewer通过Java applets提供地图服务和信息查询。Java applet不同于servlet,它运行在客户端,不是服务器端,并且必须下载到客户端。因此,Java客户端比其他的客户端更胖。通过Java viewer浏览网站,用户必须首先下载两个plug-ins。
Java Standard Viewer无法定制工具或布局。而Java Custom Viewer可以通过HTML和JavaScript调用applets进行定制。因为Netscape不支持applet编程,因此Java Custom Viewer不能在Netscape浏览器中使用。
所有的Java Viewers都可以支持Image 和Feature MapServices,并且支持同时使用多个MapServices。Feature MapService使用数据流,因此可以支持客户端的用户交互和分析功能。

应用服务器连接器

ArcIMS应用服务器连接器连接了Web服务器和ArcIMS应用服务器。其中Servlet连接器——ArcIMS的默认连接器——可以用在ArcIMS的所有三个Viewers中。ColdFusion和ActiveX连接器通过定制的客户端将各自的语言翻译为ArcXML,用来和ArcIMS的应用服务器进行通讯。AppServerLink是Java应用向ArcIMS应用服务器发送ArcXML请求的通道。它可以用于独立的Java应用,或网站调用的Java applet,或构建网站的JavaServer Pagers(JSP)中。

Servlet Connector
Servlet是运行在服务器端的Java应用。如果使用servlet,需要Servlet Engine软件的支持。如果Web Server本身不包含Servlet Engine,则需要第三方的Servlet Engine软件。通过Servlet Connector建立的站点几乎可以支持任何Web Server和Viewer的组合。通过ArcIMS Designer可以创建Servlet Connector连接的站点,而且只需要很少的编程工作就可以建立一个基本的,但稳固的站点。

ActiveX Connector
通过ActiveX Connector,可以使用ASP进行网站的开发。VBScript 、HTML、JavaScript和XML可以用来定制网站。ASP在服务器端解释并被以只读的格式传送到浏览器。客户端不需要下载任何东西。ActiveX Connector定制的客户端与HTML或Java Viewer相比是更瘦的客户端。ActiveX Connector需要基于Microsoft Windows的服务器,Web Server必须是Microsoft Internet Information Server(IIS)。客户端可以是任何浏览器,不需要插件支持。ActivX Connector还可以被用在独立的VB应用中,使用方式类似于MapObjects的应用。在开发文档中,ESRI提供示例程序和对象模型图。但是,它的功能没有HTML或Java Viewer那么强大。

ColdFusion Connector
ColdFusion Connector非常类似于ActiveX Connector,因为它的代码位于服务器,并被翻译为浏览器可以识别的格式。ColdFusion使用ColdFusion标记语言(CML),一种类似于HTML的可以被ColdFusion服务器解释的标记。该连接器可以用于Windows或UNIX服务器上的大部分Web Server。Web Server上必须安装ColdFusion服务器。ColdFusion Connector定制的客户端与HTML或Java Viewer相比是更瘦的客户端,也不需要插件的支持。可以通过ColdFusion标签,HTML,JavaScript和XML搭建ColdFusion站点。ESRI提供入门示例帮助建立站点,但功能没有HTML或Java Viewer强大。可以通过安装ColdFusion Studio——ColdFusion的开发环境,使得开发过程变得更容易。

AppServerLink
AppServerLink为开发基于Java的ArcIMS Viewers提供了更多的选择。通过AppServerLink,可以编写Java独立应用,applets和JSP。搭建Java独立应用的过程很类似于编写MapObjects的应用。象Java版本的ArcExplore一样,Java的独立应用可以使用ArcIMS的数据和信息;还可以应用applets建立类似于Java Viewers的站点,但这种方法提供了更灵活的定制手段。
最后,通过AppServerLink,还可以使用JSP——Java Servlet技术的扩展——建立类似于ASP和ColdFusion的站点。通过JSP和Java,HTML,JavaScript和XML编写全部的代码。服务器将代码解释成浏览器可读的格式。JSP是另外一种不需要任何浏览器插件支持的瘦客户端,但它需要服务器端的Servlet 引擎的支持。但是,因为ArcIMS需要Servlet引擎,因此不需要额外的资源。ESRI提供java类的API,以及应用JavaBeans使用AppServerLink的一些Java和JSP Viewer的示例。

如何做出选择
当考虑如何选择连接器和Viewer时,面对的用户和所需的功能是需要重点考虑的两个问题。站点是建立在Intranet还是Internet?用户使用什么浏览器?用户的GIS背景?需要使用什么功能?定制的工作量有多大?
如果要建立一个Intranet站点,Java Viewer可能是个明智的选择。在一个机构内部,要求用户事先安装插件或在桌面端下载并安装插件相对容易。Java Viewer支持更丰富的功能,如MapNotes和EditNotes,这是HTML Viewer所不支持的。一旦客户端加载了applets,地图的显示和查询速度将非常快,但相对于其他的Viewers,Java Viewer的定制功能非常有限。
如果要建立一个Internet站点,可以考虑HTML Viewer、ActiveX Connector、ColdFusion Connector或AppServerLink。使用HTML Viewer的主要原因是不需定制,就可以获得强大的功能。ArcIMS Designer输出了一组预先定义好的功能。HTML Viewer的文档详细描述了它的功能,变量和方法。并且HTML Viewer支持所有平台的客户端和服务器。开发者只需熟悉HTML和JavaScript就可以通过HTML Viewer建立站点。HTML Viewer的主要缺点是它比其他连接器的客户端胖,响应时间慢,特别是当访问大数据量时。
其他定制连接器建立的客户端更瘦,因为代码位于服务器端并且不需下载到客户端。我们可以根据两个主要因素——环境和资源——选择连接器。如果使用Windows服务器上的Microsoft IIS,可以选择ActiveX Connector;如果不是,选择任何连接器都是可行的。对于UNIX服务器,可以选择ColdFusion或AppServerLink连接器,但ActiveX Connector不行。
选择Connector的另一个重要因素是你所掌握的开发手段。如果熟悉VB,可以使用ActiveX Connector。同样地,如果开发人员掌握ColdFusion,则ColdFusion Connector可能成为最佳选择。对于所有连接器,HTML和JavaScript简单易学,是必须掌握的开发手段。所以如果你不熟悉其他的开发方式,HTML和Java Viewer是最佳的选择。如果使用AppServerLink,则需要Java编程的经验。而对于初学者来说,Java不是很容易入门。虽然所有的连接器都备有开发文档,但Servlet Connector的文档是最完整的。
原文地址:https://www.cnblogs.com/googlegis/p/2979124.html