ArcIMS整个体系由多个组件(Component)聚合而成,包括Web服务器、ArcIMS应用服务器、连接器、Web应用开发框架(ADF)和ArcIMS空间服务器等。这些组件的协作,使得它们能够管理ArcIMS服务和处理来自客户端的请求并返回响应数据;同时,由于考虑到了负载平衡、冗余和满足不同尺度的访问要求,它们也能部署在一台或多台硬件服务器上。
ArcIMS是标准的B/S三层架构,由客户端、中间层和服务器层组成,其结构如图 2?1所示:
图 2?1 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的通讯交互方式和语言。
如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛