在当前IT概念名词漫天飞舞的年代,REST+RIA已经开始逐渐成为一种开发应用模式的标准,并越来越多的在各种实际业务中得到应用。
记得第一次看到REST的身影,是在InfoQ上的 一篇介绍 ,随后又翻阅了后面的参考文章和Developerwork上一些资料,甚至随手翻了翻Roy博士的 论文 。所幸,在不少人还在体会REST到底是何方神圣的时候,我拿到并安装了最新版的ArcGIS Server 9.3,里面新增了一种新的GIS服务:ArcGIS Server REST服务。有了这样的一个落地的基于REST的服务,所有对REST基础概念的疑惑都迎刃而解:为所有“事务”定义ID;将所有“事务”链接在一起;使用标准方法;资源多重表述;无状态通信(摘抄自 InfoQ )。所以,学习开发或开发理念,看文字没有看图片快,看图片没有动手操作快,动手操作没有导师亲自指导快,对于REST的学习,我对生涩的文字概念的理解时间被压缩到了最小
ArcGIS Server REST服务的组织结构:
今天看到一则新闻 ,纽约时报通过Times Developer Network 构建了一个基于REST的API,请求API之后将得到XML和JSON格式的返回数据,这些API包括 :
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完整的技术体系,目 前在ArcGIS Server REST服务基础上可以使用的客户端技术有Javascript、Flex、Silverlight,大家可以到官方网站上了解:
http://resources.esri.com/arcgisserver/index.cfm?fa=applications
下面以treenode 在javaeye上总结的RIA+REST架构的优点,分析ArcGIS Server中的RIA+REST。
1.将表现层与后台彻底分离
从N年前讨论MVC开始就在讨论解耦、松耦合的设计方法,ArcGIS Server REST将GIS基础和核心功能全部进行了封装,并以服务的方式提供给客户端,如常见的地图展示、图层信息访问、空间几何查询、高级分析功能(网络分析、地理统计、空间分析统计、水文分析、地址编码、逻辑网络、坐标转换等)等等。这些全是GIS相关的功能,客户端无论是Javascript、Flex还是Silverlight无需关注GIS功能的实现,只用专心于人机交互和用户UI设计。
2.方便程序员和美工协同开发
对于Flex和Silverlight开发来说,这种界线更为明显,如微软专门为设计人员提供的Express Blend,程序员只需将精力集中在基于vs的代码编写上,而这些代码无需关注GIS功能实现的方法,只需要完成对ArcGIS Server REST服务的调用即可,结构一目了然。
3.有利于采用快速原型的开发方式
没有任何后台逻辑之前,表现层就可以开始设计,FlexViewer无疑是最好的说明,ArcGIS Silverlight API也将拥有类似的框架。
4.合理分配负载,减轻服务器压力
这不是GIS的特点,是Javascript、Flex、Silverlight的能力,用GIS应用中的一个典型用例说明:通过不同颜色渲染出全国各省的人口数量。这是一个专题图生成的功能,过去常用的方式是由GIS Server进行处理,然后将处理结果生成一张图片,通过虚拟目录地址返回,10000个并发的时候服务器肯定死掉了,然而基于RIA+REST的应用架构,REST负责将需要的数据传回客户端,压力较大的渲染工作放到客户端进行了,有效减轻了服务器的压力,用户体验更佳,视觉效果更好。
再如下面H1N1例子(在线演示 ),客户端要绘制上万个点,如用Soap API去动态绘制,速度会慢的难以忍受,而RIA做到了。
5.提高用户体验
这还用多说吗,RIA最直接的效果就是良好的用户体验,事实证明专业GIS用户更喜欢基于RIA的GIS应用,大众GIS应用如Google Map、MapABC也都推出了各自的Flex API。
任何技术没有100%完美,但是在GIS行业和更加广阔的IT技术应用中,RIA+REST在很多方面的确做得比前辈们更好
相关推荐
"基于RIA+REST架构的房产管理WebGIS平台研究" 该论文研究了基于RIA+REST架构的房产管理WebGIS平台,旨在提高房产管理的效率和科学性。该平台通过集成housing-related功能机构、逐渐实现房产业务数据的空间化、在Web...
RIA+REST将会成为继Web MVC之后,新一代Web应用的首选架构风格。 本书是国内出版的第一本深入探讨REST架构设计的书籍。书中的所有模式都有详细的讲解和丰富的代码,理论联系实践,确实是不可多得的一本好书。 ...
"RIA+REST,琴瑟合鸣 - 博客园知识库.mht"讨论了如何结合Rich Internet Application(RIA)与Representational State Transfer(REST)架构,利用jQuery实现更高效的Web应用程序。 通过以上内容的学习,读者不仅...
REST API AUTO.RIA在二手车市场中的趋势 跟踪,分析和预测 我们正在免费提供“计算平ASP格” ,这是根据AUTO.RIA的实际统计数据提供的第一项服务(每月发布1万条公告,出售7800个汽车品牌,每天收集800万观看次数)...
通过上述内容,我们可以看出ArcGIS Server RIA开发涉及的技术和概念非常广泛,既包含了RIA的基本原理和技术特点,也涵盖了ArcGIS Server提供的REST接口和Flex API的具体应用。开发者可以根据实际需求选择合适的技术...
简介:使用Java 8,REST-Assured,Gradle,Junit和Allure Framework技术实现自动API测试; 使用的服务: 测试路径: / ws / {CEP} / json / ws / {UF} / {CITY} / {街道地址} / json / 先决条件: 要求 下载页面...
通过以上介绍可以看出,《ArcGIS RIA 开发实践【Flex篇】》涵盖了 RIA 技术的基础知识、ArcGIS Server REST 接口的使用以及如何利用 ArcGIS Flex API 构建 GIS 应用。这对于希望深入理解 ArcGIS RIA 开发的读者来说...
通过以上内容的详细介绍,我们不仅了解了RIA的基本概念及其优势,还深入探讨了当前主流的RIA技术以及ArcGIS Server REST接口的相关知识。同时,也对ArcGIS Flex API有了初步的认识,包括其基本概念、地图功能组件及...
它还可能支持OData(Open Data Protocol),这是一种基于REST(Representational State Transfer)的协议,用于使数据可被消费和共享。通过RIA服务模板,开发者能够轻松地实现CRUD(创建、读取、更新、删除)操作,...
Dojo是一个强大的JavaScript库,专门用于构建富互联网应用程序(RIA)。Dojo提供了丰富的功能,包括DOM操作、事件处理、动画效果、Ajax通信、数据存储以及UI组件等。Dojo Toolkit的Dijit模块提供了一整套可复用的、...
根据给定文件的信息,本文将深入探讨基于Flex和REST服务的WebGIS系统开发,并通过陇西县地理空间信息应用系统这一实例,展示如何利用这些技术提高WebGIS开发效率及用户体验。 ### 一、WebGIS的发展历程及其问题 ...
RIA(富互联网应用)和SOA(面向服务架构)是近年来在分布式WebGIS领域中两个非常重要的技术概念。分布式WebGIS是Internet环境下一种传输、存储、处理、分析、显示与应用地理空间信息的计算机系统,是WWW技术和GIS技术的...
直到WebMVC框架的出现,以及后来的RIA技术,尤其是Ajax的流行,使得Web应用能更高效地更新局部内容,这些都为RESTful设计提供了基础。 RESTful API设计的一个关键原则是使用HTTP方法来表达操作意图,比如GET用于...
【Flex ArcGIS REST编程使用】涉及的技术领域主要是WebGIS开发,使用Adobe Flex作为前端富互联网应用(RIA)框架,结合RESTful服务接口与ESRI公司的ArcGIS Server进行交互。Flex是一种基于ActionScript 3.0的开发...
Flex支持多种数据服务,如AMF(Action Message Format)、SOAP、REST等,方便与后端服务器进行数据交换。此外,Flex还可以使用Flex Data Services或BlazeDS来实现与Java、PHP、.NET等服务器端技术的无缝对接。 图形...
- **RIA(Rich Internet Application,富互联网应用)阶段**: Ajax等技术让网页具备了更丰富的交互性。 - **移动Web应用阶段**: HTML5等技术推动了移动Web应用的发展。 #### OpenDaylight与REST OpenDaylight是一...