ArcIMS的通讯机制及基于Struts的应用开发

时间:2022-03-09 05:40:27

ArcIMS的通讯机制及基于Struts的应用开发

摘要:该文介绍了arcims的各组成部件,以及在各部件之间负责通讯的ArcXML文件,在此基础上构建了基于struts架构的ArcIMS二次开发的技术线路体系结构。

关键词:ArcIMS;ArcXML;WebGIS;Struts

中图法分类号:TP311文献标识码:A 文章编号:1009-3044(2009)33-9567-02

Communication and Development on Struts of ArcIMS

XIE Song1, LI Kang-shun2

(1.Technical Department of Library, GanNam Normal University, Ganzhou 341000, China; 2.School of Information Engineering, Jiangxi University of Science and Technology, Ganzhou 341000, China)

Abstract: The paper introduces the components of ArcIMS, discusses the file-ArcXML which communicated in the components of ArcIMS, and builds a technical model framework of ArcIMS develop based on Struts.

Key words: ArcIMS; ArcXML; WebGIS; struts

随着网络技术的飞速发展,Internet已经成为GIS新的系统平台。利用Internet技术,在Web上空间数据供用户浏览和使用是GIS发展的必然趋势[1]。

WebGIS具有以下的特点:基于Internet/Intranet标准;分布式服务体系结构;对空间数据资源的高效利用;速度快,范围广;数据更新及时;开发工具丰富;界面友好;系统的建设投资小[2]。

为了更好的管理和数据,Open GIS联盟制定了统一的数据标准--地理标记语言(Geography Markup Language,GML),它是基于XML的用于地理信息(包括地理特征的几何和属性)的传输和存储的编码规范。2000年4月正式推出了GML1.0版本,2001年2月又推出了GML2.0版本。GML是一个简单的基于文本的地理特征编码标准,它用地理特征(Features)来描述世界,可以对很复杂的地理实体进行编码[3]。

该文介绍的ArcIMS是目前使用最广泛的一个WebGIS平台, ArcXML是ESRI公司自行开发的用于ArcIMS的不同部件之间进行通讯的数据标准,是XML的扩展,符合GML2.0的规范。

1 ArcIMS简介

ArcIMS是ESRI公司推出的一个通过InternetGIS功能的框架,它使创建地图服务、开发网站与地图服务通讯、管理站点变得很容易。使用ArcIMS强大的技术可以帮助用户较为轻松地管理和组织空间数据,实现许多GIS功能[4]。

ArcIMS是一个由客户端组件、应用服务连接器和服务器端组件构成的分布式系统。如图1所示[5]。

客户端组件就是各种浏览器,包括IE和Netscape等通用浏览器和专用Java浏览器。

应用服务连接器(Connector)将Web服务器和ArcIMS应用服务器连接在一起。Servlet Connector是ArcIMS的默认连接器,此外还有几种其他的连接器:ColdFusion Connector、ActiveX Connector、Java Connector、.NET Link。

服务器端组件包括三部分:

1) 应用服务器(Application Server):控制着传入请求,将请求传输到适合的空间服务器,并跟踪在空间服务器中运行的服务。

2) 空间服务器( Spatial Server):是ArcIMS的核心部件,它管理ArcIMS的服务(Service),处理关于地图、要素数据、地理编码和数据获取的请求。空间服务器的主要工作就是动态渲染地图影像,然后将它显示在HTML页面上;它也产生一些动态信息,如写某个应求应答失败日志。

3) 管理器(Manager):包含的三个独立的组件( Author, Designer, administrator),可以注册图形文件,设计网页,地图服务和管理空间服务器。

2 ArcXML文件

ArcXML(the Arc extensible markup Language,简称AXL)是一种发展了的标记语言,描述结构数据的内容而不是数据的表现,所有的ArcXML语句由元素和属性组成,这些元素和属性以等级结构组织在一起。在这种等级结构下,元素被分为父元素和子元素,子元素嵌在父元素的里面。多数的元素都有一个或多个由名称/值对组成的属性。这些元素和属性并不存储真实的数据图层,而是记录了相关的地理信息,如服务信息、图层信息等引用信息。

客户端向服务器端发送各种ArcXML请求,由ArcIMS空间服务器解析ArcXML请求,并将响应以ArcXML的形式返回给客户端。ArcXML的几种主要请求与响应类型如表1。

3 通讯过程

由于ArcIMS有多种连接方式,所以基于ArcIMS的WebGIS开发可供选择的开发语言和方式很多,这里不一一列举,仅以本人正在进行开发的一个项目为例,如表2所示。

在开发过程中引入了建立在MVC模式上的Struts技术框架作为Web服务的核心,Struts与ArcIMS空间服务器、图形配置文件、图形服务、请求与响应间的交互如图2[7-8]。

来自客户端的所有请求统一由ActionServlet接收,ActionServlet读取配置文件struts-config.xml中的ActionMapping,调用相应的Action,Action根据需要调用JavaBean来处理请求(如下例:JavaBean接受到获取图像的请求,读取GET_IMAGE.xml文件,填入minx、miny、maxx、maxy以及id的值),JavaBean再将处理过的请求向ArcIMS应用服务器发送。

以一个例子来看ArcXML是如何向空间服务器请求图像的,发送的ArcXML内容如下:

//这是每一个XML都需要的部分,不限于ArcXML,用于说明XML的版本和编码格式。

//ArcXML的起始部分

//表明是请求

//请求类型,意为获得图像,

//请求图像的属性

/*图像的范围*/

/*在显示器上要显示的图像大小*/

/*数据库中有两个图层,显示id号为1的图层*/

ArcIMS应用服务器接受到请求,将请求发送到ArcIMS空间服务器,由ArcIMS空间服务器解析ArcXML请求,连接数据库获得数据,生成相应的图像和响应的ArcXML,然后回传给应用服务器。响应中包含了图像的信息,如下:

//表明是响应,对应

//返回图像类型,对应

/*图像的范围,和REQUEST中的ENVELOPE一致*/

/*空间服务器生成的地图的存放位置*/

JavaBean接受响应的ArcXML,提取出图像的URL并更新JSP页面中图像对象的参数,ActionServlet再通知JSP页面刷新视图,这样请求的图像就在JSP页面中被显示出来了。

4 总结

随着Internet技术的发展,一个开放的、标准化的、跨平台的网络时代已经到来。WebGIS商业产品和应用的开发将会日益蓬勃,WebGIS的发展将会为人们的生活带来了更多方便也将会带来巨大的社会效益和经济效益。

参考文献:

[1] 肖心智,苏奋振,杜云艳,等.WebGIS性能分析与优化[J].测绘与空间地理信息,2005,2A(4).

[2] 康志瑜.王明生.GIS发展现状及应用分析[J].石家庄铁道学院学报,2005,18(1).

[3] 许卓群,马坚,汪小林,等.基于GML的WebGIS应用研究[J].计算机工程,2002(7):23-26.

[4] 吴芳,王玲.Struts在基于ArcIMS属性数据查询中的应用[J].测绘科学,2005.30(4).

[5] 黄康,史舟.ArcIMS原理分析及应用开发[J].地球信息科学,2005,7(3).

[6] 宋杨.基于ArcIMS的WebGIS在电子政务信息系统中的应用[J].现代测绘,2005,28(2).

[7] 孙卫琴.精通Struts:基于MVC的Java Web设计与开发[M].北京:电子工业出版社,2004.

上一篇:Web数据库加密系统的研究与实现 下一篇:基于遗传算法的分类方法讨论