李笑娜,曹 睿
(1.石家莊鐵路職業(yè)技術(shù)學院,河北石家莊050000,2.廣東南方數(shù)碼科技有限公司沈陽分公司,遼寧沈陽110015)
SOA架構(gòu)的分布式艦船GIS應(yīng)用構(gòu)建方法研究
李笑娜1,曹睿2
(1.石家莊鐵路職業(yè)技術(shù)學院,河北石家莊050000,2.廣東南方數(shù)碼科技有限公司沈陽分公司,遼寧沈陽110015)
摘要:Web服務(wù)是下一代互聯(lián)網(wǎng)應(yīng)用的主要實現(xiàn)方法和行之有效的設(shè)計框架,同時SOA也是下一代地理信息系統(tǒng)設(shè)計和實現(xiàn)的主要框架之一。本文研究了如何利用SOA框架構(gòu)建和實現(xiàn)基于Web服務(wù)的地理信息系統(tǒng)平臺。本文提出的平臺結(jié)構(gòu)包含有多個層次,在J2EE的基礎(chǔ)上,集成了Web服務(wù),Servlet/JSP功能和GIS API等。GIS網(wǎng)頁服務(wù)能夠在不需要擁有和維護GIS工具的情況下,實現(xiàn)傳統(tǒng)的GIS功能,例如地址匹配、地圖圖片顯示、導航等。本文對該框架的結(jié)構(gòu)、關(guān)鍵技術(shù)等進行研究,并通過實踐證明該方法具有較高的可用性。
關(guān)鍵詞:面向服務(wù)框架;分布式;地理信息系統(tǒng)
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
在傳統(tǒng)的陸地GIS中,用戶往往使用GIS工具,在本地實現(xiàn)多種GIS功能,例如精確定位、導航、電子地圖等。然而,在海洋環(huán)境中,由于受到客觀條件的限制,GIS工具難以在船舶平臺中部署并取得較好的效果。正因如此,當前的海上GIS應(yīng)用多采用分布式的構(gòu)建方法,在遠程服務(wù)器中部署相應(yīng)的應(yīng)用和功能模塊,通過衛(wèi)星鏈路或其他無線通信方式,向用戶提供所需的服務(wù)。
隨著Web服務(wù)技術(shù)的發(fā)展,Web服務(wù)正成為下一代網(wǎng)絡(luò)應(yīng)用的主要設(shè)計框架和實現(xiàn)模式。相較于C/S模式來說,采用Web服務(wù)的B/S模式具有應(yīng)用開銷低、部署簡單、實時性好、便于定制化設(shè)計等優(yōu)勢。在海上和船舶的服務(wù)開發(fā)領(lǐng)域,通常將GIS 與Web服務(wù)相結(jié)合,形成了GIS-Web服務(wù)[1-2],
向用戶提供傳統(tǒng)的GIS功能以及根據(jù)其具體需求定制的特殊功能等。通過GIS-Web服務(wù),用戶可以在不占有GIS系統(tǒng)的情況下,采用GIS系統(tǒng)對地理信息數(shù)據(jù)進行處理,并返回相應(yīng)的處理結(jié)果。
近年來,GIS-Web服務(wù)已經(jīng)成為了研究的熱點之一,多家企業(yè)及組織已經(jīng)開發(fā)了多種基于GIS -Web服務(wù)的應(yīng)用,并在實踐中取得了良好的效果。其中的代表主要有Open GIS Consortium (OGC)開發(fā)的基于Web的地理信息和服務(wù)系統(tǒng),ESRI在ArcWeb中構(gòu)建的GIS共享信息系統(tǒng)[3],以及微軟發(fā)布的MapPoint.NET工具等。但是,在近年的研究成果中,卻仍未形成較成熟的GIS-Web服務(wù)應(yīng)用構(gòu)建方法。本文充分研究了海上分布式GIS應(yīng)用的具體需求,以及當前主要海上GIS系統(tǒng)應(yīng)用的效果,對利用SOA架構(gòu)開發(fā)分布式海上GIS應(yīng)用的方法進行研究,在GIS-Web服務(wù)的基礎(chǔ)上,充分考慮了SOA架構(gòu)的優(yōu)點,設(shè)計一種分布式的海上GIS應(yīng)用平臺,并對該平臺的主要結(jié)構(gòu),關(guān)鍵技術(shù),實現(xiàn)方式等進行研究。最終,按照本文提出的方法,設(shè)計并實現(xiàn)了原型系統(tǒng),經(jīng)過實用檢驗證明本文提出的方法具有較好的可用性。
1.1面向Web服務(wù)框架
Web服務(wù)是一系列軟件模塊的集合,其具有良好的定義,僅與自身特性有關(guān),而與其他服務(wù)的內(nèi)容和狀態(tài)無關(guān),Web服務(wù)之間采用XML建立可靠的連接關(guān)系?;赟OA的Web服務(wù)架構(gòu)包含3種角色[4]:服務(wù)提供者、服務(wù)請求者和服務(wù)代理。服務(wù)提供者創(chuàng)建服務(wù),并發(fā)布服務(wù)使客戶端能夠利用相應(yīng)的服務(wù);服務(wù)請求者是一個客戶端應(yīng)用,調(diào)用系統(tǒng)中的服務(wù);服務(wù)代理,相當于服務(wù)寄存器,提供了服務(wù)提供者和服務(wù)請求者交互的途徑。服務(wù)提供者,服務(wù)請求者和服務(wù)代理之間通過發(fā)布、發(fā)現(xiàn)、綁定等操作進行交互。提供者采用服務(wù)代理的發(fā)布接口,向代理通告服務(wù)的存在,從而使得服務(wù)對用戶可見。其中發(fā)布的信息描述了服務(wù)的類型、名稱、內(nèi)容、功能以及位置。服務(wù)請求者詢問服務(wù)代理,確定服務(wù)的具體位置,通過服務(wù)代理的應(yīng)答信息,用戶可以發(fā)現(xiàn)、綁定或激活需要的網(wǎng)頁服務(wù)。其主要結(jié)構(gòu)如圖1所示。
圖1 面向Web服務(wù)基本結(jié)構(gòu)Fig.1 The structure of web service oriented architecture
Web服務(wù)使用SOAP (Simple Object Access Protocol),WSDL(Web Service Description Language),UDDI(Universal Description,Discovery and Integration)以及WSIL(Web Services Inspection Language)進行通信。Web服務(wù)在UDDI注冊表中進行發(fā)布,WSDL文件定義目標服務(wù),使得用戶能夠識別特定的服務(wù)類型和功能,SOAP將Web服務(wù)與客戶端的通信過程標準化,使得使用不同語言編寫,運行在不同平臺上的不同應(yīng)用可以互相通信。SOAP使用標準化的Web協(xié)議作為基礎(chǔ),如XML,HTTP,TCP/IP,WSDL等[5]。
1.2 OGC Web服務(wù)
OGC是一個由220多個企業(yè),政府機構(gòu)及大學組成的國際工業(yè)組織,旨在推進GIS在多種工業(yè)領(lǐng)域中的完善和應(yīng)用。為了實現(xiàn)不同供應(yīng)商客戶端和服務(wù)器之間的有效互操作,需要對系統(tǒng)的請求和應(yīng)答進行標準化,而通過對接口的標準化,軟件開發(fā)人員,數(shù)據(jù)擁有者和服務(wù)提供者可以分別完成一個應(yīng)用的不同軟件模塊,然后通過附加的組件和接口與其他模塊相連接,從而構(gòu)成定制化的、完整的應(yīng)用。OGC正是推進這一標準化過程的組織,其定義了若干標準化的消息接口,包括以下幾個方面:
1)網(wǎng)頁地圖服務(wù)(Web Map Service,WMS) : WMS服務(wù)的作用是將地圖圖片文件進行編碼;
2)網(wǎng)頁特性服務(wù)(Web Feature Service,WFS) : WFS服務(wù)的作用是用來表示地理對象或矢量數(shù)據(jù);
3)網(wǎng)頁覆蓋服務(wù)(Web Coverage Service,WCS) : WCS服務(wù)用來處理數(shù)據(jù)流;
4)傳感器集合服務(wù)(Sensor Collection Service,SCS) : SCS服務(wù)用來實時獲取傳感器的各種數(shù)據(jù);
5)地理標記語言(GML) : GML是XML的一種擴展,用來對地理對象進行編碼,以便進行網(wǎng)絡(luò)
傳輸。
1.3 OGC網(wǎng)頁地圖服務(wù)(WMS)
OGC WMS提供了一種標準化的“客戶端——服務(wù)器”交互協(xié)議,每個地圖服務(wù)器通過實現(xiàn)一個通用的接口,即可接收來自Web服務(wù)器的請求和應(yīng)答,從而使得客戶端能夠通過互聯(lián)網(wǎng)訪問所有可用的OGC網(wǎng)頁地圖服務(wù)器。在分布式的OGC WMS中,一個WMS服務(wù)器同時也運行一個WMS客戶端,用來向其他的WMS服務(wù)器提交請求或調(diào)用功能。
OGC網(wǎng)頁地圖服務(wù)器實現(xiàn)3個主要功能: GetCapablities,GetMap和GetFeatureInfo。其中GetCapablities向客戶端提供服務(wù)器中服務(wù)的元數(shù)據(jù),定義了服務(wù)的名稱、類型、內(nèi)容、功能等; GetMap定義了請求所需要的參數(shù),使得客戶端能夠正常地訪問地圖圖片文件; GetFeatureInfo使得客戶端能夠針對地圖中的某個特定位置,獲取更詳細的特性信息。WMS的基本結(jié)構(gòu)如圖2所示。
圖2 WMS地圖應(yīng)用系統(tǒng)框架Fig.2 The architecture of WMS Mapping application
基于SOA分布式GIS平臺的主要功能在于,提供動態(tài)的GIS服務(wù)模塊,能夠同時對矢量數(shù)據(jù)和柵格化地圖數(shù)據(jù)進行發(fā)布,并在互聯(lián)網(wǎng)瀏覽器中進行顯示。這就要求該平臺能夠支持復雜的數(shù)據(jù)表現(xiàn)形式,在多層次間進行業(yè)務(wù)協(xié)調(diào)和實現(xiàn)的能力,地圖的語義化表示,多種屬性數(shù)據(jù)的超鏈接表示等。最基本的GIS平臺基于C/S模式,服務(wù)向客戶端分發(fā)矢量化的地圖數(shù)據(jù)。地圖的屬性值存儲在SQL數(shù)據(jù)庫中,能夠用作柵格化的地圖源數(shù)據(jù)。GIS數(shù)據(jù)接口能夠支持ArcView圖形文件和MapInfo MIF文件,而服務(wù)器端則基于J2EE框架進行設(shè)計。
2.1GIS網(wǎng)頁服務(wù)
GIS網(wǎng)頁服務(wù)是一種通用的、標準化的服務(wù),通過受到廣泛支持的UDDI標準,當新的GIS網(wǎng)頁服務(wù)被發(fā)布,所有終端能夠立即發(fā)現(xiàn)該服務(wù),在獲得服務(wù)URL和WSDL的基礎(chǔ)上,能夠進行訪問、綁定、調(diào)用等操作。此類服務(wù)的方法、參數(shù)、屬性和返回值均采用相應(yīng)的標準進行設(shè)計,因此開發(fā)人員可以使用該服務(wù)進行應(yīng)用的開發(fā)。
GIS網(wǎng)頁服務(wù)向用戶屏蔽了服務(wù)實現(xiàn)的細節(jié),將具體的功能執(zhí)行和處理過程放置在服務(wù)器端運行,使得客戶端的用戶和開發(fā)者只需要利用標準化的接口進行使用和開發(fā)即可,而不需要考慮功能實現(xiàn)的原理,大大提高了用戶體驗。GIS網(wǎng)頁服務(wù)平臺應(yīng)當能夠支持多種終端類型,并能夠在不同的操作系統(tǒng)上運行多種不同類型的應(yīng)用。
2.2 GIS平臺框架設(shè)計
GIS平臺框架結(jié)構(gòu)為多層次模型,在J2EE架構(gòu)基礎(chǔ)上,集成了Web服務(wù),Servlet/JSP功能,GIS API接口等。由于J2EE框架良好的平臺可移植性,使得該GIS平臺能夠通過網(wǎng)絡(luò),被不同類型終端訪問。該平臺采用分布式的架構(gòu),獨立于運行系統(tǒng)的結(jié)構(gòu)和類型,數(shù)據(jù)存儲在EJB中,能夠支持多種類型的服務(wù)和數(shù)據(jù)庫類型。平臺的框架設(shè)計如圖3所示。
圖3 GIS平臺概念圖Fig.3 The concept design of GIS platform
Web-GIS平臺服務(wù)器框架包含以下3個層次:
1)應(yīng)用層:在應(yīng)用層中,GIS網(wǎng)頁服務(wù),Servlet/JSP接口,GCO服務(wù)等被部署在J2EE容器
中。GIS的基本功能如地圖縮放、瀏覽等采用GIS網(wǎng)頁服務(wù)和Servlet/JSP的相關(guān)應(yīng)用接口實現(xiàn)。應(yīng)用層相當于一個J2EE應(yīng)用,由若干EJB模塊組成,提供了以服務(wù)器為中心的應(yīng)用,其中核心模塊為: GIS網(wǎng)頁服務(wù),地理空間數(shù)據(jù)處理功能,數(shù)據(jù)分析與管理等?;贘2EE的Web-GIS服務(wù)器如圖4所示。
圖4 基于SOA架構(gòu)的Web-GIS平臺Fig.4 The Web-GIS platform based on SOA
2)用戶接口: Web-GIS平臺提供了多種用戶接口,能夠支持多種終端類型,如Web服務(wù)終端,GIS Java程序應(yīng)用等。在不同的終端上,用戶可以利用URL定位服務(wù)的具體位置,并通過標準化的協(xié)議如XML,HTTP等訪問和調(diào)用相應(yīng)的服務(wù),甚至在當前較為流行的手持移動終端上,只要該終端支持標準化的協(xié)議,并能夠?qū)崿F(xiàn)Web瀏覽及服務(wù)執(zhí)行等簡單功能,即可實現(xiàn)對于服務(wù)的有效使用,具有較高的可用性。
3)數(shù)據(jù)庫層:在數(shù)據(jù)庫層中主要存儲有2種類型的數(shù)據(jù):矢量數(shù)據(jù)和柵格化數(shù)據(jù)。其主要包含以下4種類型的數(shù)據(jù)庫:
①ESRI圖形文件數(shù)據(jù)庫: ESRI圖形文件包含了點跡、線條、圖形對象等數(shù)據(jù),能夠被用作地圖或其他文件的圖形填充;
②MapInfo MIF文件數(shù)據(jù)庫:此類文件中包含區(qū)域、線條及點跡等,是組成電子地圖的基礎(chǔ);
③SQL數(shù)據(jù)庫: SQL數(shù)據(jù)庫是當前常用的數(shù)據(jù)庫之一,主要用來存儲矢量數(shù)據(jù),在本文設(shè)計的平臺中,主要存儲屬性值、經(jīng)緯度值等數(shù)據(jù);
④JPG圖像數(shù)據(jù)庫: JPG圖像作為通用圖像文件可以用在多種場景下,如圖像信息的顯示,用戶界面的填充和美化等。
根據(jù)本文提出的設(shè)計框架,利用J2EE和Web服務(wù)構(gòu)建了系統(tǒng)原型,其界面如圖5所示。
圖5 用戶界面圖Fig.5 The picture of user interface
在本文實現(xiàn)的原型系統(tǒng)中,各個船舶可以通過Web瀏覽器實現(xiàn)傳統(tǒng)的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的計算機實訓教學系統(tǒng)的設(shè)計與實現(xiàn)[J].艦船科學技術(shù),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的服務(wù)集成性能分析[J].艦船科學技術(shù),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-),女,碩士,講師,研究方向為地籍測量、地理信息系統(tǒng)。
收稿日期:2014-12-11;修回日期: 2015-03-11
文章編號:1672-7649(2015) 07-0207-04doi:10.3404/j.issn.1672-7649.2015.07.049
中圖分類號:TP391
文獻標識碼:A