http://www.gissky.net- GIS空间站

我要投稿 投稿指南 RSS订阅 网站资讯通告:    关于TopMap有奖活动奖品领取公告        
搜索: 您现在的位置: GIS空间站 >> 技术专栏 >> 技术前沿 >> 正文

从组件式到服务式 GIS的再次关键一跳

作者:宋关福    文章来源:赛迪网博客    点击数:    更新时间:2007-12-24

Service GIS是一种基于面向服务软件工程方法的GIS技术体系,它支持按照一定规范把GIS的全部功能以服务的方式发布出来,可以跨平台、跨网络、跨语言地被多种客户端调用,并具备服务聚合能力以集成来自其他服务器发布的GIS服务。Service GIS软件平台的实现主要包括以下几方面的工作:

在细粒度组件式GIS基础上,封装粒度适中的全功能的GIS服务群,构成Service GIS的服务器,向客户端发布这些服务。这里强调全功能的GIS服务,包括数据管理、二维可视化、三维可视化、地图在线编辑、制图排版和各类空间分析和处理等。

服务器支持发布基于通用规范的服务,如WMS、WCS、WFS、WPS、GeoRSS、 KML等,以便被第三方软件作为客户端集成调用。

客户端GIS软件具备服务聚合能力,可聚合同一厂家服务器软件和第三方服务器软件发布的GIS服务,并与本地数据和本地功能集成应用。

服务器端软件具备强大的服务聚合能力,可以聚合来自其他服务器上发布的GIS服务,并可以将聚合后的结果再次发布,再次发布的服务还可以继续被其他的服务器软件聚合。

关于服务的粒度,有必要简单做个说明。细粒度服务的特点是:通讯次数多,效率低,但灵活性高。举个例子,如果用细粒度服务实现缓冲区查询,我们需要调用两个不同的服务完成这个功能:服务一,输入一条道路线和缓冲区半径,输出一个缓冲区范围(多边形);服务二,输入一个多边形,查询处在该面范围内的所有居民点。连续调用上述两个服务即可完成缓冲区查询功能。

粗粒度服务的特点是:通讯次数少,效率高,但灵活性相对较低。上述案例若用一个粗粒度服务实现则为:输入一条道路线和缓冲区半径,输出在这条道路线的缓冲区半径范围内的所有居民点,一次调用即可完成任务。

实际上,服务粒度的粗细是相对的。仅仅提供粗粒度服务,则可能导致系统灵活性不够,所以在设计服务时会考虑多种级别的服务并存,在不同情况下需要调用不同粒度的服务。

Service GIS包括三个要素,即:服务器、服务规范和客户端。Service GIS的服务器是服务的提供者,可以遵循某一种或多种规范发布服务。服务规范可以是公认的服务标准,如WMS、WCS、WFS、WPS和GeoRSS等,同时GIS平台软件厂商也可以自定义服务规范。Service GIS的客户端是服务的接受者,一般地,可分为瘦客户端(Thin Client)和富客户端(Rich Client)两种,前者通常体现为浏览器中加载轻量级的插件,甚至无需任何插件,由浏览器直接执行来自服务器端的脚本实现;后者可以是通用的或专用的GIS桌面软件和组件开发平台,也可以是另一个服务器直接作为客户端,聚合前一个服务器发布的服务。

Service GIS能更全面地支持SOA,通过对多种SOA实践标准与空间信息服务标准的支持,可以使用于各种SOA架构体系中,与其它IT业务系统进行无缝的异构集成,从而可以更容易地让应用开发者快速构建业务敏捷应用系统。与基于面向组件软件工程方法的组件式GIS相比,服务式GIS继承了前者的技术优势,但同时又有一个质的飞跃。从组件式GIS到服务式GIS,这既是后者在前者基础上的自然进化和发展,同时也是GIS领域再一次关键一跳!在今后一段时间内,Service GIS将与组件式GIS 互为补充,共同进步和发展,最终Service GIS将成为应用系统开发新的主流。

Tags:组件式,GIS,服务式  
责任编辑:gissky
请文明参与讨论,禁止漫骂攻击。 昵称:注册  登录
[ 查看全部 ] 网友评论
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 论坛地图 - 在线帮助