版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、ArcGIS Server Web ADF框架与FLEX API的比较与分析樊玮(武汉市城市规划信息中心,武汉市三阳路13号,430014)摘 要:近年来,Web服务(Web Service)技术广泛的应用于互联网络的资源共享。随着Web服务标准与技术的不断成熟,面向服务的体系结构越来越多的应用于GIS行业的应用中,开发方式也越来越丰富。为了充分利用现有的软硬件资源,构建满足用户需求的GIS应用平台,本文介绍了.Net环境下Web ADF和Flex API的特点及其适用范围,比较了采用这两种方法开发面向服务的地理空间信息公共服务平台的数据访问方法和功能开发方式,并对其效率和性能进行了分析。关键
2、词:Web Service; Web ADF; Flex API; SOA1 引言 Web服务(Web Service)不仅是一种技术,而且还代表了软件产业的新革命,由面向对象的开发方式转为而向服务的开发方式。面向服务开发的核心思想是重用已有服务,在已有服务的基础上进行再组合,形成新的松耦合分布式软件系统。随着Web服务标准与技术的不断成熟,Web服务已经成为互联网上一种重要的资源。ESRI公司提出的ArcGIS Server体系结构采用的就是面向Web Service技术。ArcGIS Server9.3是一个新的GIS服务器,它主要用于构建集中管理、支持多用户的企业级GIS应用平台。本文介
3、绍了.Net环境下Web ADF和Flex API的特点及其适用范围,比较了采用这两种方法开发面向服务的地理空间信息公共服务平台的数据访问方法和功能开发方式,并对其效率和性能进行了分析。2 WebADF与Flex框架 ArcGIS Server是一个分布式系统,它由GIS服务器、Web服务器、Web浏览器、桌面产品四个部分组成,可以分别部署在不同的机器,它们分别在进程的管理、启动和关闭以及对象运行的服务器的负载均衡方面起着专门的作用。Web ADF 和 Flex API都是为构建Web应用提供的开发组件。2.1 WebADF框架ArcGIS Web ADF for .NET能够集成丰富的GIS
4、功能到Web应用程序中。ADF包含一组和Visual Studio集成的Web控件和组件来开发Web应用。Web ADF建立在.NET框架之上,利用一套定制的Web控件和提供本地和远程数据资源访问的新类来扩展.NET框架。图1 Web ADF for .NET开发的层次图ADF提供的是控件和API。控件是提供用户API和Specific API的类来具体完成GIS的功能。Web ADF提供了一个框架使用定制的ASP.NET Web控件合并和使用一个或者多个数据源。Web控件以可视的方式显示地理数据并且和地理数据交互。图2 Web ADF开发Web应用的体系结构图2.2 Flex API 框架A
5、rcGIS API for Flex可以说是ArcGIS Server的扩展开发组件,它可以使你在使用ArcGIS Server构建GIS服务的基础上,开发丰富的因特网应用(RIA, Rich Internet Applications)。它的优点在于可以使ArcGIS提供的各种资源(如Map、GP模型)和Flex提供的组件(如Grid、Chart)相结合,构建表现出色、交互体验良好的Web应用。Flex API通过ESRI提供的ArcGIS Server REST(REpresentational State Transfer,表述性状态转移) API访问Web服务,它继承了Web 服务 R
6、EST API 的特征。REST通过url的方式来访问服务的根目录, REST访问地址中,folder和servicename是对大小写敏感的,folder前面的部分则没有影响。如果folder和servicename中包含有非英文字符,则需对其进行编码,获得一个有效的统一资源标识符。REST里所描述的服务,包含资源和操作两种类型,上面所说的是资源,就是描述该服务的一些属性信息,操作指的是基于该服务能够实现的功能,如导出地图、查询、搜索、生成KML。图3 资源和操作的整体框架每一种资源都有统一的URI来标识,资源通过链接被相互关联在一起,如MapService下的各种操作功能,并且资源有多重表
7、述方式,这些都取决于我们的应用和需求。3 基于WebADF和Flex的地理空间信息共享平台的比较分析3.1 服务访问方式比较WebADF中控件和数据源之间的交互由资源管理器负责。资源管理器指定哪些数据源是可用的,Web控件是怎样使用这些资源的和资源是怎样和其它资源进行交互的。如果一个数据源提供了一个资源管理器能够使用的信息,这个数据源能够在这个应用内被增加和发布成一个资源。Web 控件使用资源来访问数据源的能力在Web ADF中成为功能(Functionality)。 从Web控件的观点来看,不同的控件可以以不同的方式使用相同的资源,因此能够以不同的功能工作。从数据源的角度,资源经常共享某些级
8、别的通用功能,例如,产生一个地图图形,或者查询一个层。 Web ADF提供一个通用的API来访问这些通用的功能,称为通用API(Common API),Web控件使用通用API来实施类似的功能,通过一个资源管理器,合并来自多个数据源的结果。另外,一个数据源可以提供一个能力,这个能力对于其他数据源类型来说是不通用的。在这种情形下,Web ADF包含数据源特定的API(Data Source Specific APIs)访问对于某种数据源唯一的功能。Web控件作为用户接口组件,通用和数据源特定API类处理绝大部分GIS功能,通过使用Resources来创建Functionalities,使用Fun
9、ctionalities来执行操作。以访问MapServer服务为例,WebADF中采用MapResourceManager管理资源,即可以将资源绑定到Map控件中,也可以动态添加资源,设置资源的名称、定义,其中地图资源的定义包括数据源的位置、类型、名称等。Flex API通过url的方式来访问服务的根目录,如“http:/<host>/<instance>/services/<folder>”。 其中“instance”默认为“arcgis/rest”,里面列举了当前服务器上所有已启动的server服务。只需要在控件中添加包含url地址的图层即可,图层分为
10、ArcIMSMapServiceLayer、ArcGISTiledMapServiceLayer、ArcGISDynamicMapServiceLayer、ArcGISImageServiceLayer四种,如<esri:ArcGISDynamicMapServiceLayer url="http:/whgis.wpl/ArcGIS/rest/services/manchun/MapServer"/>3.2 开发功能方式比较图6表示WebADF任务框架的类与接口。总体上讲,Task和FloatingPanelTask抽象类实现了基本ITask接口。另外,为了和其
11、他Web ADF组件的集成,需要选择定制其他的任务组件。TaskDesigner能够定制Visual Studio设计时界面能够选择可定制的任务控件。IWebConfigurator接口定义怎样将定制的任务控件集成到使用Manager的Mananger应用程序中。ITaskResultsContainer接口能够定义一个定制的容器或者控件来显示任务结果。图6 Web ADF任务框架图用户自定义任务框架,可以继承某类任务,在此基础上进行扩展,如继承QueryAttributesTask, 则需重写ExecuteTask函数,ExecuteTask函数中主要就是对查询结果的处理。查询结果显示在Ta
12、skResultsContainer中,用户也可以自定义一个控件显示结果。Flex API也可以实现查询、搜索等功能,对于结果的表现相对于WebADF来说要复杂一些,需要用户自己编写代码显示查询结果。以继承IdentifyTask为例,如 <esri:IdentifyTask id="identifytask" identifyComplete="identifyCompleteHandler(event)" url="http:/whgis.wpl/ArcGIS/rest/services/manchun/MapServer"
13、 /> 查询结果的处理在 identifyCompleteHandler(event)中实现。3.3 性能比较Web ADF和Flex API之间的关系就是企业级和轻量级的关系,从上面的实验中可以看出,Flex API不论访问数据服务还是开发代码都比较简单,浏览、查询的速度比Web ADF的快,这是因为Flex API 是基于REST的设计,而REST的是无状态的,从客户到服务器的每个请求都必须包含理解该请求所必需的所有信息,并且不能利用任何存储在服务器上的上下文,允许服务器组件迅速释放资源,并进一步简化其实现,因此服务器不必跨多个请求管理资源的使用。对于公众级别的应用,显然使用客户端A
14、PI将压力分散到客户端更为合适。然而由于Flex API是基于REST的设计,会受到REST的一些限制,如客户端发送请求的字符串长度不能超过2048字节,因此,受到传递参数长度的限制而无法实现复杂的功能比如复杂的Geoprocessing 服务。Web ADF没有这种限制,并且WebADF自定义控件的灵活性很大,则可以适合用于实现更为复杂的功能。它是基于有状态的设计,可以充分利用AO资源,进行管理员角色的应用开发,适用于企业级的深度GIS应用,充分利用服务器端的资源,如在线编辑等。GP工具为WebGIS应用提供了较大的扩展空间,但前提是必须使用桌面中已有的或自定义工具,ADF可以不依赖于其他任
15、何软件通过ServerContext实现GP中所有功能,降低软件成本。当前的应用开发框架都有各自的优势,如何根据自己的应用选择合适的开发框架,才是我们要考虑的核心问题。4 结束语ArcGIS Server9.3 Web ADF和基于Rest服务的客户端应用开发框架(如Flex API)都是基于服务体系之上的产物,既然是基于SOA,那么这些产物应该是丰富多变,不论是ADF、ArcExplorer、桌面应用、移动设备,还是js/flex/silverlight API、ArcGIS Image Server,甚至将来新的开发框架技术都可以置于ArcGIS Server根系之上。因此,根据业务需求,
16、选择合适的开发框架,最大限度的发挥开发框架的优势,才是构建自己应用的关键所在。从宏观上来看,基于Rest服务客户端应用开发框架(js/flex/silverlight API)因为其开发简单,用户体验好,将会成为今后两年GIS发展的一个趋势。本文由国家“十一五”科技支撑计划项目( 2006BAJ15B02)资助。参考文献:1. Li-Yu Lin and Chua Huang Huang, “An Integrated Information System for Real Estate Agency Based on Service-Oriented Architecture,” SOSE.
17、2008.52, 184-189(2008)2. Muracevic, D. and Orucevic, F., “Spatial data based on SOA,”. 50th International Symposium ELMAR 1,277-280(2008)3. ESRI, ArcWeb Service. 4. ESRI, ArcGIS Server, The Comparison and Analysis of ArcGIS Server Web ADF and FLEX APIAbstract: In recent years, Web Service is widely
18、used in the sharing of resources in Internet. As the development of the Web services standards and technology, service-oriented architecture are applied to an increasing number of GIS industry applications. To take full advantage of existing hardware and software resources to meet the user needs to build the GIS application platform, this article describes the characteristic and their applicability of Web ADF and the Flex A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 岩棉板外墙保温防火隔离带设置方案
- 危化品仓库泄漏堵漏应急演练方案
- 2026年村镇(社区)后备干部考试参考试题及答案
- 粉体输送设备操作工安全操作规程
- 2027届包头市重点中学八年级数学第一学期期末经典试题含解析
- 2026年保密在线知识试题及答案
- OC岗位专业考试题(含详细答案解析)
- 呼吸康复评估专家共识(2025版)
- 支撑檩条安装施工工规程
- NYU留学生 阿里前端校招面试真题(含详细解析)
- DB4201∕T 693-2024 建筑与市政工程软弱地基基础技术规程
- 物流司机制度管理制度
- T/CECS 10350-2023除臭收集用轻质高强度玻璃钢盖
- 江苏省2025年中职职教高考文化统考数学试题
- 广东市政工程施工安全管理资料统一用表 上册
- 2024年人教版六年级语文上册《第4单元语文园地四》教学课件
- 战略合作协议范本
- SH∕T 3097-2017 石油化工静电接地设计规范
- 回迁房屋买卖服务合同范本
- DB 3406T 022-2024市政道路建筑垃圾填筑 路基施工技术规范
- 急诊科护理典型案例分析
评论
0/150
提交评论