在客户端,Service GIS 既提供了桌面,组件等胖客户端应用,也支持瘦客户端如浏览器,Ajax以及富客户端等,并在这些客户端提供聚合第三方服务的能力。客户端对应的是SOA架构中的使用者。
在Web服务器端,Service GIS以Web Service方式发布了标准的服务,服务主要以SOAP和REST两种形式提供,都是基于HTTP的方式发布。同时,Web服务器也支持发布OGC标准的服务如WMS, WFS和WCS,以及一些第三方的标准如KML,GeoRSS等,支持这些标准的第三方都可以访问这些服务。同时,Web服务器层支持聚合第三方服务,并具有聚合后再发布能力。
WEB服务器层支持SOA各种相关标准,如WS-Security, LDAP等安全标准,WSDL/UDDI等服务接口主持和发现合约,以及BPEL流程控制支持等。
在GIS应用服务器层,提供比较全面的GIS服务,如地图服务,数据服务,空间分析服务,网路分析服务,三维服务等,这些服务可以与SOA架构中的其他业务相关的服务进行有效的集成。
对于一般的企业信息系统,其数据都是以结构化信息为主,如企业经营的客户信息,财务数据等,而GIS数据具有特殊的空间拓扑关系,这个在设计SOA服务中“以数据为中心”时候,需要进行一些特别的考虑,尤其是设计数据更新的服务接口时候,会带来更多的复杂性。举个简单的例子,我们在以SOA架构设计银行业务系统时候,银行的各个分行的数据可以简单的聚合到总行,但我们以SOA架构设计面向交通应用的系统时,就无法简单的把各个省的道路数据服务直接聚合成全国的道路,因为会涉及道路连通性的问题,当我们进行全国的路径分析时候,也不能简单的聚合各省的路径分析服务。涉及到空间拓扑关系的服务接口设计,还需要GIS的同行一起努力来解决。
SOA必然对未来的GIS平台软件和应用系统开发带来越来越深刻的影响,对于如何设计一个SOA架构的应用系统,既需要SOA相关的标准和GIS平台软件对SOA的支持,也需要了解SOA特有的一些方法论,设计原则,设计模式,系统开发管理以及开发工具支持等,对于这些方面的内容,本文没有涉及,相信随着SOA的不断实践和发展,IT界会有越来越多的经验总结和理论指导出现。SOA时代, GIS和其他服务更加容易集成,GIS和IT主流将进一步融合,也为我们GIS业界提供更加广阔的商机。
|