王新秀,崔勁松,于璐,姜珊,楊黎黎
(沈陽市氣象局,遼寧沈陽 110168)
近年來氣象事業(yè)發(fā)展迅速,各行業(yè)對氣象服務的需求不斷增長,對氣象產(chǎn)品的要求也越來越高[1]。各級氣象部門在制作氣象業(yè)務系統(tǒng)方面不斷開拓創(chuàng)新,但這些系統(tǒng)存在分散獨立、不聯(lián)通、資源不共享等問題,因此亟需建立資源集約、布局合理的一體化平臺[2]。李昱文等[3]研究的佛山市南海區(qū)智慧氣象平臺的架構(gòu)和關鍵技術,推進了氣象服務與互聯(lián)網(wǎng)融合;黃芬根等[4]公共氣象服務集約化業(yè)務研究與平臺設計建立了基于互聯(lián)網(wǎng)應用的基礎性技術支撐平臺;崔新強等[5]開發(fā)的湖北省級氣象服務一體化業(yè)務平臺極大地提高了氣象服務系統(tǒng)的自動化和集約化程度。當前,已有科研工作者針對基于面向服務架構(gòu)(Service-Oriented Architecture,SOA)的系統(tǒng)進行研究,杜敏[6]研究的基于SOA的省級氣象綜合業(yè)務服務平臺的設計與實現(xiàn)可以整合全省的氣象資源,并利用其自身強大的統(tǒng)計與流程控制能力;李麗等[7]針對韶關市旅游氣象信息服務平臺的建設與應用的研究為旅游氣象服務業(yè)務的開展提供統(tǒng)一架構(gòu)的基礎業(yè)務支撐系統(tǒng)取得了良好的效果。
本研究面向市縣級氣象業(yè)務的應用需求,設計搭建了一個氣象業(yè)務綜合服務平臺,方便業(yè)務人員應用。目前該平臺已投入業(yè)務使用,為業(yè)務人員快速、準確地提供了服務產(chǎn)品,取得了較好的應用效果。
氣象業(yè)務綜合服務平臺開發(fā)基于Java語言,數(shù)據(jù)庫使用Oracle 12C,數(shù)據(jù)源涉及基礎數(shù)據(jù)平臺、氣象數(shù)據(jù)前置平臺和氣象大數(shù)據(jù)云平臺;數(shù)據(jù)層進行融合、統(tǒng)一數(shù)據(jù)為上層應用提供服務;應用層使用Web Service接口與數(shù)據(jù)層安全交互,顯示層為B/S架構(gòu)網(wǎng)站平臺。平臺架構(gòu)設計圖如圖1所示。
圖1 平臺架構(gòu)設計示意圖
1)操作系統(tǒng)使用Windows Server具有可靠性、可用性、可伸縮性和安全性,這使其成為高度可靠的平臺。
2)數(shù)據(jù)層整合沈陽市氣象局現(xiàn)有的數(shù)據(jù),融合氣象大數(shù)據(jù)為一體,為氣象業(yè)務綜合服務平臺提供豐富的數(shù)據(jù)資源。
3)應用層使用Web Service接口與數(shù)據(jù)層的數(shù)據(jù)資源進行安全交互,是顯示層和數(shù)據(jù)資源層的中間橋梁。
4)顯示層是基于B/S架構(gòu)的Web網(wǎng)站。主要包括了預報平臺、數(shù)據(jù)查詢、災害預警、決策服務、專業(yè)服務、科技服務、氣候資料等模塊。
系統(tǒng)主要使用Java編程語言,開發(fā)工具使用了JDeveloper 12c和Tomcat 8.0。系統(tǒng)功能示意圖如圖2所示,其承載系統(tǒng)應用的環(huán)境包括:
圖2 系統(tǒng)功能示意圖
1)Oracle數(shù)據(jù)庫[8]:數(shù)據(jù)對象和支撐系統(tǒng)頁面。
2)Java運行時環(huán)境:原生Java程序,由系統(tǒng)計劃任務控制按時執(zhí)行。
3)TomCat服務:Web Service接口、js文件接口、頁面運行。
SOA提供了一種標準的編程模型,可以將系統(tǒng)平臺中的不同功能模塊稱為服務,并通過對這些服務之間定義好的接口而將其聯(lián)系起來[9]。接口采用中立方式定義,獨立于實現(xiàn)服務的硬件平臺、操作系統(tǒng)和編程語言,使得構(gòu)建在不同系統(tǒng)中的服務可以以一種統(tǒng)一和通用的方式進行交互[10]。這種具有中立的接口定義的特征稱為服務之間的松耦合。松耦合系統(tǒng)的好處有兩點:一是它的靈活性,能夠?qū)I(yè)務和信息變化做出快速反應;另一點是當每個服務的內(nèi)部結(jié)構(gòu)和實現(xiàn)發(fā)生改變時,它能夠繼續(xù)存在[11]。在SOA模型中所有的功能都定義成了獨立的服務。服務之間通過交互和協(xié)調(diào)完成業(yè)務的整體邏輯。所有的服務通過服務總線或流程管理器來連接。這種松散耦合的架構(gòu)使得各服務在交互過程中無需考慮雙方的內(nèi)部實現(xiàn)細節(jié),以及部署在什么平臺上。
氣象業(yè)務綜合服務平臺使用SOA技術實現(xiàn)了預報平臺、數(shù)據(jù)查詢、災害預警、決策服務、專業(yè)服務、科技服務、氣候資料等模塊獨立運行,統(tǒng)一集成在一個平臺,便于使用與管理。
系統(tǒng)設計使用Web Service接口完成氣象業(yè)務綜合服務平臺與數(shù)據(jù)資源池相互交換數(shù)據(jù)的工作。Web Service技術是一個基于面向服務架構(gòu)的、低耦合的、不依賴于平臺的、自包含可編程的Web應用程序,它使用XML標準來描述、發(fā)布和配置應用[12]。依據(jù)Web Service規(guī)范實施的應用之間,無論它們所使用的語言、平臺或內(nèi)部協(xié)議是什么,都可以相互交換數(shù)據(jù)。Web Service減少了應用接口的花費。Web Service為整個企業(yè)甚至多個組織之間的業(yè)務流程的集成提供了一個通用機制[13]。
該平臺數(shù)據(jù)源從氣象大數(shù)據(jù)云平臺通過Web Service技術讀取到本地數(shù)據(jù)庫,配置好Web Service目錄結(jié)構(gòu)和class文件后,需要注冊才能正常使用,注冊是在TomCat中的web.xml配置文件如圖3所示。將本地數(shù)據(jù)庫的數(shù)據(jù)加工成JSON編碼格式的.js文件服務配置可直接發(fā)布.js擴展名的文本文件,要求文件內(nèi)使用JSON格式、數(shù)組格式和js編碼,這樣設置使用起來非常便利,網(wǎng)頁可以直接使用,并且以靜態(tài)文本發(fā)布數(shù)據(jù)安全,系統(tǒng)相應速度快不存在安全隱患。
圖3 注冊Web Service的XML代碼塊
目前氣象業(yè)務綜合服務平臺搭建的網(wǎng)站已投入使用,網(wǎng)站首頁欄目如圖4所示,分為兩部分:預報一頁通和導航菜單。預報一頁通將常用的業(yè)務系統(tǒng)網(wǎng)絡鏈接地址按需分類,將目前涉及到的系統(tǒng)按內(nèi)網(wǎng)常用地址、外網(wǎng)常用地址、縣區(qū)使用網(wǎng)站分類是一種方式,另一種方式按實況監(jiān)測、衛(wèi)星雷達、數(shù)值預報、指導產(chǎn)品、其他進行分類,可以使預報員快捷方便地訪問所需的業(yè)務系統(tǒng)。導航菜單包含預報平臺、數(shù)據(jù)查詢、災害預警、決策服務、專業(yè)服務、科技服務、氣候資料共7大模塊。7大模塊下包含了相關的子欄目,細化其分類內(nèi)容便于業(yè)務人員查找與操作,也方便了平臺維護人員對出現(xiàn)故障的模塊快速及時的進行處理。該平臺目前基本涵蓋了業(yè)務人員的所有業(yè)務相關工作。導航菜單的功能可以隨著業(yè)務拓展繼續(xù)增加模塊也可以在相關模塊下增加子欄目,模塊和子欄目的增加不會影響網(wǎng)站整體架構(gòu)的應用。
圖4 網(wǎng)站首頁
數(shù)據(jù)查詢模塊羅列了日常數(shù)據(jù)查詢的子欄目便于業(yè)務人員直達想要查詢的數(shù)據(jù)。數(shù)據(jù)查詢子欄目主要包括氣象自動觀測站的分鐘數(shù)據(jù)、小時數(shù)據(jù)、日數(shù)據(jù)、旬數(shù)據(jù)、月數(shù)據(jù)以及降水情況、大風情況的服務產(chǎn)品。業(yè)務人員所要查詢的實況數(shù)據(jù)以及降水或大風天氣需要制作的服務產(chǎn)品可以在此模塊獲取。數(shù)據(jù)查詢模塊數(shù)據(jù)來源于CIMISS接口,為了提升訪問速度只提供了近3個月的數(shù)據(jù)查詢。
災害預警模塊分為預警監(jiān)測、預警信號統(tǒng)計以及預警信息查詢。出現(xiàn)預警時會實時發(fā)出告警通知預警人員及時核對預警信息并發(fā)布預警,預警信號統(tǒng)計頁面可以幫助預警人員按預警信號顏色種類和災害類別統(tǒng)計發(fā)布的預警信息條數(shù)。
預報平臺為預報員提供了預報編輯器可以編輯沈陽市各個區(qū)縣的天氣情況,頁面包括天氣現(xiàn)象列表、風向列表、風速列表,便于預報員直接選取無需手動輸入,頁面增加聯(lián)動功能按鈕可以將各列要素同時觸發(fā)改變,減少了很多重復操作。最終將編輯好的7天預報產(chǎn)品保存至數(shù)據(jù)庫。
決策服務[14]、專業(yè)服務、科技服務3個模塊雖然都是提供服務產(chǎn)品,但是產(chǎn)品制作及產(chǎn)品服務對象均不相同,因此針對相關服務內(nèi)容進行了詳細分類,便于業(yè)務人員查找及制作。決策服務提供了雨情、風情、雪情等模板的制作材料,主要用于發(fā)生災害性天氣時為氣象各個部門、政府部門提供決策服務材料。專業(yè)服務主要是對公眾用戶申請的氣象災害證明材料進行審核處理。科技服務模塊主要是為科研人員及政府部門提供所需的數(shù)據(jù)接口。
氣候資料來源于經(jīng)過人工訂正的A文件,能夠查詢1951年以來的歷史數(shù)據(jù)。該模塊可以按年、月、旬、候值查詢氣象自動觀測站的要素值。年度數(shù)據(jù)查詢,可查詢某年或多年氣象自動觀測站任意時段內(nèi)各氣象要素的年值;查詢指定值的歷史排位及大于(等于或小于)指定值的年值。月、旬、候值查詢,可查詢某月(旬、候)或多月(旬、候)氣象自動觀測站任意時段內(nèi)各氣象要素的月(旬、候)值;查詢指定值的歷史排位及大于(等于或小于)指定值的月(旬、候)值。
氣象業(yè)務綜合服務平臺的建成為沈陽市氣象局業(yè)務工作的開展提供了強有力的保障。目前該平臺已經(jīng)被沈陽市氣象局的各個業(yè)務部門使用。例如氣象臺預報員通過預報平臺模塊進行預報制作;信息中心值班員通過數(shù)據(jù)查詢模塊進行數(shù)據(jù)統(tǒng)計,在降水、大風等極端天氣過程進行實施監(jiān)測[15];氣象服務中心通過決策、專業(yè)、科技服務模塊進行服務材料的制作。經(jīng)過一段時間的試用發(fā)現(xiàn)氣象業(yè)務綜合服務平臺具有完善的服務功能、較強的可操作性,實現(xiàn)了氣象業(yè)務工作及時性、準確性、統(tǒng)一性和穩(wěn)定性的目標。該平臺集約化的模式結(jié)構(gòu)適用于各個氣象業(yè)務部門,運行穩(wěn)定具有良好的推廣性。但目前來看該平臺仍存在一些問題,尤其是氣象災害預警的監(jiān)測需要更加準確快速的作出提醒,預警發(fā)送給用戶后反饋發(fā)送是否成功等功能仍需進一步開發(fā)及完善。