论文部分内容阅读
随着“云服务平台+客户终端”模式的计算架构逐渐兴起,出现了越来越多的GIS云服务平台,它们提供了功能丰富、规范多样的GIS网络服务。同时用户终端设备朝着智能化、多元化的趋势快速演进,Web客户端技术也迅速地发生着变化。在这种背景下,如何构建独立的GIS客户端框架,如何更好更方便地利用不同来源的GIS网络服务,如何快速有效地适配丰富多样的终端设备,如何以最小的代价应对未来新技术的变化,成为亟待解决的现实问题。
为此,本文提出以GIS客户端为研究对象,构建一种统一的抽象GIS客户端模型,解决客户端的独立性、对接不同服务、适配不同终端和应对不同技术的问题。并通过技术实现、性能改进与可用性优化等方式,将统一模型转化为具体可用的GIS客户端领域框架产品。主要研究内容、结论与成果如下:
1)从客户端的视角分析了面向空间云计算的GIS网络应用架构,不关注云端服务内部实现机制,而集中关注空间服务节点提供的服务内容。从而将复杂多样的GIS网络服务从服务消费的角度做了重新归类,分为地图图片服务和地理要素服务。
2)在对GIS客户端领域分析的基础上,针对要解决的问题,提出了MUL+Service模型。Map模块管理着整个应用的数据、操作等状态。User-interface模块负责地图控件和用户交互,以适应终端设备的多样化和人机交互方式的变化。Layer具有图片图层、要素图层和元素图层三个子类,分别对应地图图片服务、地理要素服务和特定客户端技术绘制的元素。为了保证客户端的独立性,使其能够对接多个服务源,且不同服务源之间互不影响,本文设计了三个策略:Service模块单独隔离且可以拆卸,标准服务内置,第三方服务可以自定义。
3)遵循MUL+Service模型,本文采用了基于Scrum的敏捷软件开发方法,应用了多种设计模式,开发实现了框架产品。这些框架产品基于不同的Web客户端技术(Ajax、Flex、Silverlight和HTML5),但拥有结构一致的特点;可以请求与处理来源不同、规范不一的GIS网络服务;能够在桌面电脑、平板电脑和智能手机等不同的终端设备上使用。同时设计了多个可以供开发者定制和扩展的接口,如自定义图片图层,要素服务、控件外观、地图操作等。
4)在框架产品实践过程中,实现了客户端生成热度图和要素专题地图,弥补了服务端专题图是单一图片形式的不足。应用了聚散显示策略,解决了大数据量点标记加载时要素重叠的可视化问题,提升了浏览器渲染要素的时间性能。在客户端性能优化方面,提出了分批加载、裁剪与快照等方法。在客户端与云端交互通信的优化策略上,可以采取延迟加载、降低不必要的精度和地理坐标编码等方法,以减少网络传输的数据量。
5)对框架产品的API可用性进行了定性和定量的研究,本文借鉴了其他领域产品的可用性评价方法以及API设计的指导原则,提出了由高效性、容错度、一致性、语义表达和学习类型构成的API可用性评价维度,确立了定性分析的依据。基于模糊数学理论,本文建立了API可用性的两级层次指标,进而构建了API可用性的评价体系,确定了定量分析的方法。在试验阶段,采用启发性评价法,设计了针对性的评测任务,让评测者提供代码、问题答案与反馈。通过对不同产品之间的横向对比和同一产品不同版本之间的纵向对比,验证了本文针对API可用性所设计的定性评价维度与定量评价体系具备较高的实用性。
本文的研究成果已在SuperMap iClient、百度地图API Library等产品中得到了广泛的实际应用。二次开发者基于客户端框架产品,可以重用GIS客户端领域相关知识、设计理念和类库代码,减少了重复开发的繁琐工作,提升了GIS网络应用的开发效率,提高了应用程序的质量。不过,在模型与框架对移动设备原生应用的支持实验、与三维地理信息系统服务和数据模型的整合对接、技术实现统一性与原生语言性能之间的平衡等方面,本文做的研究工作还不够,是今后需要进一步努力的方向。