欢迎来到天天文库
浏览记录
ID:40531692
大小:228.43 KB
页数:26页
时间:2019-08-04
《ArcIMS体系架构》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、ArcIMS体系架构 ArcIMS整个体系由多个组件(Component)聚合而成,包括Web服务器、ArcIMS应用服务器、连接器、Web应用开发框架(ADF)和ArcIMS空间服务器等。这些组件的协作,使得它们能够管理ArcIMS服务和处理来自客户端的请求并返回响应数据;同时,由于考虑到了负载平衡、冗余和满足不同尺度的访问要求,它们也能部署在一台或多台硬件服务器上。 ArcIMS是标准的B/S三层架构,由客户端、中间层和服务器层组成,其结构如图21所示:图21ArcIMS的组成组件 ArcIMS架构的
2、第一层是客户端和浏览器层,它们分为胖客户端和瘦客户端两种,通过HTTP协议与Web服务器建立通讯联系。胖客户端包括ArcMap、Java版的ArcExplorer和ArcPad等移动设备等,它们拥有较强的数据查看和编辑功能,但一般在开发和安装上都较为庞大和复杂;瘦客户端是指基于Web浏览器开发的地图浏览器,这些客户端可以通过JavaScript、ActiveX、JavaApplet或JSF等技术进行开发。 架构第二层是中间层,包括Web服务器、ArcIMS连接器(Connector)和WebADF三种组件。Web服务器
3、用于处理来自客户端的HTTP请求,将请求转发送到ArcIMS应用服务器并负责将响应返回到发出请求的客户端;ArcIMS连接器和WebADF提供了一个在Web服务器、第三方应用服务器和ArcIMS应用服务器之间的通讯管道;架构第三层是ArcIMS的服务器,这是整个架构中最关键的部分,它包含ArcIMS应用服务器和ArcIMS空间服务器两部分。ArcIMS应用服务器负责将来自Web服务器的请求分配到合适的ArcIMS空间服务器上;而ArcIMS空间服务器则处理请求,将地图和地理数据绑定以适当格式(ArcXML或二进制流)返回给客
4、户端供后者解析。因此,当一个ArcIMS请求从客户端发出的时候,首先会被Web服务器收到,然后通过WebADF或某种连接器发送给ArcIMS应用服务器,后者则将请求再发送给某个ArcIMS空间服务器进行处理,而ArcIMS空间服务器生成响应的信息,按照反方向原路传回给客户端。 对于需要发布地图数据的用户而言,需要做的是使用ArcIMS提供的地图制作工具或其它工具设计一幅AXL或MXD格式的地图文件;对GIS服务器管理人员而言,最关心的是如何如何保持服务器的荷载平衡、建立服务和地图客户端应用程序的快速生成;对于本书的读者
5、,即想要学习ArcIMS客户端自定义开发的群体而言,最重要的莫过于了解ArcIMS的通讯交互方式和语言。 2.2ArcIMS服务器组件[1] ArcIMS服务器层组件是其架构最核心的部分,它包含了空间服务器、虚拟服务器和ArcIMS服务三种对象和概念。其中,空间服务器是ArcIMS产生地图数据的最关键对象,而虚拟服务器则是管理前者的一个虚拟概念,它们的最终目标就是为了新建某种类型的ArcIMS服务。 2.2.1.空间服务器SpatialServers ArcIMS的空间服务器是产生地图图像文件和与地图相关信息的
6、核心对象,当它收到一个ArcXML请求时,会调用一个或多个函数来进行相应的处理。每个这样的函数都可以被看作是空间服务器的一种组件,这样的组件种类很多,包括以下几种: ØImage:根据ArcIMSAuthor产生的地图配置文件AXL生成地图影像文件; ØArcMapImage:根据用ArcMap产生的地图配置文件MXD生成地图影像文件; ØFeature:产生地图要素流; ØQuery:根据搜索条件寻找匹配的要素; ØGeocode:执行地址匹配运算; ØExtract:将选择的地图要素转换为Shap
7、efile文件; ØMetadata:发布和搜索地图元数据; ØRoute:必须安装可选的RouteServer扩展才能使用,用于计算两点或多点之间的路径,但其数据是美国的,不适合国内使用; ØSDCGeocode:基于RouteServer数据进行地址匹配操作; 那么,一个空间服务器对象是由哪些组件组成的呢?这种组成方式分为两种,一是除了ArcMapImage组件之外的其它所有组件组成的空间服务器;另一种则是仅由ArcMapImage组件组成的空间服务器。其关系如图22所示:图22空间服务器的组件
8、 ArcIMS空间服务器在本质上是一个运行于计算机上的程序进程aimsserver.exe。在Windows平台中,我们可以在任务管理器的进程列表中找到它。ArcIMS默认安装时,仅有一个非ArcMapImage式空间服务器进程存在,如果在Windows、Solaris和Linux平台上
此文档下载收益归作者所有