王建明①
申正宇
②
① 信息工程大学测绘学院 河南郑州 450052
② 78145 云南昆明 650210
Email:lp811111@tom.com
摘要:2006年10月ESRI公司推出了ArcGIS Server9.2,它不仅继承了以前ArcGIS Server 版本的所有特性,还提供了ArcGIS Server Manager来管理和发布GIS服务。它可以把由ArcGIS 桌面产品生成的各种GIS资源发布成标准的Web Services即GIS Web 服务。它也可以利用发布的服务来构建Web应用程序。本文结合 ArcGIS Server的体系架构,介绍利用ArcGIS桌面软件生成各种GIS资源,并使用ArcGIS Server Manager将其发布成Web服务。
关键词:ArcGIS Server;GIS Web 服务;Web Services
Abstract:ESRI company published ArcGIS Server9.2 on 2006.10,it not only inherit all the characteristics of former edition of ArcGIS Server,but also provide ArcGIS Server Manager which manage and publish GIS Web Services. It is able to publish a series of GIS resource to normative Web Services, namely GIS Web services.It also can establish Web application using the published services.This paper introduce creating various GIS resource by ArcGIS Desktop softwares based on ArcGIS Server system architecture,and publish it to Web services by ArcGIS Server Manager.
Key Words: ArcGIS Server;GIS Web Services;Web Services
1. 引言
地理信息系统经过40多年的发展,在一定程度上满足了人们对空间数据处理和分析的部分需求。早期的地理信息系统主要依靠单机系统,有限的存储容量要求简约的数据结构,有限的计算能力不能支持复杂的空间运算,所以早期的地理信息系统主要表现为的单个系统。超小型机和服务器技术的发展,使部门地理信息系统得到了快速发展,地理信息系统的技术得到了极大地提高。20世纪90年代因特网的发展和高性能微机的普及,地理信息系统得到前所未有的发展,网络地理信息系统成为其技术核心与发展趋势,WebGIS成为空间信息服务的主要模式。但是传统的地理信息服务平台无法很好地解决空间数据和操作系统存在的异构和互操作问题,从而如何实现地理信息的共享和互操作已经成为GIS发展亟待解决的问题。
而这些问题,正是Web Services的优势所在,现代信息技术的变革使GIS和网络技术的结合日益紧密,基于Web Service标准的Web Services技术是下一代分布式系统的核心,因此把Web Services技术引入地理信息系统是下一代分布式模型的发展方向。一旦将Web Services技术运用到GIS行业中,必将改变GIS软件的体系结构,从而改变GIS数据访问和功能互操作模式,真正实现网络环境下空间信息共享和空间知识发现。因此基于Web Service 标准的地理信息服务技术成为了当前地理信息系统发展的主要方向。
当Web Services技术在各行各业中正不断深入各种应用之际,同时也在越来越多的用户希望从浏览器中使用以往在桌面系统中的各种高级功能的需求下,2006年10月ESRI推出了ArcGIS Server 9.2产品。它不仅可以完成各种桌面产品的高级功能,还可以把各种GIS资源(例如地图、工具、数据等)发布成标准的Web Services——GIS Web Services。本文就是在其体系框架的基础之上,就其如何开发基于ArcGIS Server的GIS Web 服务进行研究。
2. ArcGIS Server介绍
2.1. 什么是 ArcGIS Server
ArcGIS Server是一个发布企业级GIS应用程序的综合平台,提供了创建和配置GIS应用程序和服务的框架,可以满足各种客户端的各种需求,这是对 ArcGIS Server一个抽象的描述。
GIS开发人员可以使用ArcGIS Sever构建运行在标准的.NET和J2EE Web服务器中的Web Applications、Web Services以及其它的企业级应用,比如EJB等,也可以用ArcGIS server构建桌面GIS应用,通过client/server模式和服务器实现通信。也就是说GIS应用开发人员能够通过Web Services或Client/Server环境,构建和部署高级的GIS服务器应用,在服务器端实现了以往只能在桌面GIS系统中实现的GIS高级功能,比如几何网络追踪、线性参考、空间数据库的编辑和管理,以及高级的空间分析功能等。
ArcGIS Server产品由两部分组成:一是GIS服务器,一是.NET和Java的应用开发框架(ADF)。GIS服务器是ArcObjects对象的宿主,应用开发框架则使用这些对象来构建和部署Web应用和桌面应用,应用开发框架包括一组Web控件、Web应用模板,以及开发帮助和实例代码等。
ArcGIS Server的开发人员可以用各种语言来进行开发:用.net和Java语言进行web 应用的开发,COM和.net语言进行GIS服务器端功能的扩展,COM、.net、Java、C++等进行桌面应用的开发等。ArcGIS Server还包含了一个SOAP工具包,用来创建和宿主通过XML API来处理请求的Web服务。开发者可以将ArcObjects中的GIS功能以SOAP Web服务的形式发布,并且通过Internet的分布式计算框架来访问这些Web服务。
2.2. ArcGIS Server的体系结构
ArcGIS Server是一个分布式系统,它由几个部分组成,可以分别部署在不同的机器上,它们分别在进程的管理、启动和关闭以及对象运行的服务器的负载均衡方面起着专门的作用。ArcGIS Server的体系结构如图1所示。这些部分包括:
GIS服务器:宿主和运行服务器对象,由服务器对象管理器以及一个或多个服务器对象容器组成。
Web服务器:Web应用和Web services运行在其上,使用GIS服务器上的服务器对象。
客户端:包括 Web浏览器、移动设备、桌面产品等。
数据服务器:数据服务器包括GIS资源例如map documents、address locators、globe documents、geodatabases、 and toolboxes等。这些GIS资源可以通过ArcGIS Server发布成标准的Web Services——GIS Web Services。
其中服务器对象是提供和管理GIS 资源,比如地图、定位器以及地理处理模型等服务的软件对象,开发人员使用这些对象来开发他们的应用。我们知道ArcObjects 是ArcGIS 软件家族的基础,ArcGIS Server 的服务器对象也是ArcObjects 对象,也同样构建在ArcObjects 基础之上,因此ArcGIS Server 使我们能在web application 和web services 中通过ArcObjects 提供高级的GIS 功能。
2.3. ArcGIS Server 服务器的管理
ArcGIS Server 提供了对服务器的管理和配置,所有管理、配置和优化操作都在ArcCatalog 或在ArcGIS Server Manager 中进行。首先要确定连接到服务器的用户级别和权限,ArcGIS Server User 组(agsusers)或者是ArcGIS Server Administrator 组(agsadmin)。其次要确定连接ArcGIS Server 的方式:Local Server by LAN (Administrator)或者Remote Server by Internet。ArcGIS Server Manager 登录界面见图2。
图3 Manager管理界面
同时服务器管理员还可以配置池式和非池式的服务器对象,可以通过隔离限定共享容器进程的服务器对象个数以及为了重新分配资源,服务器将通过管理员的安排周期地关闭和重新启动服务器对象。
3. GIS Web服务的发布与管理
3.1. ArcGIS Server可以发布的服务类型
在ArcGIS Server 9.2有9种类型服务,它们根据不同的GIS资源及用户需要来发布不同类型的服务。服务的类型及所需资源见表1。
服务类型 需要的GIS 资源
地图服务 地图文档 (.mxd) 或者是发布的地图文档 (.pmf)
WMS地图服务 地图文档 (.mxd)
移动数据服务 地图文档 (.mxd)
KML服务 地图文档 (.mxd)
地理处理服务 Toolbox (.tbx), 或者是有工具层的地图文档
网络分析服务 带有网络分析层的地图文档
Globe服务 Globe 文档 (.3dd)
地理数据服务 SDE连接文件 (.sde), 包括个人 Geodatabase、文件 Geodatabase或者数据来自于geodatabase 的地图文档 (.mxd)
地理编码服务 Address locator file (.loc), ArcView 3 locator (.mxs), ArcSDE locator, 个人 Geodatabase locator,文件 Geodatabase locator
3.2. 服务的发布和管理
ArcGIS Server9.2使用ArcGIS Server Manager 或ArcCatalog 来发布和管理服务,并且可以利用发布的服务生成Web 应用程序。利用ArcGIS Server 将GIS 资源发布成服务并应用需要遵循以下工作步骤(如图4所示):
1)GIS
、ArcCatalog 等)生
成
GIS 资源。 2
)服务发布层:利用
ArcGIS Server 将GIS 资源发布成服务。
3)应用程序层:通客户端应用程序层使用发布的服务。
利用ArcGIS Server Manager 或ArcCatalog 可以方便的将GIS 资源发布成服务,并且可以随时启动、停止和删除服务,也可以重新编辑和修改已有的服务(服务的发布与管理见图5)。ArcGIS Server Manager 在生成服务的基础上可以创建 Web 应用程序调用相关服务,Web 应用程序生成见图6。
图6 Web 应用程序生成界面
由于基于ArcGIS Server9.2发布的GIS Web服务是标准的Web服务,因此它的应用非常广泛。主要应用有以下几个方面:
1)通过 ArcGIS Server Manager创建Web Mapping Application来使用服务。
2) 在Viso Studio 2005环境下,Web ADF可以通过ArcGIS Server Internet Data Source 方式来调用服务。例如:创建基于GIS Web 服务的Web Map图层;创建基于GIS Web 服务的Web Map任务。
3)使用标准的SOAP/WSDL接口的应用都可以使用这些服务,不需要在客户端安装任何的ESRI软件,可以通过.Net和 Java来使用这些服务。
图7、图8展示了在Web应用程序中调用点缓冲服务所生成的参数设置框和效果图:
图8 点缓冲效果图
图9展示了在Web应用程序中调用地址查询服务所生成的参数设置框和效果图(其中标记部分即是输入相应查询参数后所找到的位置):
图9 地址查询效果图
5.结束语
ArcGIS Server包含了一系列丰富的GIS Web 服务,利用ArcGIS Desktop能很容易地编辑和创建GIS资源,ArcGIS Server Manager和ArcCatalog能很容易将这些资源发布成服务。基于ArcGIS Server9.2发布的GIS Web 服务是标准的Web Services,Web Services 这一划时代的网络计算技术,提供了与厂商无关、可互操作的框架结构来对分布式异构的地理空间信息进行基于Web的发布、数据发现和处理、集成、分析、决策支持和可视化表现。随着ArcGIS Server不断地完善和发展,使得GIS Web 服务的构建变地更加简便、高效,这将对开放式的GIS Web 服务的构建具有十分重要的意义。
参考文献:
[ 1 ] 周文生,毛峰,胡鹏.开放式WebGIS的理论与实践[M].科学出版社,2007.
[ 2 ] 唐伦,陈晓凤.WebGIS企业应用开发技术缘述[J].网络与应用2005,(3)
[ 3 ] 周成虎.我国地理信息系统技术发展的机遇与挑战[J].科学时报,2007.
[ 4 ] 汤,杨昕.ArcGIS地理信息系统空间分析实验教程[M].科学出版社,2006.
[ 5 ] ESRI公司. ArcGIS Desktop Help.
[ 6 ] ESRI公司. ArcGIS Server .Net Help for VS2005.
[ 7 ] ESRI中国(北京)公司.ArcGIS Server资料.http://www.Gissky.net.
942