基于SOAP的地理信息服务架构设计
2011-01-17陶叶青
杨 娟,陶叶青
(安徽省宿州学院,安徽 宿州234000)
基于SOAP的地理信息服务架构设计
杨 娟,陶叶青
(安徽省宿州学院,安徽 宿州234000)
通过讨论地理信息Web服务的研究现状,探讨了采用SOAP技术解决地理信息Web服务领域的应用的可行性,并设计了一种基于SOAP的地理信息服务架构.
SOAP;地理信息服务;松散耦合
随着Internet的普及和延伸,GIS提供的信息不再局限于简单的文字和数据,还有图形和图像.基于Web的公众型GIS应用使更多的用户可以通过Web得到地理信息服务.此后,基于Internet平台的地理信息服务技术将全面发展.
目前,大部分软件系统可分割为三层体系结构:数据层、业务逻辑层和表现层.严格地说,这种三层(或多层)体系结构只是B/S两层体系的扩展和延伸,将局域网内的应用部分扩展到Internet上,从计算的分布上来说,并没有摆脱严格区分客户端和服务器限制.另一方面,当前基于DCOM或Java RMI等分布式计算平台在面对极端异构的Internet环境时,存在着一些缺点:它们各自有一套独立的体系结构和私有协议,从而导致不同模型的应用系统之间通信非常不便;客户端与服务器端要求必须紧密耦合,如果服务端的接口或执行方式发生变化,将会导致客户端无法执行;现有的地理信息服务系统都是为某一特定的GIS数据及其应用而设计的,系统之间的集成和互操作异常困难[1].
所以,如何实现各种网络服务在Internet上的跨平台、跨软硬件的无缝集成,已成为IT业共同关注的问题.SOAP(简单对象访问协议),是为了解决由于用传统方式提供 Web服务所产生的问题而提出的[2],有助于实现大量异构程序和平台之间的互操作性,从而使存在的应用能够被广泛的用户所访问.
1 SOAP协议在地理信息服务中的应用
1.1 地理信息Web服务研究现状
地理信息Web服务结合了Web技术的新技术和新方法,能够为行业和公众提供多类型的地理信息服务支持.在国内外,地理信息服务技术发展迅速,一些非盈利的国际化组织进行了许多标准的研究,各大GIS厂商也相继发展相关前沿技术的研究.
现有两个国际化组织进行了业界广泛认可的标准化工作:一个是国际化标准组织ISO (International Standard Organization),另一个是开放地理信息系统协会OGC.
ISO的TC211小组 (简称ISO/TC211)侧重于定义数据格式和相应规范方面,定义了与GIS Web服务有关的框架与规范:空间子框架 (Spatial Sub Schema),元数据 (Meta Data),质量子框架 (Quality Sub Schema),通用要素模型 (General Feature Model)、应用框架的规则 (Rules for Application Schema),坐标参照系统 (Coordinate Ref.Sys),抽象服务规范 (Abstract Service Spec).
OGC是全球最大的空间信息互操作规范的制订者和倡议者,它侧重于共享方式方面,在参照ISO/TC211标准的基础上制订了相应的地理信息服务规范,目前主要有四个地理信息服务的相关规范:(1)Web Map Services (网络地图服务,WMS); (2)Web Feature Service (网络要素服务,WFS); (3)Web Coverage Servic (网络Coverage服务,WCS);(4)Web Register Service (网络注册服务,WRS).为了研究Web服务对网络地理信息服务的影响,OGC还启动了OWS(OGC Web Services)项目进行研究[3].
在专业GIS厂商、研究机构中,国外的ESRI,Intergraph等公司,国内的SuperMap、等公司、机构走在了前面.ESRI早在2002年就提出了g.NET战略思想,把GIS系统的构建方式和应用从Intranet方式推动到了Internet方式.ESRI在2004年秋天发布的AcrGIS9中提供了基于Web Service思想的服务体系,该服务体系同时支持在NET和JavaEE这两种体系平台上的开发和应用.在2008年ESRI推出了AcrGIS的9.3版本,这个版本中服务器GIS由ArcIMS、ArcGIS Image Server和ArcGIS Server三个部分组成,分别提供动态地图、影像与处理的地理信息服务[4].2011年一月底,ESRI发布了免费使用在线地图的消息[6].此处标明不管是商业还是非商业,内部还是外部应用.这意味着开发一个商业Web应用,用户随时可用高质量的基础地图,不必再为使用ArcGIS Online地图支付会员费了.国内的SuperMap等公司也有相应的产品,2007年9月,超图发布了SuperMap GIS 2008,增加了SuperMap iServer 2008这一全新的Service GIS服务器软件开发平台.
1.2 SOAP协议在地理信息领域应用的研究
Web服务技术,主要有简单对象访问协议SOAP,Web服务描述语言WSDL以及通用描述、发现和集成UDDI.这三个标准可谓Web服务三剑客,极大地推动了Web服务的普及和发展,而SOAP协议更是Web服务技术的基础.
地理信息Web服务采用SOAP作为服务调用的协议,SOAP是一种基于XML的不依赖于传输协议的表示层协议,用来在应用之间方便地以对象的形式交换数据.目前,国内外许多知名企业采用基于SOAP协议来实现地理信息Web服务系统架构.在国外,主要有ESRI的ArcGIS Server软件.
ArcGIS Server是ESRI在ArcGIS 9.0系列产品中新推出的一个用于构建集中管理、多用户的企业级WebGIS应用的平台,开发者使用ArcGIS Server可以构建Web应用、Web服务、以及其它运行在标准的NET或J2EE Web服务器上的企业应用.同时,ArcGIS Server提供基于SOAP和REST接口,用户可根据自己的需要任意选择其一进行开发.开发环境,如NET或Java都提供基于SOAP的工具包,可以自动生成本地类等.
在国内,基于SOAP的地理信息Web服务的研究也得到了迅速的发展.在开发和应用方面,目前提供公众基础Web地理信息服务的应用比较多,基本上是政府服务公众而建立的网站式服务,包括旅游、购物、住宿、公交等多方面的信息,主要有SuperMap公司的SuperMap IS.NET 6.
SuperMap公司推出的SuperMap IS.NET是基于 Microsoft.NET技术和SuperMap Objects组件技术开发,设计全新的面向服务的技术体系结构,提供更灵活的二次开发方式和更强的并发访问能力.Super-Map IS.NET引入 Web Services技术,提供了GIS Web Service和 Web Controls,具有安全可靠、系统维护和易于异构系统集成、升级简单方便以及网络级可重用等优点[5],支持的服务类型有REST服务、SOAP服务、OGC服务等.
1.3 国内外研究中存在的问题
纵观国内外,可以发现当前国内外的研究中缺少成熟稳定、应用广泛的地理信息Web服务构架.大多数的专业地理信息Web服务是基于传统的WebGIS软件实现的,服务端与客户端关系紧密,耦合度高,不容易实现服务的扩展与应用,服务接口的不规范导致数据共享差、互操作困难.SOAP协议虽然较早就引入地理信息领域,但一直以来研究还不够深入,应用不够广泛.
2 系统设计
2.1 设计目标
Web服务技术的发展引领IT行业进入了以 “分布式”计算为核心的计算机网络时代,引起了IT领域的重大变革,同时给GIS技术的研究与应用带来了机遇和挑战.一方面,把GIS融入Internet,以提供地图、空间数据等网络地理信息服务,推动GIS产业化和社会化;另一方面,根据信息技术的不断发展而不断重构GIS体系结构、数据组织、软件组织和应用模式,发展Internet下的分布式地理信息系统[6].地理信息服务受Web服务技术的影响正发生着从传统模式到Web服务模式的转变.
传统的地理信息服务模式数据产品形式单一、离线服务导致信息孤岛、标准和规范不统一、数据现势性差等[7].采用Web Service技术的地理信息服务模式突破了传统服务模式的局限性,解决了地理信息数据共享与互操作问题,实现了地理信息系统在异构环境的应用部署.SOAP协议符合工业化标准,地理信息Web服务采用SOAP作为服务调用的协议,解决了异构系统之间的连接问题,并符合地理信息工业化标准.[8]
2.2 设计内容
1)设计基于SOAP RPC架构的地理信息服务系统,实现松散耦合的细粒度地理信息功能模块
依据OGC的地理信息Web服务的系列标准,本文设计地理信息Web服务框架包含四类服务:(1)地理信息目录服务,主要向用户提供服务的元数据; (2)地图服务,提供地理信息可视化,如WMS;(3)要素服务,向用户提供数据库、空间数据文件中的数据,WFS,WCS;(4)数据处理流程服务WPS(Web Processing Services),提供数据处理流程功能,如地名地址匹配服务、要素缓冲处理等.如图1所示地理信息Web服务框架设计.
图1 地理信息Web服务框架设计
2)基于SOAP协议的传输模式
基于SOAP协议实现的地理信息Web服务,和许多标准的协议一样,SOAP采用客户和服务器型的请求响应机制.由客户程序发出请求、传递出参数,服务器程序做出相应的响应,两种消息均为XML格式.SOAP传输过程如图2所示.
图2 SOAP传输过程
图中客户端向服务器发送请求,如WMS请求,首先使用WSDL协议将WMS请求转换成XML文档格式并打包在一个SOAP信封中,其中包括远程调用外部系统的方法所需要的信息.一个SOAP客户端可以是Web服务器,或者是一些基于服务器的应用程序,仅仅用来提交请求给SOAP服务端.Web客户端通过HTTP协议发送该请求到Web服务端.Web服务器端收到这个XML请求后,拆开信封取出经XML编码的客户端请求,用XML解析器解析SOAP包,然后调用相应的对象,得到符合服务器端要求的内容.
3)基于SOAP的多种服务组合模式
服务组合的基础是Web服务的形式化描述,Web服务组合是Web服务研究领域中一个重要的研究分支,具有重要理论意义和实用价值.每个服务单独完成一个功能,但是多种服务组合后就可完成多项功能.如查询服务,用到了空间及属性查询两个服务.在调用地理信息服务模块基础上,开发一个包含通用功能的框架,完成基于SOAP的地理信息服务原型平台.
3 结束语
本文讨论了地理信息Web服务的研究现状以及SOAP协议在地理信息Web服务领域的应用,并设计了一种基于SOAP的地理信息服务架构体系.同时SOAP本身的特点使其在Web资源组织及Web交互应用中为系统提供了可扩展的空间,因而基于SOAP的地理信息服务架构体系的可扩展、适用性广.
[1] 吴功和,刘真.基于GlS WebService的 WebGIS应用 [J].华北水利水电学院学报,2006,27(01):71-73
[2] 李冬,周晓宇,徐宝文.SOAP及其对Web服务的影响计算机工程与应用,2002,(12),78-81
[3] ESRI.ArcWeb Service [EB].http://www.esri.com/software/arcwebservices/,2010-10-05
[4] 郭星华.地理信息Web服务研究 [D].郑州:解放军测绘学院硕士论文,2008
[5] 超图公司.http://www.supermap.com.cn/products,2010-01-25
[6] ESRI.Map Services [EB/OL].http://www.esri.com/services.html/,2010-10-12
[7] 王春娟.基于缓存技术的 Web应用性能优化研究 [J].网络通讯及安全,2008,(03):438-440
[8] 李久刚,唐新明,汪汇兵,等.REST架构的WebGIS技术研究与实现 [J].测绘科学,2010,(03):85-87
Design on Architecture of Geographic Information Service Based on SOAP
YANG Juan,TAO Ye-qin
(School of Geomatics of Suzhou University,Suzhou 234000,Anhui,China)
By discussing the research situation of the Web service of geographic information,the feasibility of USing SOAP technology to solove the viability of the geographic information service is explored.The architecture of the geographic information service based on the SOAP is designed.
SOAP;geographic information service;loosely coupling
TP 393.02
A
1673-1492 (2011)05-0034-04
来稿日期:2011 06 28
安徽省2010年高等学校优秀青年人才基金项目 (2010SQRW145);安徽省教学研究资助项目 (20101073);安徽省科技计划项目 (11020503084);安徽省宿州学院硕士科研启动基金项目 (2010yss06,2010yss05;2011yss03)
杨娟(1984-),女,江苏徐州人,安徽宿州学院 (东区)地球科学与工程学院助教,硕士研究生.研究方向为数字城市与地理信息服务.
刘守义 英文编辑:刘彦哲]