资源预览内容
第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
第4页 / 共10页
第5页 / 共10页
第6页 / 共10页
第7页 / 共10页
第8页 / 共10页
第9页 / 共10页
第10页 / 共10页
亲,该文档总共10页全部预览完了,如果喜欢就下载吧!
资源描述
土地资源网www.tdzyw.comRIA+REST架构实现ArcGIS完美WEB开发记得第一次看到REST的身影,是在InfoQ上的一篇介绍,随后又翻阅了后面的参考文章和Developerwork上一些资料,甚至随手翻了翻Roy博士的论文。所幸,在不少人还在体会REST到底是何方神圣的时候,我拿到并安装了最新版的ArcGISServer9.3,里面新增了一种新的GIS服务:ArcGISServerREST服务。有了这样的一个落地的基于REST的服务,所有对REST基础概念的疑惑都迎刃而解:为所有“事务”定义ID;将所有“事务”链接在一起;使用标准方法;资源多重表述;无状态通信。所以,学习开发或开发理念,看文字没有看图片快,看图片没有动手操作快,动手操作没有导师亲自指导快,对于REST的学习,我对生涩的文字概念的理解时间被压缩到了最小。今天看到一则新闻,纽约时报通过TimesDeveloperNetwork构建了一个基于REST的API,请求API之后将得到XML和JSON格式的返回数据,这些API包括: Article Search API:能够搜索从1981年到现在纽约时报上的文章,可以获取标题、摘要及相关多媒体的链接 Best Sellers API:能够获取纽约时报所有的最佳业绩数据,包括特定销售商的等级历史 Campaign Finance API:根据美国联邦选举委员会的备案获取总统选举的捐助及花费数据 Community API:获取NYTimes.com用户发表的评论 Congress API:获取美国议会投票数据,包括具体议院和参议院议员的信息 Movie Reviews API:获取到评论和纽约时报评论家的链接以及根据关键字搜索电影评论 New York State Legislature API:获取纽约州参议院及大会的议员和委员会信息 Real Estate API:获取纽约市房地产及销售情况的聚合数据 Times Newswire API:获取最新时报文章的链接和元数据 TimesPeople API:获取时报读者的信息及活动数据 TimesTags API:获取与查询信息匹配的标准化术语,同时由时报字典进行过滤微软同时发布了纽约时报Silverlight工具集,这和ArcGIS各种客户端API设计方法是类似的,过去大家包括我曾抱怨ArcGIS技术总是落后IT技术发展,如COM问题,这次,至少是在第一时间(2008年上半年)提供了RIA+REST完整的技术体系,目前在ArcGISServerREST服务基础上可以使用的客户端技术有t、Flex、Silverlight,大家可以到官方网站上了解:http:/resources.esri.com/arcgisserver/index.cfm?fa=applications下面以treenode在javaeye上总结的RIA+REST架构的优点,分析ArcGISServer中的RIA+REST。1.将表现层与后台彻底分离从N年前讨论MVC开始就在讨论解耦、松耦合的设计方法,ArcGISServerREST将GIS基础和核心功能全部进行了封装,并以服务的方式提供给客户端,如常见的地图展示、图层信息访问、空间几何查询、高级分析功能(网络分析、地理统计、空间分析统计、水文分析、地址编码、逻辑网络、坐标转换等)等等。这些全是GIS相关的功能,客户端无论是t、Flex还是Silverlight无需关注GIS功能的实现,只用专心于人机交互和用户UI设计。2.方便程序员和美工协同开发对于Flex和Silverlight开发来说,这种界线更为明显,如微软专门为设计人员提供的ExpressBlend,程序员只需将精力集中在基于vs的代码编写上,而这些代码无需关注GIS功能实现的方法,只需要完成对ArcGISServerREST服务的调用即可,结构一目了然。3.有利于采用快速原型的开发方式没有任何后台逻辑之前,表现层就可以开始设计,FlexViewer无疑是最好的说明,ArcGISSilverlightAPI也将拥有类似的框架。4.合理分配负载,减轻服务器压力这不是GIS的特点,是t、Flex、Silverlight的能力,用GIS应用中的一个典型用例说明:通过不同颜色渲染出全国各省的人口数量。这是一个专题图生成的功能,过去常用的方式是由GISServer进行处理,然后将处理结果生成一张图片,通过虚拟目录地址返回,10000个并发的时候服务器肯定死掉了,然而基于RIA+REST的应用架构,REST负责将需要的数据传回客户端,压力较大的渲染工作放到客户端进行了,有效减轻了服务器的压力,用户体验更佳,视觉效果更好。再如下面H1N1例子(在线演示),客户端要绘制上万个点,如用SoapAPI去动态绘制,速度会慢的难以忍受,而RIA做到了。5.提高用户体验这还用多说吗,RIA最直接的效果就是良好的用户体验,事实证明专业GIS用户更喜欢基于RIA的GIS应用,大众GIS应用如GoogleMap、MapABC也都推出了各自的FlexAPI。任何技术没有100%完美,但是在GIS行业和更加广阔的IT技术应用中,RIA+REST在很多方面的确做得比前辈们更好。不编程就能使用REST API字号: 小 中 大 | 打印发布: 2009-6-01 15:45 作者: webmaster 来源: 本站原创 查看: 1136次因为无需编程就可以使用REST API,所以并非只有程序员才能使用REST API。使用REST API,所有需要做的就只是建立一个请求网址。只要知道如何建立请求的网址,就可以在一些Web浏览器和地理浏览器中查看结果。例如,我们可以通过REST API使用下面的地图服务: 5SJQ:D UALL FOR GIS L9l/?9Hf1W _8t ArcGIS Server:http:/sampleserver1.arcgisonline.com/arcgis/rest/services :dGk h;jp a dALL FOR GIS-K.CO.M!tg!I Portland地图服务 1F+j FZ i!Q(ebaBMM uK#bw%I_ 名为ESRI_LandBase_WebMercator的地图服务 ALL FOR GIS.m*:p dx1gFj?.Cp z-N di 这个地图服务的端点是http:/sampleserver1.arcgisonline.com/ArcGIS/rest/services/Portland/ESRI_LandBase_WebMercator/MapServerx jqY+d&tzW2PB&*lx$dALL FOR GIS.nzG&P-RD;C;mIH接下来, 将为各位展示如何利用现有的地理浏览器使用REST API。这些地理浏览器可以通过REST API与ArcGIS Server进行通讯。YHy|*y!1?NALL FOR GISP8G0o QO2Vq3wu$U1. ArcGIS Server JavaScript地图浏览器ALL FOR GIS uqc/Z)wa3q.on;FC)hlIn对于ArcGIS Server JavaScript地图浏览器而言,输出格式的“F”参数应该是“jsapi”。因此,我们构建的网址如下:http:/sampleserver1.arcgisonline.com/ArcGIS/rest/services/Portland/ESRI_LandBase_WebMercator/MapServer?f=jsapijCSMW/W;B Jx2ZALL FOR GIS(kv3b QALL FOR GIS2B y3c9I&e点击网址链接,你就可以看到使用ArcGIS JavaScript API的Web浏览器中的地图服务。你可以与地图浏览器交互。地图浏览器通过REST API与ArcGIS Server通讯。 4wc%I,F D.Dot g3B1evU_7D o在ArcGIS Server JavaScript地图浏览器中查看地图服务+jax/6x,lj;A#q#V.g/ALL FOR GIS*d1q8?k+c-h3|7T-B+eALL FOR GIS2os P-R4y2. ArcGIS Explorer0Gt1|p0#Y n8R)q3YP2dZ9利用ArcGIS Explorer,输出格式的参数f=nmf。或者,您可以使用f=kmz。我们构建的网址就应该是http:/sampleserver1.arcgisonline.com/ArcGIS/rest/services/Portland/ESRI_LandBase_WebMercator/MapServer?f=nmfALL FOR GISF-?ukq5dO xN6uALL FOR GIS%PBIVE3d_#?f a4V7J如果电脑已安装ArcGIS Explorer,默认情况下the.nmf文件类型的注册打开到ArcGIS Explorer。只需点击前面的网址链接,就可以在ArcGIS Explorer中看到地图。 _5RAN%rc*RDmbsA在ArcGIS Explorer中查看地图服务0B$wk9ZS? aLALL FOR GIS5MeU V/GALL FOR GIS%qafVoVn7x6v.Zk0j7bm3. ArcMapLH*8tEP!F4dr*C.0B3对于ArcMap,输出格式参数 f=lyr。此外,我们还需要指定ArcMap的版本参数。例如,对于ArcMap9.2版。我们构建的网址是http:/sampleserver1.arcgisonline.com/ArcGIS/rest/services/Portland/ESRI_LandBase_WebMercator/MapServer?f=lyr&v=9.2ALL FOR GIS*jMKN0P!P8 e9SALL FOR GIS Sm CxSS|wALL FOR GIS7G*m j)GuQALL FOR GISZ-mG8TH/d9cz2如果电脑已安装有ArcMap,默认情况下.lyr文件类型注册到ArcMap打开。只需点击前面的网址链接,就可以在ArcMap视图中看到地图。 Zv!ml T- k+Rm LALL FOR GIS8moAA:Ty Zpw在ArcMap中查看地图服务ALL FOR GIS7N)Yn e8sHS.Y2_ALL FOR GIS:OK.B8a A1cd$e ApALL FOR GIS!J)?;U-wF#t*l Jr p4j/A2x!d zP4.微软Virtual EarthR.eVN%)BALL FOR GISLw8 Yb)Q如果不通过编程在微软Virtual Earth中使用REST API,则地图服务必须是缓存地图,而且其投影必须是Web麦卡托投影(102113)。我们创建的示例地图服务“ESRI_LandBase_WebMercator”就符合上述要求。ALL FOR GIS&L!F$f3esD5AVFZ*T3w:N YALL FOR
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号