薛建軍,周 杰,杜景林,渠寒花
(南京信息工程大學(xué) 電子與信息工程學(xué)院,江蘇 南京210044)
人工影響天氣是指為避免或減輕氣象災(zāi)害,合理利用氣候資源,在適當(dāng)條件下通過科技手段對局部大氣的云物理過程進(jìn)行人工影響,實現(xiàn)增雨(雪)、防雹、消霧、消云等目的的活動[1]。目前全國有20多個省、市、區(qū)開展了人工影響天氣作業(yè),這些地區(qū)根據(jù)自身條件也進(jìn)行了人工影響天氣技術(shù)系統(tǒng)的研究,各地區(qū)已經(jīng)建立了一些不同程度、不同設(shè)計、不同軟硬件配置的綜合技術(shù)系統(tǒng)。其中較為有影響的系統(tǒng)平臺有:安徽省氣象局通過人影辦門戶網(wǎng)站,實現(xiàn)了氣象監(jiān)測資料發(fā)布、分析預(yù)警、通信指揮等基本業(yè)務(wù)功能;廣東省氣象局研制完成了集省、市、縣三級作業(yè)為一體、基于WebGIS技術(shù)的人工增雨指揮系統(tǒng),實現(xiàn)了人工增雨作業(yè)指揮業(yè)務(wù)化[2]。大連氣象局在 MICAPS平臺基礎(chǔ)上,綜合集成了雷達(dá)探測、衛(wèi)星遙感、氣象探空、地理信息、閃電定位以及人工防雹最新研究等綜合技術(shù),研發(fā)出市級人工防雹決策指揮系統(tǒng)[3]。
由于人工影響天氣業(yè)務(wù)涉及面廣、上下流環(huán)節(jié)多、作業(yè)時效性要求高、技術(shù)難度大,再加上當(dāng)時各種條件的制約,盡管人影業(yè)務(wù)系統(tǒng)建設(shè)取得了顯著成績,但是仍存在一些不足。多數(shù)系統(tǒng)主要針對人影業(yè)務(wù)中的某個環(huán)節(jié)研發(fā),以單項業(yè)務(wù)運行為主。人影業(yè)務(wù)涉及的相關(guān)支持系統(tǒng)也比較分散,部分氣象業(yè)務(wù)信息系統(tǒng)獨立存,未能很好地將人影業(yè)務(wù)上下游各環(huán)節(jié)系統(tǒng)集成統(tǒng)一,缺乏綜合統(tǒng)一的業(yè)務(wù)平臺。為滿足當(dāng)前人影業(yè)務(wù)的需求,充分利用雷達(dá)、衛(wèi)星、云物理探測資料以及常規(guī)氣象資料等基礎(chǔ)氣象數(shù)據(jù)進(jìn)行信息共享和綜合決策指揮,完善應(yīng)對大規(guī)模、跨區(qū)域、省市縣多級調(diào)度指揮作業(yè)的技術(shù)體系支持,本文提出了基于SOA的綜合業(yè)務(wù)平臺解決方案,充分利用已有系統(tǒng),集成人影業(yè)務(wù)各個環(huán)節(jié),消除信息孤島,確保人影業(yè)務(wù)中的數(shù)據(jù)流、決策信息流、業(yè)務(wù)保障的物流和人員調(diào)度信息暢通,有效提升人影業(yè)務(wù)系統(tǒng)的服務(wù)水平。
面向服務(wù)架構(gòu)(service oriented architecture,SOA)并不是一種語言,也不是一種具體的技術(shù),而是一種軟件系統(tǒng)架構(gòu),一種設(shè)計方法,它具有松耦合和面向軟件服務(wù)的特點,具有很高的重用性和靈活性。SOA可按照具體需求通過網(wǎng)絡(luò)對松散耦合的粗粒度應(yīng)用組件進(jìn)行分布式部署、組 合 和 使 用[4]。 目 前,Service-architecture.com、 W3C、Losselycoupled.com等機(jī)構(gòu)也各自為SOA給出了相關(guān)定義,具體內(nèi)容可參見文獻(xiàn) [4-6]。
從不同的定義中,可以得出SOA的幾個關(guān)鍵特性:①一種松散耦合、粗粒度、位置和傳輸協(xié)議透明服務(wù)架構(gòu);②服務(wù)與服務(wù)之間可以通過定義簡單而且精確接口進(jìn)行通信;③使用時不涉及底層編程接口和通信模型[7]。SOA的核心思想是服務(wù),它的服務(wù)來自于獨立的應(yīng)用程序或者新的面向業(yè)務(wù)的應(yīng)用程序,并且服務(wù)間組裝又可以形成新的服務(wù),以此確保軟件組件之間的松耦合,達(dá)到高度的服務(wù)可重用性[8]。
Web Service(Web服務(wù))是解決應(yīng)用程序間通信的一項技術(shù),是實現(xiàn)SOA的一種技術(shù)。嚴(yán)格的說,Web服務(wù)是描述一系列操作的接口,它使用XML描述接口,包括了與服務(wù)進(jìn)行交互所涉及的所有細(xì)節(jié),涵蓋了消息格式、傳輸協(xié)議和服務(wù)位置[9]?,F(xiàn)有的實現(xiàn)SOA的技術(shù)中,由于 Web Service具有更優(yōu)的可靠性、可擴(kuò)展性以及開放性而被廣泛采用。Web服務(wù)模型中用三類角色實現(xiàn)SOA[10-11],即服務(wù)的提供者、服務(wù)請求者、服務(wù)注冊中心,三者關(guān)系模型如圖1所示[7,12-14]。
圖1 web服務(wù)體系模型
其中3種角色包含了3種行為:發(fā)布、查找和綁定[7,15-17]。
(1)發(fā)布(publish)。為了使用戶能訪問服務(wù),服務(wù)提供者(service provider)使用 Web服務(wù)描述語言(web service definition language,WSDL)進(jìn)行服務(wù)的定義描述,使用通用描述、發(fā)現(xiàn)與集成服務(wù)(universal description,discovery and integration,UDDI)進(jìn)行服務(wù)統(tǒng)一描述、發(fā)現(xiàn)和集成,并將服務(wù)接口和其他相關(guān)信息發(fā)布到服務(wù)注冊中心。
(2)查找(find)。服務(wù)請求者(service requestor)定位服務(wù),可以在服務(wù)注冊中心(service registry)查詢或者直接檢索服務(wù)描述所要求的服務(wù)類型,通常使用UDDI在注冊中心查找所需的服務(wù)。
(3)綁定(bind)。服務(wù)請求者使用服務(wù)描述(service description)中的綁定細(xì)節(jié)來進(jìn)行服務(wù)定位、聯(lián)系及調(diào)用,如果從注冊中心得到了相應(yīng)的服務(wù)注冊信息,使用簡單對象訪問協(xié)議(simple object access protocol,SOAP)傳輸服務(wù)。
通過采用SOA將人影綜合業(yè)務(wù)平臺所需的上下游各個子系統(tǒng)和各類資源的應(yīng)用集成轉(zhuǎn)化成基于系統(tǒng)或應(yīng)用之間標(biāo)準(zhǔn)對話協(xié)議的模式,使業(yè)務(wù)平臺中各個子系統(tǒng)通過Internet/氣象專用通信網(wǎng)進(jìn)行數(shù)據(jù)、信息和服務(wù)的交換。Web服務(wù)技術(shù)通過WSDL、UDDI、SOAP將各類應(yīng)用和服務(wù)內(nèi)部實現(xiàn)細(xì)節(jié)封裝在傳遞的信息流中,隱藏了應(yīng)用和服務(wù)的實現(xiàn)細(xì)節(jié),有效的解決了現(xiàn)有異構(gòu)系統(tǒng)信息交換和應(yīng)用集成的問題[18],將各個異構(gòu)系統(tǒng)的相關(guān)功能和信息等集成到統(tǒng)一的工作平臺之中,使資源達(dá)到充分共享,實現(xiàn)集中、高效、便利的管理[19]。
實際的人影業(yè)務(wù)中涉及多個流程、多個平臺、需要多個系統(tǒng)、多種數(shù)據(jù)和服務(wù)支持,同時要能夠提供多類服務(wù)和指導(dǎo)意見。本框架新建子系統(tǒng)采用SOA的思想,對原有業(yè)務(wù)信息系統(tǒng)忽略功能的詳細(xì)實現(xiàn)細(xì)節(jié),統(tǒng)一將各子系統(tǒng)進(jìn)行服務(wù)封裝,利用業(yè)務(wù)編排將服務(wù)按業(yè)務(wù)流程方式組合在一起,為人影各個子平臺提供服務(wù),通過應(yīng)用集成構(gòu)建人影綜合業(yè)務(wù)平臺并為其提供服務(wù),最終將各類服務(wù)通過應(yīng)用接口提供給用戶。將框架邏輯上分為4層,即基礎(chǔ)數(shù)據(jù)層、服務(wù)提供層、業(yè)務(wù)應(yīng)用層、用戶表現(xiàn)層,如圖2所示。
各層具體描述如下:
(1)基礎(chǔ)數(shù)據(jù)層。該層為人影上下游各子系統(tǒng)建立統(tǒng)一協(xié)議的數(shù)據(jù)訪問,對人影業(yè)務(wù)涉及的海量異構(gòu)數(shù)據(jù)進(jìn)行訪問控制和管理,提供一致性和標(biāo)準(zhǔn)化的調(diào)用,保證人影數(shù)據(jù)的統(tǒng)一應(yīng)用。這里通過數(shù)據(jù)訪問接口提供各種結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)服務(wù),該接口的作用可形象的理解為相當(dāng)于計算機(jī)系統(tǒng)中的數(shù)據(jù)總線[20]。
(2)服務(wù)提供層。該層為本框架的核心,通過將原有系統(tǒng)和新建系統(tǒng)進(jìn)行服務(wù)封裝為業(yè)務(wù)應(yīng)用層提供各類服務(wù),提高各系統(tǒng)的重用性。忽略各子系統(tǒng)功能實現(xiàn)的具體細(xì)節(jié),隱藏上層服務(wù)不關(guān)心信息,確保了上下游系統(tǒng)之間的松耦合。通過服務(wù)總線向上層個子平臺提供服務(wù),不僅各自子系統(tǒng)可以單獨提供服務(wù),若干子系統(tǒng)的有序組合也可形成新的服務(wù),服務(wù)封裝的粒度可隨業(yè)務(wù)需求調(diào)整。
(3)業(yè)務(wù)應(yīng)用層。各個人影業(yè)務(wù)子平臺利用服務(wù)提供層的服務(wù)完成相應(yīng)的業(yè)務(wù)活動,當(dāng)上層業(yè)務(wù)流程改變時只需變更下層服務(wù)的組合方式或調(diào)整服務(wù)提供次序,提高了子平臺的可用性。通過應(yīng)用集成相關(guān)策略和技術(shù)可將各子平臺有機(jī)整合,形成了能夠集中統(tǒng)一決策、指揮、實施、評估、管理的綜合業(yè)務(wù)平臺。
(4)用戶表現(xiàn)層。該層是整個人影綜合業(yè)務(wù)平臺暴露給最終用戶的使用界面,是人影相關(guān)業(yè)務(wù)活動的入口。通過統(tǒng)一的應(yīng)用接口(可以是Web服務(wù)器或者專業(yè)入口等)為用戶提供各類人影相關(guān)服務(wù)。如一般的門戶信息服務(wù)、人影指導(dǎo)產(chǎn)品發(fā)布與獲取、人影業(yè)務(wù)申請、審批、上報等。
圖2 基于SOA的人影平臺基礎(chǔ)框架
將上述基礎(chǔ)框架抽取形成統(tǒng)一模型并在WebGIS(網(wǎng)絡(luò)地理信息系統(tǒng))平臺上開展了某省人工影響天氣綜合業(yè)務(wù)平臺的建設(shè)工作。該平臺要求與氣象部門門戶和辦公自動化相集成,通過專業(yè)入口進(jìn)入人影業(yè)務(wù)平臺,包括了人影業(yè)務(wù)涉及的上下游各環(huán)節(jié)、涵蓋了人影業(yè)務(wù)所需的各類服務(wù),形成了綜合統(tǒng)一的業(yè)務(wù)平臺。利用本文框架進(jìn)行集成開發(fā),其體系結(jié)構(gòu)如圖3所示。
具體實現(xiàn)方法
圖3 省級人影綜合業(yè)務(wù)平臺集成開發(fā)體系結(jié)構(gòu)
(1)基數(shù)數(shù)據(jù)。分析人影業(yè)務(wù)中涉及的氣象資料,研究適應(yīng)業(yè)務(wù)需要的實時氣象資料處理機(jī)制,構(gòu)建實時氣象資料數(shù)據(jù)庫。分析人影業(yè)務(wù)涉及的雷達(dá)資料、云圖資料,研究改進(jìn)雷達(dá)數(shù)據(jù)、云圖資料處理方法,生成易于和GIS圖層融合的柵格資料集。分析人影業(yè)務(wù)涉及的空間數(shù)據(jù)資料,選取適用于人影作業(yè)的地理信息數(shù)據(jù),融入ArcGIS Server平臺,提供基礎(chǔ)空間位置服務(wù)。對于符合要求的現(xiàn)有數(shù)據(jù)通過統(tǒng)一訪問管理直接應(yīng)用,需要新增的數(shù)據(jù)則通過積極構(gòu)建新系統(tǒng)生成。例如在本例中,通過構(gòu)建改進(jìn)型的氣象資料處理系統(tǒng),為上層系統(tǒng)提供所需的數(shù)據(jù)。
(2)服務(wù)支持。對現(xiàn)有的省、市、縣人影業(yè)務(wù)系統(tǒng)進(jìn)行研究、對人影現(xiàn)有機(jī)制和業(yè)務(wù)指揮體制進(jìn)行研究。在原有系統(tǒng)基礎(chǔ)上,對有使用價值的舊系統(tǒng)進(jìn)行改造,將服務(wù)封裝向上、下層提供。開發(fā)設(shè)計符合SOA且易于擴(kuò)展集成的新系統(tǒng),將人影各環(huán)節(jié)涉及的新舊系統(tǒng)進(jìn)行統(tǒng)一集成開發(fā),為業(yè)務(wù)應(yīng)用提供服務(wù)支持。本例中將氣象部門原有的探測系統(tǒng)、監(jiān)測系統(tǒng)、信息管理系統(tǒng)等進(jìn)行改造與新建的氣象資料綜合處理系統(tǒng)有機(jī)集成,選擇合適封裝粒度向業(yè)務(wù)應(yīng)用各平臺系統(tǒng)提供松散耦合的服務(wù)。
(3)業(yè)務(wù)應(yīng)用。利用下層服務(wù)進(jìn)行組織保障和技術(shù)保障建設(shè),開展人影業(yè)務(wù)關(guān)鍵平臺建設(shè)、集成和改造。分析現(xiàn)有業(yè)務(wù)規(guī)程,建立適用于多級指揮和跨區(qū)域?qū)m椬鳂I(yè)的行政制度和業(yè)務(wù)規(guī)程,形成改進(jìn)型的堆積指揮業(yè)務(wù)規(guī)程和審批流程。融合GPRS、3G、WiFi等多通信通道傳輸技術(shù),優(yōu)化現(xiàn)有的實時傳輸?shù)耐ㄐ刨|(zhì)量,建立能夠傳輸分發(fā)各類數(shù)據(jù)信息的通信系統(tǒng),建立支持多級調(diào)度指揮的信息通信體系結(jié)構(gòu)。優(yōu)化現(xiàn)有的地理信息基礎(chǔ)平臺,構(gòu)建基于Web-GIS的綜合業(yè)務(wù)平臺,實現(xiàn)多類氣象資料融合,具有綜合分析、智能決策和量化效益評估性能,提供完備的基于空間位置的服務(wù)。
(4)服務(wù)展現(xiàn)。綜合業(yè)務(wù)平臺向各類用戶、氣象部門上下級單位、各級政府部門、社會團(tuán)體等提供相應(yīng)的服務(wù)。這些服務(wù)包含人影業(yè)務(wù)的專業(yè)服務(wù)、向公眾發(fā)布的信息共享服務(wù)、行政機(jī)構(gòu)的審批決策服務(wù)等,可以通過人影門戶、專業(yè)入口、授權(quán)訪問等向內(nèi)外提供。
系統(tǒng)采用軟件工程中演化過程模型,結(jié)合自頂向下和面向?qū)ο蠓椒ㄟM(jìn)行分析設(shè)計,以敏捷的開發(fā)方法,基于SOA,利用 .NET技術(shù)、大型數(shù)據(jù)庫技術(shù)、Web Service技術(shù)、ArcGIS Server9.3技術(shù)、XML技術(shù)等進(jìn)行集成開發(fā)。為驗證該方案,進(jìn)行了驗證系統(tǒng)的設(shè)計開發(fā),驗證系統(tǒng)界面如圖4。測試和實際運行證明,該系統(tǒng)性能指標(biāo)滿足設(shè)計要求,該方案可行有效。
圖4 基于WebGIS的人影綜合業(yè)務(wù)平臺驗證系統(tǒng)
目前基于SOA的人工影響天氣業(yè)務(wù)平臺解決方案已在某省人影綜合業(yè)務(wù)平臺建設(shè)中初步應(yīng)用,系統(tǒng)原型產(chǎn)品也已投入業(yè)務(wù)試運行中。該方案:①有效的集成了人影業(yè)務(wù)上下游各環(huán)節(jié)系統(tǒng),消除信息孤島、充分利用了人影部門原有系統(tǒng);②設(shè)計開發(fā)具有統(tǒng)一業(yè)務(wù)架構(gòu)的新系統(tǒng),提供位置透明、松散耦合的服務(wù);③擺脫傳統(tǒng)信息系統(tǒng)解決方案的束縛,采用SOA朝著面向服務(wù)的方向發(fā)展,使系統(tǒng)架構(gòu)更具有彈性,增加了系統(tǒng)的可擴(kuò)展性,更加適合人影業(yè)務(wù)的應(yīng)用和需求變化。未來研究中將進(jìn)一步優(yōu)化各個環(huán)節(jié),集成更多的應(yīng)用、不斷提升系統(tǒng)的性能,特別是服務(wù)粒度的控制和服務(wù)流程編排,提供一個有效且優(yōu)越的人影綜合業(yè)務(wù)平臺的解決方案。
[1]GAO Chao.Design and implementation of weather modification command system [D].Nanjing:Nanjing University of Information Science &Teehnology,2008(in Chinese).[高超.人工影響天氣指揮系統(tǒng)設(shè)計與實現(xiàn) [D].南京:南京信息工程大學(xué),2008.]
[2]YOU Jiping,F(xiàn)ENG Yongji.The commanding system for artificial rain enhancement based on the WebGIS [C].International Conference on Information Science and Engineering,2009:2201-2204.
[3]LI Hongbin,HE Yuke,ZHANG Diangang,et al.Dalian decision making and command system of hail suppression [J].Meteorological Science and Technology,2010,38(3):389-393(in Chinese).[李紅斌,何玉科,張殿剛,等.大連市人工防雹決策指揮系統(tǒng) [J].氣象科技,2010,38(3):389-393.]
[4]CUI Xiaobo.SOA overview [EB/OL].[2011-06-10].http://www.51cto.com/html/2006/0105/16214.htm(in Chinese).[崔曉波.SOA 概覽 [EB/OL].[2011-06-10].http://www.51cto.com/html/2006/0105/16214.htm.]
[5]ZHANG Haijun,SHI Weifeng,LIU Wei.Research and implementation enterprise application integration framework based on SOA [J].Computer Engineering and Design,2008,29(8):2085-2088(in Chinese).[張海軍,史維峰,劉偉.基于 SOA企業(yè)應(yīng)用集成框架研究與實現(xiàn) [J].計算機(jī)工程與設(shè)計,2008,29(8):2085-2088.]
[6]LING Xiaodong.A review of SOA [J].Computer Applications and Soft Ware,2007,24(10):122-124(in Chinese).[凌曉東.SOA綜述 [J].計算機(jī)應(yīng)用與軟件,2007,24(10):122-124.]
[7]LANG Jiong,LIU Yanbing,XIONG Shiyong.Data integation method based on SOA software architecture [J].Journal of Computer Applications,2010,30(9):2370-2373(in Chinese).[郎炯,劉宴兵,熊仕勇.基于SOA軟件架構(gòu)的數(shù)據(jù)集成方法 [J].計算機(jī)應(yīng)用,2010,30(9):2370-2373.]
[8]WANG Weixing,WANG Chenguang.Integration framework of enterprise information system based on service-oriented architecture [J].Computer Engineering,2010,36(18):29-31(in Chinese).[王衛(wèi)星,王晨光.基于SOA的企業(yè)信息系統(tǒng)集成框架 [J].計算機(jī)工程,2010,36(18):29-31.]
[9]ZHANG Yousheng,WANG Yong.Analyst technical guideline[M].Beijing:Tsinghua University Press,2009:207-208(in Chinese).[張友生,王勇.系統(tǒng)分析師技術(shù)指南 [M].北京:清華大學(xué)出版社,2009:207-208.]
[10]LI Kaiyi,LI Jingwei,HUANG Junhua,et al.Design of spatial information serving platform based on Web Services [J].Journal of Guilin University of Technology,2010,30(4):585-589(in Chinese).[李愷毅,李景文,黃俊華,等.基于Web Services的空間信息服務(wù)平臺設(shè)計方法 [J].桂林理工大學(xué)報,2010,30(4):585-589.]
[11]YANG Bin,ZHANG Weidong,ZHANG Lixin,et al.Internet of things application fundamental framework based on SOA[J].Computer Engineering,2010,36(17):95-97(in Chinese).[楊斌,張衛(wèi)冬,張利欣,等.基于SOA的物聯(lián)網(wǎng)應(yīng)用基礎(chǔ)框架 [J].計算機(jī)工程,2010,36(17):95-97.]
[12]GUO Liang,GONG Jianhua,SUN Jun,et al.Study on GIS architecture based on SOA and RIA [C].3rd International Conference on Information Sciences and Interaction Sciences,2010:620-625.
[13]ZHENG Zongsheng,HUANG Dongmei,ZHANG Jianxin,et al.Storm disaster assessment geographic information system based on SOA [J].Computer Engineering and Design,2011,32(3):931-935(in Chinese).[鄭宗生,黃冬梅,張建新,等.面向SOA的城市風(fēng)暴潮災(zāi)害評估GIS系統(tǒng) [J].計算機(jī)工程與設(shè)計,2011,32(3):931-935.]
[14]LI Songhua,TAO Lihong,GAO Dong.Research and implementation of related technology for a logistics information sys-tem based on SOA [J].Journal of University of Science and Technology Beijing,2009,31(1):134-138(in Chinese).[李頌華,陶麗紅,高棟.基于SOA架構(gòu)的物流信息系統(tǒng)的相關(guān)技術(shù)研究與實現(xiàn) [J].北京科技大學(xué)學(xué)報,2009,31(1):134-138.]
[15]HUANG Chongben,CHENG Guanghua,ZHANG Zhenyu.Based on Web Services between enterprise SOA models research [J].Computer Engineering and Design,2008,29(14):3647-3649(in Chinese).[黃崇本,程光華,張振宇.基于Web Services的企業(yè)間SOA模型研究 [J].計算機(jī)工程與設(shè)計,2008,29(14):3647-3649.]
[16]LIU Jianfeng,CHEN Zhibo.Campus network operation platform based on SOA [J].Computer Engineering and Design,2011,32(2):543-548(in Chinese).[劉劍鋒,陳志泊.基于SOA的校園網(wǎng)運維平臺 [J].計算機(jī)工程與設(shè)計,2011,32(2):543-548.]
[17]Tauhida Parveen,Scott Tilley.A research agenda for testing SOA-based systems [C].2nd Annual IEEE Systems Conference,2008:1-6.
[18]ZHU Zhen,YAO Qifu.Digital campus solution based on SOA[J].Computer Engineering,2009,35(7):267-269(in Chinese).[朱震,姚奇富.基于SOA的數(shù)字校園解決方案 [J].計算機(jī)工程,2009,35(7):267-269.]
[19]TIAN Guang,TANG Ning,ZHANG Yan.Research and application of SOA-based collaborative platform for enterprise systems [J].Computer Engineering and Design,2010,31(21):4615-4620(in Chinese).[田廣,唐寧,張巖.基于SOA體系的企業(yè)系統(tǒng)協(xié)同平臺的研究和應(yīng) [J].計算機(jī)工程與設(shè)計,2010,31(21):4615-4620.]
[20]ZUO Meiyun,ZHANG Zike,LI Qian.Framework for integration of SOA and Web2.0 [J].Journal of South-east University(English Edition),2007,23(3):418-420.