使用ArcGIS REST构建高性能WebGIS服务

2010-07-09 11:30周兆滨王琴张永军
制造业自动化 2010年8期
关键词:管理器肉牛饲料

周兆滨、王琴、顾 亮、张永军

(1. 北京机械工业自动化研究所,北京 100120;2. 中国国际工程咨询公司,北京 100048)

0 引 言

随着网络技术与GIS技术的不断发展,两者的结合日趋紧密,WebGIS体系结构也在不断地发生变化,由传统的C/S体系到B/S体系,再到目前的RIA体系。每一次发展都给GIS注入了新的活力。目前流行的RIA技术包括Silverlight、Flex、JavaFx等,但是无论使用哪一种RIA技术,最终都需要ArcGIS REST来提供服务。

本文将详细介绍使用REST构建可靠、安全、高性能的WebGIS服务。

1 REST概述

REST,即表述性状态转移,是Roy Fielding在其2000年的论文中首次提出的一种软件架构。具体地说,REST用来定义一个Web服务应用程序编程接口(API),通过HTTP来进行资源管理,例如CRUD(创建、读取、更新和删除)。

ArcGIS REST中,CRUD意味着创建/读取/更新/删除地图服务的子组件,也就是一个层。一个功能齐全的REST地图服务可以让使用者建立层,读取层,更新层,或删除层。REST类型的Web服务遵循以下基本原则:

设定地址资源:可以使用一个网址访问任何资源;

通用接口:标准的Put,Get,Post和Delete操作都需要得到请求才能完成;

无状态消息:每个请求都是独立的,每个请求都必须包括自己的参数,来完成操作;

表达:请求结果的渲染可以通过多个形式实现,例如地图和影像,XML和JSON。

ArcGIS Server 9.3中引入了创新的和强大的基于REST的Web服务架构。面向ArcGIS Server的REST API是对SOAP API的增强和改进。

2 REST服务的创建和发布

ArcGIS Server发布的GIS服务都可以通过各级端点或者统一资源定位器(URL)访问针对REST API开放的所有资源和操作。

创建和发布REST服务包括以下几个部分的内容:

1)服务支持的类型——根据需要建立ArcGIS Server服务类型。服务类型包括地图服务、地理编码服务、地理处理服务、几何服务、图片服务、地球模型服务(Globe服务)和网络分析服务。

2)创建GIS资源——根据服务类型,创建地理信息系统资源。不同类型的服务需要不同类型的地理信息系统资源,而这些资源分别可以在不同的ArcGIS模块中创建。

3)发布资源与服务——使用REST API将资源发布为Web 服务,这样,这些服务就可以被Internet或Intranet客户端应用程序远程调用。

4)浏览服务——在ArcGIS Server的服务浏览器中浏览服务和服务目录。服务目录格式是基于ArcGIS Server REST API的HTML。通过服务浏览器,可以浏览服务器内容,查看可用的GIS Web服务,获取对开发的有用信息,可以测试用户自定义的服务。

5)管理服务——通过ArcCatalog,ArcGISServer管理器,或者通过REST API管理控制台来停止,启动或暂停这些服务,更新缓存,并且启用/禁用服务浏览器。

3 应用REST服务

从根本上说,REST API就是由网址组成的,所以使用REST API的过程分为以下四个步骤。

1)构建请求网址;

2)发送请求到ArcGIS Server;

3)接收服务器的响应;

4)解析和使用服务器响应。

可以基于多种客户端访问REST服务,如使用Flex、Silverlight、python、javascript、Asp.Net等客户端访问REST建立好的各种服务。例如,使用ArcGIS Server Flex API可以实现:

1)互动显示用户数据的地图;

2)执行服务器上的一个地理信息系统模型,并显示模型结果;

3)在ArcGIS Online基础地图上显示用户数据;

4)查找用户地理信息系统数据的要素或属性,显示查找结果;

5)搜索地址,并显示搜索结果;

6)创建Mashups(整合来自多个网站源的信息)。

使用ArcGIS Server Flex API访问ESRI网站上REST服务的效果。

肉牛在不同年龄阶段中饲料利用率也存在比较大的差异性,如犊牛期的肉牛生长发育速度比较快,对于各种营养物质也有非常大的需求量,其饲料利用率相对比较高。但是随着肉牛年龄的不断增长,导致肉牛采食量不断增加,体内脂肪沉积量也得到一定程度的提升,使饲料利用率开始降低,这时摄入的营养物质多用来维持肉牛的生存需求。因此还需要结合不同生长时期进行饲料的合理选择,以提升肉牛的饲料利用率。

下图将不同地区的人口年龄分布使用饼状图表示出来,其使用的REST服务地址为:http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer/0

4 REST服务的安全性与性能

4.1 安全机制

ArcGIS网络管理器中基于角色的安全机制可以确保Web服务和网络应用以及所有提供服务的安全。

REST API安全机制与ArcGIS Server中安全规则相互配合。通过ArcGIS管理器产生令

牌或者登录到服务,可以使所有服务具备安全机制。

4.2 提升性能

4.2.1 缓存

缓存是改善REST地图性能的关键技术。实时创建地图是最耗时的,所以从地图高速缓存中找回地图将大大提高性能。最好的方法就是建立一个缓存地图。如果存储空间不受限制,高速缓存是最佳的选择方案。

4.2.2 响应格式

REST服务应对每个请求能够返回四种不同的响应格式:HTML格式,JSON,图片或KMZ(压缩版本的KML,或锁孔标记语言)。默认情况下,响应格式是HTML和嵌入图像的HTML。

四个响应格式中,图片和JSON具有最好的综合效果。图片提供了最快的响应速度,而JSON不仅返回元数据,而且提供链接来下载图片。JSON比KMZ更加简单并且节省带宽。

另外,还可以通过改变压缩和响应格式的设置来提高REST服务的性能,所有性能相关的设置可以通过修改rest.config配置文件来实现。

5 结论

REST服务相比以前的SOAP服务具有很明显的优势。通过ArcGIS REST,能够建立可靠、安全、高性能的GIS服务。为基于ArcGIS REST服务的Flex、Silverlight等RIA应用提供了良好的服务基础。将RIA技术与REST服务相结合,可实现完美的WebGIS。

[1] ESRI中国有限公司.ArcGIS9.3新特性,2009.

[2] ESRI中国有限公司.ArcGIS Server9.3REST基础教程,2009.

[3] 刘光,唐大仕.Web GIS开发:ArcGIS Server与.NET[M].清华大学出版社,2009.

[4] 汪旻琦.基于ArcGIS Server的企业级GIS系统开发与应用,2007.

猜你喜欢
管理器肉牛饲料
冬季肉牛咋喂精料
四种青贮法 饲料新鲜又适口
原来饲料还可以这样玩!许愿斌用短短1年时间,开辟了饲料创业新赛道
冬春如何提高肉牛采食量
粤海饲料
肉牛口炎咋防治
启动Windows11任务管理器的几种方法
应急状态启动磁盘管理器
青贮饲料在肉牛养殖中的使用
Windows文件缓冲处理技术概述