`
sungang_1120
  • 浏览: 310807 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类

RIA+REST,

 
阅读更多

  在当前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包括

 

复制代码
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完整的技术体系,目
前在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平台研究.pdf

    计算机-后端-基于RIA+REST架构的房产管理WebGIS平台研究.pdf

    Ajax设计模式

    RIA+REST将会成为继Web MVC之后,新一代Web应用的首选架构风格。  本书是国内出版的第一本深入探讨REST架构设计的书籍。书中的所有模式都有详细的讲解和丰富的代码,理论联系实践,确实是不可多得的一本好书。 ...

    auto-ria-rest-api:AUTO.RIA.com REST API文档

    REST API AUTO.RIA在二手车市场中的趋势 跟踪,分析和预测 我们正在免费提供“计算平ASP格” ,这是根据AUTO.RIA的实际统计数据提供的第一项服务(每月发布1万条公告,出售7800个汽车品牌,每天收集800万观看次数)...

    restassured-cucumber-junit-allure-gradle:使用RestAssured实施API测试

    简介:使用Java 8,REST-Assured,Gradle,Junit和Allure Framework技术实现自动API测试; 使用的服务: 测试路径: / ws / {CEP} / json / ws / {UF} / {CITY} / {街道地址} / json / 先决条件: 要求 下载页面...

    ArcGIS_RIA_开发实践.pdf

    ArcGIS_RIA_开发实践详细介绍GIS中的REST技术

    ria

    快速开始结帐node-koajs-rest-skeleton: $ git clone https://github.com/ria-com/node-koajs-rest-skeleton 制作自己的新项目: $ mv node-koajs-rest-skeleton my_new_project$ cd my_new_project$ rm -rf .git ...

    test-project-ria:测试项目RIA

    对于测试项目,应创建一个小型Web应用程序/移动应用程序,该应用程序使用简单的JSON rest API。 ###安装步骤步骤1:通过运行下载存储库 git clone https://github.com/mortegac/test-project-ria.git 步骤2:安装...

    基于RIA_JavaScript技术的高速公路滑坡监测预报管理信息系统的设计与实现

    WebGIS技术为基础,结合ArcGIS for Server 的RESTAPI,使用JavaScript作为 WebGIS客户端的主要实现技术,利用ASP.NET MVC框架开发一个基于 RIA/JavaScrip技术的WebGIS系统 高速公路滑坡监测预报管理信息系统。系 统...

    harmonyos2-node-koajs-rest-skeleton:一个简单的Koajs2应用REST骨架

    https://github.com/ria-com/node-koajs-rest-skeleton 制作你自己的新项目: $ mv node-koajs-rest-skeleton my_new_project $ cd my_new_project $ rm -rf .git 编辑 package.json: $ vi package.json 编辑配置/...

    REST-adapter-service:无需维护的存储库。 开发移至

    参与合作的人员: AndresKütt(爱沙尼亚RIA爱沙尼亚信息系统管理局) AlarJõeste(爱沙尼亚Cyber​​netica) 玛格斯(Margus Freudenthal)(爱沙尼亚Cyber​​netica) PetteriKivimäki(芬兰人口登记中心) ...

    Spring MVC与JAX-RS比较与分析

    汇集最新RIA技术相关资源,提供Flash开发平台相关工具高速下载,免费获得Adobe软件的产品序列号。 现在有越来越多的公司希望能以简单而又贴合Web架构本身的方式公开Web API,因此REST变得越来越重要也就不足为奇了。...

    ArcGISServerREST中文基础教程

    ArcGISSERVER9.3开始引入adobe 的Flex开发机制,很有前瞻性,大家会喜欢的

    seam 2.1 参考手册

    如果你想使用RIA,我们主要考察的RIA框架是Flex。 此外,Seam 2.1将提供给RESTful应用更好的支持。通过集成JAX-RS(JSR-311),RESTful web services java标准和RESTeasy由另一个JBoss的成员Bill Burke完成。我是...

    Ext JS 6 By Example(PACKT,2015)

    It provides a complete rich set of GUI controls, has an excellent API for AJAX and REST, and helps users to organize their code with Model View ViewModel (MVVM) or the MVC architecture, and supports ...

    RiaKoaJS

    $ git clone https://github.com/ria-com/node-koajs-rest-skeleton 制作自己的新项目: $ mv node-koajs-rest-skeleton my_new_project $ cd my_new_project $ rm -rf .git 编辑package.json: $ vi package....

    maria-quiteria:后端para coleta edisponibilizaçãodos dados:scroll:

    玛丽亚·奎特里亚(MariaQuitéria) 自由女神像教堂。 NAO萨贝终止日期FOI? 达多斯 达达斯基地 丰特 Descrição 科莱塔 达多斯银行 下载 议程( citycouncil.py ) 卡马拉市政厅 议程(市政厅,家庭住宅,小...

    WebApiTest:Teste com webApi em .net核心

    作为API REST的替代者,其他的API实体也实现了REST。 示例: Entrada 1 – Jogador 1和Jogada Pedra Entrada 2 – Jogador 2 e Jogada Tesoura Entrada 3 – Jogador 3 e Jogada Tesoura 约加Resultado Jogador 1...

    Kendo UI The Art of Web Development(web界面组件)

    kendo ui 是一套Telerik 公司推出... 不限于服务端是 Java 或者 .Net, php可以运用于多种环境,对Ajax,Rest都有良好的支持. demo: http://demos.kendoui.com/ 移动开发demo:http://demos.kendoui.com/mobile/index.html

    Flex语言开发介绍及实例

    关于flex开发的简介及开发主要内容,对想学习flash开发的哥么有帮助

    Advanced Flex 3 2008

    approached independent of the rest of the content in this book. Bare essential knowledge of Flex is assumed of the readers. How this book is structured Advanced Flex 3 is divided into 3 parts that ...

Global site tag (gtag.js) - Google Analytics