SOA架构的分布式舰船GIS应用构建方法研究
2015-02-22李笑娜
李笑娜,曹 睿
(1.石家庄铁路职业技术学院,河北石家庄050000,2.广东南方数码科技有限公司沈阳分公司,辽宁沈阳110015)
SOA架构的分布式舰船GIS应用构建方法研究
李笑娜1,曹睿2
(1.石家庄铁路职业技术学院,河北石家庄050000,2.广东南方数码科技有限公司沈阳分公司,辽宁沈阳110015)
摘要:Web服务是下一代互联网应用的主要实现方法和行之有效的设计框架,同时SOA也是下一代地理信息系统设计和实现的主要框架之一。本文研究了如何利用SOA框架构建和实现基于Web服务的地理信息系统平台。本文提出的平台结构包含有多个层次,在J2EE的基础上,集成了Web服务,Servlet/JSP功能和GIS API等。GIS网页服务能够在不需要拥有和维护GIS工具的情况下,实现传统的GIS功能,例如地址匹配、地图图片显示、导航等。本文对该框架的结构、关键技术等进行研究,并通过实践证明该方法具有较高的可用性。
关键词:面向服务框架;分布式;地理信息系统
Fatigue damage assessment in subsea rigid jumper design
LI Xiao-na1,CAO Rui2
(1.Shijiazhuang Institute of Railway Technology,Shijiazhuang 050000,China; 2.Guangdong South Digital Technology Co.,Ltd,Shenyang Branch,Shenyang 110015,China)
Abstract:Web services are the main and effective method of the next generation of Internet applications framework design,and SOA is one of the main frames on the next generation of geographic information system design and implementation.This paper studies how to use the SOA framework build and implement the geographic information system platform based on Web service.The proposed geographic information system platform structure consists of multiple layers,on the basis of J2EE,integrated with the Web service,the Servlet/JSP function and GIS API,etc.GIS web services can be used so that users do not need to have and maintain GIS tools,and the traditional GIS functions,such as address matching,map image display,navigation,etc.can be also invoked.In this paper,the structure of the framework and key technologies are studied,and through the practice it is proved that the method has high availability.
Key words:SOA; distributed;GIS
0 引言
在传统的陆地GIS中,用户往往使用GIS工具,在本地实现多种GIS功能,例如精确定位、导航、电子地图等。然而,在海洋环境中,由于受到客观条件的限制,GIS工具难以在船舶平台中部署并取得较好的效果。正因如此,当前的海上GIS应用多采用分布式的构建方法,在远程服务器中部署相应的应用和功能模块,通过卫星链路或其他无线通信方式,向用户提供所需的服务。
随着Web服务技术的发展,Web服务正成为下一代网络应用的主要设计框架和实现模式。相较于C/S模式来说,采用Web服务的B/S模式具有应用开销低、部署简单、实时性好、便于定制化设计等优势。在海上和船舶的服务开发领域,通常将GIS 与Web服务相结合,形成了GIS-Web服务[1-2],
向用户提供传统的GIS功能以及根据其具体需求定制的特殊功能等。通过GIS-Web服务,用户可以在不占有GIS系统的情况下,采用GIS系统对地理信息数据进行处理,并返回相应的处理结果。
近年来,GIS-Web服务已经成为了研究的热点之一,多家企业及组织已经开发了多种基于GIS -Web服务的应用,并在实践中取得了良好的效果。其中的代表主要有Open GIS Consortium (OGC)开发的基于Web的地理信息和服务系统,ESRI在ArcWeb中构建的GIS共享信息系统[3],以及微软发布的MapPoint.NET工具等。但是,在近年的研究成果中,却仍未形成较成熟的GIS-Web服务应用构建方法。本文充分研究了海上分布式GIS应用的具体需求,以及当前主要海上GIS系统应用的效果,对利用SOA架构开发分布式海上GIS应用的方法进行研究,在GIS-Web服务的基础上,充分考虑了SOA架构的优点,设计一种分布式的海上GIS应用平台,并对该平台的主要结构,关键技术,实现方式等进行研究。最终,按照本文提出的方法,设计并实现了原型系统,经过实用检验证明本文提出的方法具有较好的可用性。
1 关键技术
1.1面向Web服务框架
Web服务是一系列软件模块的集合,其具有良好的定义,仅与自身特性有关,而与其他服务的内容和状态无关,Web服务之间采用XML建立可靠的连接关系。基于SOA的Web服务架构包含3种角色[4]:服务提供者、服务请求者和服务代理。服务提供者创建服务,并发布服务使客户端能够利用相应的服务;服务请求者是一个客户端应用,调用系统中的服务;服务代理,相当于服务寄存器,提供了服务提供者和服务请求者交互的途径。服务提供者,服务请求者和服务代理之间通过发布、发现、绑定等操作进行交互。提供者采用服务代理的发布接口,向代理通告服务的存在,从而使得服务对用户可见。其中发布的信息描述了服务的类型、名称、内容、功能以及位置。服务请求者询问服务代理,确定服务的具体位置,通过服务代理的应答信息,用户可以发现、绑定或激活需要的网页服务。其主要结构如图1所示。
图1 面向Web服务基本结构Fig.1 The structure of web service oriented architecture
Web服务使用SOAP (Simple Object Access Protocol),WSDL(Web Service Description Language),UDDI(Universal Description,Discovery and Integration)以及WSIL(Web Services Inspection Language)进行通信。Web服务在UDDI注册表中进行发布,WSDL文件定义目标服务,使得用户能够识别特定的服务类型和功能,SOAP将Web服务与客户端的通信过程标准化,使得使用不同语言编写,运行在不同平台上的不同应用可以互相通信。SOAP使用标准化的Web协议作为基础,如XML,HTTP,TCP/IP,WSDL等[5]。
1.2 OGC Web服务
OGC是一个由220多个企业,政府机构及大学组成的国际工业组织,旨在推进GIS在多种工业领域中的完善和应用。为了实现不同供应商客户端和服务器之间的有效互操作,需要对系统的请求和应答进行标准化,而通过对接口的标准化,软件开发人员,数据拥有者和服务提供者可以分别完成一个应用的不同软件模块,然后通过附加的组件和接口与其他模块相连接,从而构成定制化的、完整的应用。OGC正是推进这一标准化过程的组织,其定义了若干标准化的消息接口,包括以下几个方面:
1)网页地图服务(Web Map Service,WMS) : WMS服务的作用是将地图图片文件进行编码;
2)网页特性服务(Web Feature Service,WFS) : WFS服务的作用是用来表示地理对象或矢量数据;
3)网页覆盖服务(Web Coverage Service,WCS) : WCS服务用来处理数据流;
4)传感器集合服务(Sensor Collection Service,SCS) : SCS服务用来实时获取传感器的各种数据;
5)地理标记语言(GML) : GML是XML的一种扩展,用来对地理对象进行编码,以便进行网络
传输。
1.3 OGC网页地图服务(WMS)
OGC WMS提供了一种标准化的“客户端——服务器”交互协议,每个地图服务器通过实现一个通用的接口,即可接收来自Web服务器的请求和应答,从而使得客户端能够通过互联网访问所有可用的OGC网页地图服务器。在分布式的OGC WMS中,一个WMS服务器同时也运行一个WMS客户端,用来向其他的WMS服务器提交请求或调用功能。
OGC网页地图服务器实现3个主要功能: GetCapablities,GetMap和GetFeatureInfo。其中GetCapablities向客户端提供服务器中服务的元数据,定义了服务的名称、类型、内容、功能等; GetMap定义了请求所需要的参数,使得客户端能够正常地访问地图图片文件; GetFeatureInfo使得客户端能够针对地图中的某个特定位置,获取更详细的特性信息。WMS的基本结构如图2所示。
图2 WMS地图应用系统框架Fig.2 The architecture of WMS Mapping application
2 基于SOA的分布式GIS平台设计
基于SOA分布式GIS平台的主要功能在于,提供动态的GIS服务模块,能够同时对矢量数据和栅格化地图数据进行发布,并在互联网浏览器中进行显示。这就要求该平台能够支持复杂的数据表现形式,在多层次间进行业务协调和实现的能力,地图的语义化表示,多种属性数据的超链接表示等。最基本的GIS平台基于C/S模式,服务向客户端分发矢量化的地图数据。地图的属性值存储在SQL数据库中,能够用作栅格化的地图源数据。GIS数据接口能够支持ArcView图形文件和MapInfo MIF文件,而服务器端则基于J2EE框架进行设计。
2.1GIS网页服务
GIS网页服务是一种通用的、标准化的服务,通过受到广泛支持的UDDI标准,当新的GIS网页服务被发布,所有终端能够立即发现该服务,在获得服务URL和WSDL的基础上,能够进行访问、绑定、调用等操作。此类服务的方法、参数、属性和返回值均采用相应的标准进行设计,因此开发人员可以使用该服务进行应用的开发。
GIS网页服务向用户屏蔽了服务实现的细节,将具体的功能执行和处理过程放置在服务器端运行,使得客户端的用户和开发者只需要利用标准化的接口进行使用和开发即可,而不需要考虑功能实现的原理,大大提高了用户体验。GIS网页服务平台应当能够支持多种终端类型,并能够在不同的操作系统上运行多种不同类型的应用。
2.2 GIS平台框架设计
GIS平台框架结构为多层次模型,在J2EE架构基础上,集成了Web服务,Servlet/JSP功能,GIS API接口等。由于J2EE框架良好的平台可移植性,使得该GIS平台能够通过网络,被不同类型终端访问。该平台采用分布式的架构,独立于运行系统的结构和类型,数据存储在EJB中,能够支持多种类型的服务和数据库类型。平台的框架设计如图3所示。
图3 GIS平台概念图Fig.3 The concept design of GIS platform
Web-GIS平台服务器框架包含以下3个层次:
1)应用层:在应用层中,GIS网页服务,Servlet/JSP接口,GCO服务等被部署在J2EE容器
中。GIS的基本功能如地图缩放、浏览等采用GIS网页服务和Servlet/JSP的相关应用接口实现。应用层相当于一个J2EE应用,由若干EJB模块组成,提供了以服务器为中心的应用,其中核心模块为: GIS网页服务,地理空间数据处理功能,数据分析与管理等。基于J2EE的Web-GIS服务器如图4所示。
图4 基于SOA架构的Web-GIS平台Fig.4 The Web-GIS platform based on SOA
2)用户接口: Web-GIS平台提供了多种用户接口,能够支持多种终端类型,如Web服务终端,GIS Java程序应用等。在不同的终端上,用户可以利用URL定位服务的具体位置,并通过标准化的协议如XML,HTTP等访问和调用相应的服务,甚至在当前较为流行的手持移动终端上,只要该终端支持标准化的协议,并能够实现Web浏览及服务执行等简单功能,即可实现对于服务的有效使用,具有较高的可用性。
3)数据库层:在数据库层中主要存储有2种类型的数据:矢量数据和栅格化数据。其主要包含以下4种类型的数据库:
①ESRI图形文件数据库: ESRI图形文件包含了点迹、线条、图形对象等数据,能够被用作地图或其他文件的图形填充;
②MapInfo MIF文件数据库:此类文件中包含区域、线条及点迹等,是组成电子地图的基础;
③SQL数据库: SQL数据库是当前常用的数据库之一,主要用来存储矢量数据,在本文设计的平台中,主要存储属性值、经纬度值等数据;
④JPG图像数据库: JPG图像作为通用图像文件可以用在多种场景下,如图像信息的显示,用户界面的填充和美化等。
3 系统实现
根据本文提出的设计框架,利用J2EE和Web服务构建了系统原型,其界面如图5所示。
图5 用户界面图Fig.5 The picture of user interface
在本文实现的原型系统中,各个船舶可以通过Web浏览器实现传统的GIS功能,如电子地图浏览,定位和导航等,并能够在电子地图中观察其他船舶的具体位置等。
参考文献:
[1]DOMENICO C,CRISTIANO D F,STEFANO R.An enhanced service oriented architecture for developing web-based applications[J].J.Web Eng,2003,1(2) :128-146.
[2]JONG W,SEONG S,CHANG S K,et al.The efficient webbased mobile GIS service system through reduction of digital map[C]/ /ICCSA 2004,Italy: Springer Press,2004:410-417.
[3]WINNIE T,JAN S.Connecting our world: GIS web services [M].ESRI Press,2003.
[4]王化冰,晋淑惠.基于Web的计算机实训教学系统的设计与实现[J].舰船科学技术,2009,31(7) :86-91.WANG Hua-bing,JIN Shu-hui.The computer practice teaching system based on Web design and implementation [J].Ship Science and Technology,2009,31(7) :86-91.
[5]刘炳磊,陈颖.基于BizTalk Server的服务集成性能分析[J].舰船科学技术,2011,33(1) :23-28.LIU Bing-lei,CHEN Ying.Based on the analysis of BizTalk Server service integration performance[J].Ship Science and Technology,2011,33(1) :23-28.
作者简介:李笑娜(1981-),女,硕士,讲师,研究方向为地籍测量、地理信息系统。
收稿日期:2014-12-11;修回日期: 2015-03-11
文章编号:1672-7649(2015) 07-0207-04doi:10.3404/j.issn.1672-7649.2015.07.049
中图分类号:TP391
文献标识码:A