楊明 陳晴 高祝宇 朱旻翔 魏爽 胡永亮
摘要:對基于Web Service技術(shù)在移動端氣象業(yè)務(wù)系統(tǒng)開發(fā)設(shè)計中的關(guān)鍵技術(shù)進(jìn)行了研究,介紹了移動端氣象業(yè)務(wù)系統(tǒng)的系統(tǒng)框架和功能設(shè)計,實現(xiàn)了移動端氣象業(yè)務(wù)系統(tǒng)。應(yīng)用效果表明Web Service實現(xiàn)的數(shù)據(jù)服務(wù)無需考慮移動客戶端的開發(fā)方式,具有良好的異構(gòu)性,為移動客戶端提供了跨平臺、跨系統(tǒng)和高可用的數(shù)據(jù)服務(wù),具有較好的應(yīng)用效果,提高了氣象業(yè)務(wù)服務(wù)能力。
關(guān)鍵詞:Web Service技術(shù);移動端;氣象業(yè)務(wù)系統(tǒng)
中圖分類號:TP393文獻(xiàn)標(biāo)志碼:A文章編號:1008-1739(2018)14-68-3
Design and Implementation of Mobile Weather Service System Based on Web Service Technology
YANG Ming, CHEN Qing, GAO Zhuyu, ZHU Minxiang, WEI Shuang, HU Yongling
(Zhejiang Meteorological Information Network Center, Hangzhou Zhejiang 310017, China)
0引言
隨著移動端技術(shù)研究及應(yīng)用的不斷深入發(fā)展,其應(yīng)用領(lǐng)域不斷擴展[1-2]。移動端技術(shù)在氣象業(yè)務(wù)應(yīng)用的范圍越來越廣泛,關(guān)注度越來越高[3-4]。目前,氣象業(yè)務(wù)系統(tǒng)大部分采用桌面版,已經(jīng)不能滿足隨時隨地開展氣象業(yè)務(wù)的需求,尤其是決策服務(wù)和人工影響天氣作業(yè)等。為了利用智能移動終端更方便快捷地進(jìn)行氣象服務(wù)工作,需要開展智能移動終端氣象業(yè)務(wù)平臺技術(shù)的研究。
Web Service是基于SOAP、XML、WDSL和UDDI等標(biāo)準(zhǔn),通過描述、發(fā)布、發(fā)現(xiàn)、協(xié)調(diào)和配置的跨平臺、低耦合、可調(diào)用的分布式Web應(yīng)用程序。Web Service具有跨平臺的互操作性及數(shù)據(jù)重用性等優(yōu)勢,利用Web Service技術(shù)可以有效解決移動端與數(shù)據(jù)的跨平臺、網(wǎng)絡(luò)異構(gòu)和數(shù)據(jù)重用等問題。
以氣象業(yè)務(wù)需求為牽引,結(jié)合Web Service技術(shù)和移動端應(yīng)用的特點,研發(fā)了一套基于Web Service的移動端氣象業(yè)務(wù)系統(tǒng),為氣象業(yè)務(wù)用戶提供方便、高效、快捷的氣象業(yè)務(wù)服務(wù)能力,提高氣象業(yè)務(wù)工作效率。
1系統(tǒng)總體框架設(shè)計
為了保證系統(tǒng)的共享性、擴展性和可重用性,系統(tǒng)采用了層次化的設(shè)計思路,系統(tǒng)總體框架由數(shù)據(jù)層、數(shù)據(jù)支撐層、核心氣象應(yīng)用層和表現(xiàn)層4部分組成,系統(tǒng)的總體框架如圖1所示。
①數(shù)據(jù)層:指基礎(chǔ)數(shù)據(jù)環(huán)境,主要存儲了移動端氣象業(yè)務(wù)系統(tǒng)所涉及的4類數(shù)據(jù):氣象業(yè)務(wù)數(shù)據(jù)(如監(jiān)測數(shù)據(jù)、預(yù)報數(shù)據(jù)及服務(wù)產(chǎn)品等)、基礎(chǔ)地理信息數(shù)據(jù)、系統(tǒng)配置與管理數(shù)據(jù)文件和其他數(shù)據(jù)。所有數(shù)據(jù)均采用數(shù)據(jù)中心的方式進(jìn)行統(tǒng)一存儲和管理,其中基礎(chǔ)地理信息數(shù)據(jù)的存儲采用地圖切片及XML的方式。系統(tǒng)配置與管理數(shù)據(jù)主要采用數(shù)據(jù)庫存儲,系統(tǒng)配置文件采用XML的文件方式存儲,氣象業(yè)務(wù)數(shù)據(jù)按照數(shù)據(jù)結(jié)構(gòu)的不同采用數(shù)據(jù)庫和文件相結(jié)合的方式存儲。
②數(shù)據(jù)支撐層:指數(shù)據(jù)的二次處理加工、數(shù)據(jù)庫的訪問、數(shù)據(jù)轉(zhuǎn)發(fā)傳輸、數(shù)據(jù)支撐服務(wù)接口、系統(tǒng)配置及管理配置,實現(xiàn)對各種類型數(shù)據(jù)文件進(jìn)行加工處理成移動端容易實現(xiàn)顯示的數(shù)據(jù)類型,實現(xiàn)訪問數(shù)據(jù)層數(shù)據(jù)模塊、移動端的系統(tǒng)管理及配置接口、地圖服務(wù)接口、氣象業(yè)務(wù)數(shù)據(jù)庫的接口及對數(shù)據(jù)文件的傳輸。其中,涉及的接口主要采用Web Service方式提供服務(wù),管理系統(tǒng)主要是對用戶及系統(tǒng)進(jìn)行配置和管理。
③核心氣象應(yīng)用層:主要提供了地圖顯示和查詢、氣象要素空間插值及氣象分析等主要功能,為業(yè)務(wù)服務(wù)平臺提供了應(yīng)用層支持。
④表現(xiàn)層:主要通過移動端提供數(shù)據(jù)顯示、數(shù)據(jù)分析、制圖分享和地圖顯示等。
2系統(tǒng)功能設(shè)計
2.1屬性功能設(shè)計及制圖分享功能
①常用設(shè)置功能分布:地圖顯示方式(行政圖、谷歌圖、交通圖和流域圖)、屬性選擇(根據(jù)各種產(chǎn)品種類自動顯示所需功能)及行政區(qū)設(shè)置(點擊某個行政區(qū),地圖自動定位到該行政區(qū))。
②制圖分享功能分布:常用制圖區(qū)(畫筆、標(biāo)尺、回撤、取消作圖、選擇圖片、保存和分享到微博微信)、天氣現(xiàn)象圖標(biāo)區(qū)及圖片的縮放和旋轉(zhuǎn)。
2.2基礎(chǔ)地圖及定位功能設(shè)計
在地理空間數(shù)據(jù)庫的基礎(chǔ)上,制作發(fā)布了省、市、縣和流域等地理數(shù)據(jù)的氣象地圖服務(wù)接口,為移動端氣象業(yè)務(wù)系統(tǒng)提供地圖服務(wù)。地圖采用分級顯示的方式,當(dāng)用戶縮放到一定比例時,才顯示更詳細(xì)的地理信息和氣象業(yè)務(wù)分析數(shù)據(jù)。
地圖定位功能分為自動定位和手動定位,自動定位是根據(jù)GPS和WIFI自動定位設(shè)備的地理位置;手動定位是在地圖上常按某個地理位置定位,系統(tǒng)顯示該位置的詳細(xì)氣象信息。
2.3核心氣象應(yīng)用組件
移動端氣象業(yè)務(wù)系統(tǒng)由一系列松耦合的組件組成,在邏輯上大致可以分為氣象專業(yè)分析組件、通用GIS氣象應(yīng)用組件和基于Web Service的數(shù)據(jù)組件3類:①氣象專業(yè)分析組件封裝對氣象數(shù)據(jù)的顯示和分析等功能操作;②通用GIS氣象應(yīng)用組件封裝基本的GIS功能,包括地圖操作、查詢操作及氣象要素空間分析顯示等功能,為氣象業(yè)務(wù)數(shù)據(jù)的顯示分析提供基礎(chǔ);③基于Web Service的數(shù)據(jù)組件提供訪問解析Web Service的氣象數(shù)據(jù)接口通用模塊,方便系統(tǒng)各模塊調(diào)用,避免了重復(fù)勞動,更好地滿足氣象業(yè)務(wù)需求。
3關(guān)鍵技術(shù)
Web Service應(yīng)用在氣象數(shù)據(jù)提供端,定義了一套標(biāo)準(zhǔn)的數(shù)據(jù)調(diào)用方式和接口,為移動氣象業(yè)務(wù)系統(tǒng)提供氣象業(yè)務(wù)數(shù)據(jù)和系統(tǒng)管理數(shù)據(jù)等標(biāo)準(zhǔn)化的數(shù)據(jù)支撐。利用Web Service技術(shù)可以有效地解決網(wǎng)絡(luò)異構(gòu)問題,通過發(fā)布基于Web Service的氣象數(shù)據(jù)接口,移動端或其他系統(tǒng)在異構(gòu)的網(wǎng)絡(luò)環(huán)境下方便快捷地調(diào)用氣象數(shù)據(jù)服務(wù),同時,不需要考慮移動端與數(shù)據(jù)服務(wù)端的開發(fā)工具、網(wǎng)絡(luò)或者系統(tǒng)等問題,這樣節(jié)省了大量的工作,使得開發(fā)與應(yīng)用更加集約和方便簡潔。
Web Service體系結(jié)構(gòu)中的角色包括[5]:①服務(wù)提供者:包括服務(wù)的所有者和托管被訪問服務(wù)的平臺;②服務(wù)請求者:尋找并調(diào)用服務(wù)或啟動與服務(wù)交互的應(yīng)用程序;③服務(wù)注冊中心:可搜索的服務(wù)描述注冊中心,服務(wù)提供者在此發(fā)布它們的服務(wù)描述。
在Web Service的系統(tǒng)結(jié)構(gòu)中,服務(wù)處于核心地位,移動端氣象業(yè)務(wù)系統(tǒng)數(shù)據(jù)提供端的數(shù)據(jù)服務(wù)是服務(wù)的一個實例,它發(fā)布、發(fā)現(xiàn)和綁定都是以服務(wù)為中心,實現(xiàn)移動端氣象業(yè)務(wù)系統(tǒng)的數(shù)據(jù)服務(wù)主要包括了3個部分:①創(chuàng)建Web Service的Web數(shù)據(jù)服務(wù)應(yīng)用程序;②部署Web Service的Web數(shù)據(jù)服務(wù)應(yīng)用程序;③發(fā)布Web Service的Web數(shù)據(jù)服務(wù)到注冊中心,供移動端氣象業(yè)務(wù)系統(tǒng)請求查找。
3.1創(chuàng)建Web Service的Web數(shù)據(jù)服務(wù)
Web Service向外部程序提供了可調(diào)用的Web服務(wù)接口及其描述,創(chuàng)建Web Service的Web數(shù)據(jù)服務(wù)應(yīng)用程序的關(guān)鍵是實現(xiàn)數(shù)據(jù)操作接口,使其滿足數(shù)據(jù)服務(wù)的需求。利用.Net平臺實現(xiàn)了移動端氣象業(yè)務(wù)系統(tǒng)數(shù)據(jù)服務(wù)接口,實現(xiàn)的體系如圖2所示。系統(tǒng)主要由移動客戶端、數(shù)據(jù)服務(wù)和數(shù)據(jù)庫3部分組成,在數(shù)據(jù)服務(wù)層,由.Net平臺實現(xiàn)了移動端氣象業(yè)務(wù)系統(tǒng)數(shù)據(jù)服務(wù)接口、服務(wù)集成平臺和UDDI注冊中心,通過數(shù)據(jù)訪問模塊訪問數(shù)據(jù)庫服務(wù),取得氣象數(shù)據(jù)、系統(tǒng)管理數(shù)據(jù)和地理信息數(shù)據(jù)等。
3.2部署Web Service的Web數(shù)據(jù)服務(wù)
Web Service是通過SOAP、WDSL和UDDI等標(biāo)準(zhǔn)協(xié)議實現(xiàn)跨平臺、低耦合及可調(diào)用等特征。.Net平臺為Web Service提供了集成開發(fā)環(huán)境,本文采用.Net平臺開發(fā),并部署在IIS應(yīng)用服務(wù)器。
3.3注冊Web Service的Web數(shù)據(jù)服務(wù)
Web數(shù)據(jù)服務(wù)部署到應(yīng)用服務(wù)器,移動端氣象業(yè)務(wù)系統(tǒng)通過訪問服務(wù)地址,調(diào)用發(fā)布的Web Service數(shù)據(jù)服務(wù),獲取數(shù)據(jù)。為了讓更多的氣象業(yè)務(wù)系統(tǒng)獲取到Web數(shù)據(jù)服務(wù)的基本信息和服務(wù)地址,可以將Web數(shù)據(jù)服務(wù)注冊到UDDI注冊中心。UDDI注冊中心為Web數(shù)據(jù)服務(wù)提供了綁定、動態(tài)發(fā)布和搜索功能,本文采用UDDI.NET SDK包實現(xiàn)Web Service的Web數(shù)據(jù)服務(wù)的注冊服務(wù)。
4應(yīng)用實例
采用Object-C語言[6]在IPad上實現(xiàn)了基于Web Service的移動端氣象業(yè)務(wù)系統(tǒng),《浙江氣象APP》。目前該系統(tǒng)已經(jīng)在業(yè)務(wù)中得到實際的應(yīng)用,應(yīng)用結(jié)果顯示,Web Service實現(xiàn)的數(shù)據(jù)服務(wù)無需考慮移動客戶端的開發(fā)方式,具有良好的異構(gòu)性,為移動客戶端提供了跨平臺、跨系統(tǒng)、高可用的數(shù)據(jù)服務(wù),具有較好的效果,應(yīng)用效果如圖3所示。
5結(jié)束語
基于Web Service的移動端氣象業(yè)務(wù)系統(tǒng)建設(shè)方案在業(yè)務(wù)應(yīng)用中,不僅提供了高可用的氣象業(yè)務(wù)數(shù)據(jù),而且能提供豐富的功能,對Web Service技術(shù)應(yīng)用于移動端氣象業(yè)務(wù)系統(tǒng)的總體系統(tǒng)框架、功能設(shè)計和關(guān)鍵技術(shù)進(jìn)行深入討論與分析,為移動端氣象業(yè)務(wù)系統(tǒng)提供一種建設(shè)思路和手段,提高了氣象業(yè)務(wù)服務(wù)能力。但是隨著氣象業(yè)務(wù)產(chǎn)品不斷更新和功能需求的增加,該系統(tǒng)仍有不完善之處,待未來不斷完善和提高,以滿足氣象業(yè)務(wù)應(yīng)用的更高需求。
參考文獻(xiàn)
[1]夏小正.完美的移動智能終端[J].互聯(lián)網(wǎng)天地,2009(8):36-37.
[2]吳君曉,羊紅燕,吳金艷,等.基于iPhone的地址簿應(yīng)用程序開發(fā)探索[J].科技創(chuàng)新導(dǎo)報,2011(29):20-21.
[3]白淑英,陳靈梅,王莉.基于iPad的臺風(fēng)路徑信息管理系統(tǒng)[J].地理空間信息,2013,11(1):1-4.
[4]錢崢,趙科科,許皓皓.基于Android的移動氣象信息服務(wù)系統(tǒng)設(shè)計與實現(xiàn)[J].氣象科技,2014,42 (1):99-103.
[5]韡劉冬.基于Web Service的氣象服務(wù)系統(tǒng)的研究[J].計算機工程,2004,30(B12):625-628.
[6]李佳琳.基于Objective-C的軟件開發(fā)方法探討[J].中國科教創(chuàng)新導(dǎo)刊,2010(28):189.