ArcIMS体系结构
作者:Flyingis
ArcIMS可以运行在一个分布式环境中,包含客户端和服务器组件。一个完整服务的运行过程可以简单的描述为:一个客户端向服务器发送请求信息,服务器处理请求并返回信息到客户端,客户端将所获取的信息展现给终端用户。
ArcIMS空间服务器(ArcIMS Spatial Server)
ArcIMS空间服务器是ArcIMS的中心枢纽,承载着高负荷的计算任务,对地图数据的请求和相关信息进行处理。当接收到一个服务请求,ArcIMS空间服务器主要可以完成以下功能:
Image—从在ArcIMS Author或ArcMap中创建的地图数据中创建影像文件
Feature—缓冲地图特征数据
Query—查找和搜索条件相匹配的特征数据
Geocode—执行地址匹配操作
Extract—从选择的地图特征数据中创建shapefile
Metadata—打印出metadata数据
Route—在一系列的点之间计算路径距离
两个后台的进程支持着ArcIMS空间服务器的运行:ArcIMS Monitor和ArcIMS Tasker,在Windows中它们作为Windows服务运行,在Unix和Linux中作为daemon进程。
ArcIMS Monitor跟踪ArcIMS空间服务器的状态。当系统重启时,ArcIMS Monitor将自动恢复ArcIMS服务。
ArcIMS Tasker清除output目录中的文件。这些由空间服务器创建,以支持ArcIMS服务的文件,将在用户定义的时间间隔后被清除。当前服务为地图服务时,用户发送请求得到的数据均是由ArcIMS空间服务器对请求产生响应,返回的数据是图片,保存在output目录中,ArcIMS Tasker会在一定时间后清除这些图片数据。
ArcIMS应用服务器(ArcIMS Application Server)
ArcIMS应用服务器控制着传入请求,跟踪当前哪些服务运行在哪些ArcIMS空间服务器中。ArcIMS应用服务器将请求传输到适合的空间服务器。应用服务器是一个Java应用程序,在Windows操作系统中作为一个Windows服务,在Unix和Linux中作为一个daemon进程。
ArcIMS应用服务连接器(ArcIMS application server connectors)
ArcIMS应用服务连接器将Web服务器和ArcIMS应用服务器连接在一起。ArcIMS Servlet Connector是ArcIMS的默认连接器。它使用ArcXML在 Web服务器和ArcIMS应用服务器之间传递信息。
相对于ArcIMS Servlet Connector,还有几种其他的连接器可供选择:
ColdFusion Connector
ActiveX Connector
ArcIMS Java Connector
ArcIMS .NET Link
ColdFusion和ActiveX连接器配合自定义的客户端工作,并且将自己的语言转换成ArcXML。ArcIMS Java Connector通过JSP客户端或独立的Java应用程序和ArcIMS应用服务器保持通信。.NET Link提供TCP/IP或HTTP连接到应用服务器。
关于连接器的相关资料,在ArcIMS Help中搜索主题:
More about the ArcIMS Servlet Connector
Connectors and ArcMap Server
The ArcIMS documentation set
ArcIMS Viewers
当使用ArcIMS Designer创建了一个为用户提供地图内容的网站时,可以选择三种ArcIMS Viewers:HTML、Java Standard、或Java Custom。通过定制这些Viewers或定制客户端可以达到基本相同的效果。另外,还可以使用比较成熟的客户端,如ArcMap、ArcExplorer和Metadata Explorer。
从本质上说,viewer或客户端就是Internet GIS应用或网络应用的网站,提供用户需要的地图服务。
当用户访问这些网站的时候,他们可以在viewer中看到嵌入在网站中的定制地图。整个viewer决定了网站的外观和功能。
相关viewer的相关资料,在ArcIMS Help中搜索主题:
Choosing a viewer for your Web site
Designing a Web site
Overview of using the ArcIMS Viewers
关于连接器、客户端的选择,可以参考这篇文章。
----
参考资料:ArcIMS Help
Flyingis @ China
email: dev.vip#gmail.com
blog: http://flyingis.cnblogs.com/