本文共 2277 字,大约阅读时间需要 7 分钟。
微软同时发布了,这和ArcGIS各种客户端API设计方法是类似的,过去大家包括我曾抱怨ArcGIS技术总是落后IT技术发展,如COM问题,这次,至少是在第一时间(2008年上半年)提供了RIA+REST完整的技术体系,目前在ArcGIS Server REST服务基础上可以使用的客户端技术有Javascript、Flex、Silverlight,大家可以到官方网站上了解:
下面以在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在很多方面的确做得比前辈们更好。本文转自Flyingis博客园博客,原文链接:http://www.cnblogs.com/flyingis/archive/2009/05/17/1458953.html,如需转载请自行联系原作者