摘要:介紹了氣象觸摸屏服務(wù)平臺接口設(shè)計(jì)方法與實(shí)現(xiàn)過程。該平臺接口采用Visual Studio 2010開發(fā),通過ASP.NET創(chuàng)建Web服務(wù),為氣象觸摸屏服務(wù)平臺提供數(shù)據(jù)資源。通過業(yè)務(wù)應(yīng)用證實(shí),平臺接口運(yùn)行穩(wěn)定、性能好。該接口的設(shè)計(jì)對類似系統(tǒng)的建設(shè)具有示范和參考價(jià)值。
關(guān)鍵詞:Web服務(wù);觸摸屏;接口;ASP.NET;氣象現(xiàn)代化
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2017)28-0126-03
Abstract: This paper introduced the design and implementation of the interface of touch screen platform for meteorological service. The interface of the platform was implemented by Visual Studio 2010. The web services was created by ASP.NET. The touch screen platform for meteorological service can get data resources through the interface. The operational application indicated the interface of the platform performed stably and had good characteristics. The design of the interface had a demonstration and reference value for similar system.
Key words: Web Services; touch screen; interface; ASP.NET; modernization of meteorology
隨著北海市氣象事業(yè)的發(fā)展,氣象部門提供的具有不同用途及針對性的公共氣象服務(wù)產(chǎn)品越來越多。氣象觸摸屏服務(wù)平臺的建設(shè)為提升氣象防災(zāi)減災(zāi)能力、提高市級氣象服務(wù)水平和加強(qiáng)氣象部門對外宣傳工作提供了有力的支撐和保障,對氣象服務(wù)社會(huì)化、氣象業(yè)務(wù)現(xiàn)代化起到積極的推動(dòng)作用,也使市級防災(zāi)減災(zāi)工作邁向更新、更高的起點(diǎn)。氣象觸摸屏服務(wù)平臺主要針對城市社區(qū)進(jìn)行全方位的氣象服務(wù)工作。該平臺可以將各類氣象信息及時(shí)有效地推送到各個(gè)社區(qū),從而更好地為社區(qū)進(jìn)行氣象服務(wù)。該平臺包含4個(gè)功能模塊,分別是“都市天氣”、“氣象產(chǎn)品”、“氣象指南”和“社區(qū)服務(wù)”。都市天氣模塊主要向公眾提供天氣實(shí)況、一周天氣預(yù)報(bào)和氣象預(yù)警信息發(fā)布等信息。氣象產(chǎn)品模塊主要提供本地區(qū)短時(shí)臨近預(yù)報(bào)、海洋預(yù)報(bào)、重大氣象信息專報(bào)、氣象服務(wù)信息、氣象服務(wù)參考、雷達(dá)圖、衛(wèi)星云圖等產(chǎn)品的查詢功能。氣象指南模塊主要提供風(fēng)力等級、雨量等級、信號風(fēng)球、熱帶氣旋等級、預(yù)警防御指南的查詢功能。社區(qū)服務(wù)可提供社區(qū)概況、辦事指南、社區(qū)動(dòng)態(tài)等信息的查閱。
氣象觸摸屏服務(wù)平臺需要使用北海氣象現(xiàn)代化服務(wù)平臺[1]的數(shù)據(jù)資源來實(shí)現(xiàn)系統(tǒng)功能。因此,在北海氣象現(xiàn)代化服務(wù)平臺系統(tǒng)服務(wù)器上創(chuàng)建并發(fā)布Web服務(wù),提供氣象觸摸屏服務(wù)平臺數(shù)據(jù)接口,氣象觸摸屏服務(wù)平臺可通過調(diào)用該接口獲取相關(guān)信息,從而實(shí)現(xiàn)系統(tǒng)功能。筆者介紹了該平臺接口的設(shè)計(jì)方法及實(shí)現(xiàn)過程,同時(shí)介紹了接口設(shè)計(jì)采用的Web服務(wù)技術(shù)。
1 氣象觸摸屏服務(wù)平臺接口設(shè)計(jì)
1.1 Web Services技術(shù)
Web Services即Web服務(wù),是一個(gè)由URI(Uniform Resource Identifer)指定的軟件組件或應(yīng)用,它的接口和綁定可以用標(biāo)準(zhǔn)的XML進(jìn)行描述并支持與其他軟件和組件進(jìn)行交互。在實(shí)現(xiàn)分布式、可互操作及應(yīng)用系統(tǒng)集成方面,Web服務(wù)技術(shù)成為新一代Web技術(shù)。Web服務(wù)的基礎(chǔ)是可擴(kuò)展標(biāo)記語言(XML)及基于其上的簡單對象訪問協(xié)議(SOAP),其基本結(jié)構(gòu)是:客戶端和服務(wù)器端之間把請求和數(shù)據(jù)結(jié)果以XML的形式進(jìn)行SOAP包裝,以HTTP等形式進(jìn)行傳送,從而實(shí)現(xiàn)相應(yīng)交互。Web服務(wù)就是由服務(wù)組件通過某些網(wǎng)絡(luò)協(xié)議提供的遠(yuǎn)程調(diào)用接口,用戶可通過接口使用系統(tǒng)提供的功能。Web服務(wù)以XML作為基本的數(shù)據(jù)通信方式,來消除使用不同組件模型、操作系統(tǒng)和編程語言的系統(tǒng)之間存在的差異,服務(wù)器端和客戶端的系統(tǒng)都是松耦合的。Java、C++、C#、Visual Basic等都可以實(shí)現(xiàn)Web服務(wù),并且調(diào)用者與實(shí)現(xiàn)者可以采用不同的編程語言。[2-3]
根據(jù)在Web服務(wù)中的作用,可以劃分三種基本的角色:服務(wù)的提供者、服務(wù)的請求者以及服務(wù)的中介。[4]服務(wù)提供者完成Web服務(wù)的定義和描述并將其發(fā)布至服務(wù)中介,服務(wù)請求者先從服務(wù)中介查找到相關(guān)服務(wù)的描述,然后根據(jù)服務(wù)描述完成與服務(wù)提供者的綁定,通過SOAP完成服務(wù)的調(diào)用。[5]
在ASP.NET中可以創(chuàng)建Web服務(wù)。該Web服務(wù)可以在一個(gè)擴(kuò)展名為.asmx的文件中編寫代碼,也可以放在代碼隱藏文件中。在代碼隱藏文件中包含一個(gè)類,該類是根據(jù)Web服務(wù)的文件名命名的,具有Web Service和Web Service Binding特性標(biāo)簽??梢允褂肳eb Service特性為Web服務(wù)指定不受公共語言運(yùn)行庫標(biāo)識符規(guī)則限制的名稱。Web服務(wù)可以通過將多個(gè)Web Service Binding特性應(yīng)用于Web Service來實(shí)現(xiàn)多個(gè)綁定。按Web服務(wù)描述語言(WSDL)的定義,綁定類似于一個(gè)接口,每個(gè)Web Service方法都是特定綁定中的一項(xiàng)操作。[3]
Web Service類包含一個(gè)或多個(gè)可在Web服務(wù)中公開的公共方法,這些Web Service方法以Web Method特性開頭。使用ASP.NET創(chuàng)建的Web服務(wù)中的某個(gè)方法添加此Web Method特性后,就可以從遠(yuǎn)程Web客戶端調(diào)用該方法。Web Method特性包括一些屬性,可用于設(shè)置特定Web方法的行為。其中Description屬性提供Web Service方法的說明字符串。當(dāng)在瀏覽器上測試Web服務(wù)時(shí),該說明將顯示在Web服務(wù)幫助頁上。endprint
在服務(wù)器端IIS管理器上發(fā)布Web服務(wù),Web服務(wù)即可對使用者開放。開發(fā)人員要使用Web服務(wù),應(yīng)該先創(chuàng)建一個(gè)客戶端應(yīng)用程序來查找Web服務(wù),發(fā)現(xiàn)哪些方法可用,還要?jiǎng)?chuàng)建客戶端代理,并將代理合并到客戶端中,這樣客戶端就可以像使用本地調(diào)用一樣使用Web服務(wù)。
1.2 Web Services接口設(shè)計(jì)
在北海氣象現(xiàn)代化服務(wù)平臺系統(tǒng)服務(wù)器上創(chuàng)建并發(fā)布Web服務(wù),提供氣象觸摸屏服務(wù)平臺數(shù)據(jù)接口,該接口可以對氣象現(xiàn)代化服務(wù)平臺的數(shù)據(jù)庫和文件進(jìn)行訪問,實(shí)現(xiàn)相關(guān)的功能。氣象觸摸屏服務(wù)平臺可通過調(diào)用該接口獲取信息。氣象觸摸屏服務(wù)平臺接口服務(wù)示意圖如圖1所示:
根據(jù)氣象觸摸屏服務(wù)平臺功能設(shè)計(jì),在Web Services接口設(shè)計(jì)中自定義了30個(gè)方法,方法名稱及功能說明如表1所示。
2 氣象觸摸屏服務(wù)平臺接口的實(shí)現(xiàn)
根據(jù)氣象觸摸屏服務(wù)平臺Web Services接口設(shè)計(jì),可在ASP.NET中創(chuàng)建Web服務(wù)。接口開發(fā)采用Visual Studio 2010,服務(wù)器端的數(shù)據(jù)庫系統(tǒng)是SQL SERVER 2014。
2.1 創(chuàng)建Web服務(wù)
1) 打開Visual Studio 2010開發(fā)環(huán)境,新建ASP.NET空網(wǎng)站,選中網(wǎng)站項(xiàng)目,單擊右鍵,在彈出的快捷菜單中選擇“添加新項(xiàng)”,彈出“添加新項(xiàng)”對話框,在該對話框中選擇“Web服務(wù)”,單擊“添加”按鈕,將顯示W(wǎng)eb服務(wù)的代碼隱藏文件。
2) 在該文件中添加自定義的“IsWarningExist ”、“getTemp”、 “getWarnfile”等30個(gè)方法。其中,方法“getTemp”用于從服務(wù)器端數(shù)據(jù)庫“qx”的數(shù)據(jù)表“MsgMediumSmallScaleTemp”中獲取指定站點(diǎn)的最新實(shí)況信息,包括溫度、雨量、濕度、風(fēng)速、能見度等。方法“getTemp”關(guān)鍵代碼如下:
3) 打開項(xiàng)目的web.config文件,添加appSettings配置節(jié),添加鍵“qx”并設(shè)置鍵值。此外,根據(jù)實(shí)際情況對web.config文件進(jìn)行相關(guān)的設(shè)置。
4) 在生成菜單中選擇“生成網(wǎng)站”命令,生成Web服務(wù)。
2.2 測試Web服務(wù)
按以上步驟生成的Web服務(wù)包含“IsWarningExist” 、“getTemp”、 “getWarnfile” 等30個(gè)方法,其中“getTemp”方法的測試頁面如圖2所示:
在測試頁中輸入要查詢的站點(diǎn)名稱,單擊“調(diào)用”按鈕即可調(diào)用Web服務(wù)的相應(yīng)方法并顯示方法的返回結(jié)果,如圖3所示。
3 氣象觸摸屏服務(wù)平臺接口的應(yīng)用
在北海氣象現(xiàn)代化服務(wù)平臺系統(tǒng)服務(wù)器IIS管理器上發(fā)布該Web服務(wù),即可為氣象觸摸屏服務(wù)平臺提供數(shù)據(jù)支撐。通過業(yè)務(wù)應(yīng)用證實(shí),該平臺接口運(yùn)行穩(wěn)定、性能好。
4 結(jié)束語
Web Services可實(shí)現(xiàn)對不同業(yè)務(wù)系統(tǒng)之間的數(shù)據(jù)進(jìn)行交換與共享,具有良好的封裝性,有效提高了系統(tǒng)的擴(kuò)展性和模塊化程度,提高了開發(fā)效率,成為分布式異構(gòu)系統(tǒng)集成的極佳手段。氣象觸摸屏服務(wù)平臺接口的設(shè)計(jì)對公共氣象手機(jī)服務(wù)平臺Web服務(wù)的建設(shè)具有示范和參考價(jià)值。
參考文獻(xiàn):
[1] 魯玲, 盧紹宗. 應(yīng)用MUSIC開發(fā)北海區(qū)域自動(dòng)氣象站采集系統(tǒng)[J].安徽農(nóng)業(yè)科學(xué), 2016, 44(32):179-183.
[2] 劉光, 唐大仕. Web GIS開發(fā)—ArcGIS Server與.NET[M].北京: 清華大學(xué)出版社, 2009: 4-5, 11.
[3] 明日科技. ASP.NET從入門到精通[M]. 北京: 清華大學(xué)出版社, 2012: 361-367.
[4] 陳海輪. 基于Web Service的政府信息公開系統(tǒng)接口設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識與技術(shù), 2015, 11(13):270-271, 274.
[5] 張軍. 基于Web Services的數(shù)據(jù)交換平臺的設(shè)計(jì)與實(shí)現(xiàn)[J]. 軟件工程, 2017, 20(3):26-28.endprint