当规划一个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使用数据流,因此可以支持客户端的用户交互和分析功能。
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那么强大。