■ 謝豐 丁鋒 任兆鵬 楊蕾 楊凡
1.青島市氣象災(zāi)害防御工程技術(shù)研究中心 青島 266003
2.青島市氣象局 青島 266003
隨著“海洋強(qiáng)國(guó)”戰(zhàn)略建設(shè)目標(biāo)的推進(jìn),我國(guó)海洋經(jīng)濟(jì)活力愈加凸顯。海洋交通運(yùn)輸業(yè)的飛速發(fā)展,使得海洋船舶通航流量巨增,海上船只航行及避讓難度也隨之增加。在大霧、大風(fēng)、暴雨及臺(tái)風(fēng)等惡劣氣象條件影響下,海洋船舶交通安全事故更是時(shí)有發(fā)生,海洋氣象災(zāi)害已成為影響海上交通安全的主要因素[1]。如何高效地開(kāi)發(fā)應(yīng)用氣象數(shù)據(jù)資源,減少海洋交通氣象災(zāi)害,已成為政府、氣象業(yè)務(wù)科研機(jī)構(gòu)、社會(huì)公眾較為關(guān)心的問(wèn)題。隨著國(guó)家對(duì)海洋氣象的高度重視,我國(guó)在海洋氣象服務(wù)方面也展開(kāi)了積極探索。劉歡[2]提出的海洋氣象服務(wù)思考,系統(tǒng)闡述了海洋氣象服務(wù)發(fā)展現(xiàn)狀及發(fā)展方向。張?jiān)龊5萚3]對(duì)船舶海洋氣象導(dǎo)航業(yè)務(wù)概況和發(fā)展現(xiàn)狀進(jìn)行分析,強(qiáng)調(diào)了氣象條件對(duì)船舶航行安全的重要意義。謝琛等[4]設(shè)計(jì)的海洋氣象預(yù)報(bào)預(yù)警系統(tǒng)建設(shè)方案,對(duì)海洋氣象綜合監(jiān)測(cè)及預(yù)報(bào)預(yù)警進(jìn)行了探討。
隨著海洋氣象保障服務(wù)工作的深入,綜合性海洋氣象服務(wù)系統(tǒng)已不能滿足不同涉海行業(yè)部門實(shí)際業(yè)務(wù)需求。開(kāi)展定制化海洋氣象服務(wù),對(duì)系統(tǒng)及產(chǎn)品進(jìn)行靶向研發(fā)和展示,是確保用戶高效瀏覽、查詢、分析研判氣象服務(wù)內(nèi)容,提升專業(yè)海洋氣象服務(wù)效能的氣象服務(wù)方向。本研究基于面向服務(wù)架構(gòu)(service oriented architecture,SOA)對(duì)近海船舶交通氣象服務(wù)系統(tǒng)進(jìn)行設(shè)計(jì),將系統(tǒng)功能模塊以組件服務(wù)模式進(jìn)行分解,在簡(jiǎn)化重復(fù)開(kāi)發(fā),保證系統(tǒng)靈活性及擴(kuò)展性基礎(chǔ)上,對(duì)多源異構(gòu)業(yè)務(wù)數(shù)據(jù)進(jìn)行融合,實(shí)現(xiàn)了多源數(shù)據(jù)實(shí)時(shí)顯示、預(yù)報(bào)預(yù)警制作發(fā)布、近海災(zāi)害性天氣備案及系統(tǒng)后臺(tái)管理等功能,為近海船只通航及船舶引航安全作業(yè)提供了海洋氣象服務(wù)保障。
計(jì)算機(jī)技術(shù)不斷發(fā)展帶來(lái)系統(tǒng)應(yīng)用架構(gòu)的不斷演進(jìn)。業(yè)務(wù)訪問(wèn)量很小時(shí),將所有功能部署在一個(gè)應(yīng)用的單一應(yīng)用架構(gòu)(ORM)得到發(fā)展。隨著訪問(wèn)量逐漸增大,加速前端頁(yè)面開(kāi)發(fā)的垂直應(yīng)用架構(gòu)(MVC)是系統(tǒng)開(kāi)發(fā)的關(guān)鍵。隨著垂直應(yīng)用之間交互的增加,抽取核心業(yè)務(wù)以提高業(yè)務(wù)復(fù)用及整合的分布式服務(wù)框架(RPC)占據(jù)了系統(tǒng)應(yīng)用架構(gòu)的主導(dǎo)地位。隨著系統(tǒng)服務(wù)需求增加,提高資源調(diào)度能力和組件利用率的面向服務(wù)架構(gòu)(SOA)應(yīng)運(yùn)而生。
面向服務(wù)架構(gòu)(SOA)作為一種系統(tǒng)架構(gòu),從軟件角度定義可以看做是一種組件模型。將業(yè)務(wù)應(yīng)用程序劃分為不同功能單元(服務(wù)),通過(guò)服務(wù)間定義良好的,獨(dú)立于硬件、操作系統(tǒng)和編程語(yǔ)言的接口和契約進(jìn)行聯(lián)系。并通過(guò)接口使得構(gòu)建在多個(gè)異構(gòu)系統(tǒng)中的服務(wù)以一種統(tǒng)一和通用的方式進(jìn)行交互,構(gòu)成不同業(yè)務(wù)組件,以實(shí)現(xiàn)不同業(yè)務(wù)功能。采用組件模型進(jìn)行系統(tǒng)資源整合,從數(shù)據(jù)方面可以實(shí)現(xiàn)各類數(shù)據(jù)的統(tǒng)一管理與服務(wù),從業(yè)務(wù)功能方面可以實(shí)現(xiàn)業(yè)務(wù)功能分解,降低系統(tǒng)耦合程度。
面向服務(wù)架構(gòu)(SOA)在面向?qū)ο蠡A(chǔ)上增加了虛擬服務(wù)層,是對(duì)面向?qū)ο蟮囊环N改良,其分層原理為系統(tǒng)提供了很好的容錯(cuò)、維護(hù)和擴(kuò)展機(jī)制。與其他系統(tǒng)架構(gòu)相比,具有遵循業(yè)務(wù)邏輯更加快速高效響應(yīng)業(yè)務(wù)變化需求的優(yōu)點(diǎn)。其服務(wù)自治、位置透明、協(xié)議無(wú)關(guān)和松散耦合的原則和特性能夠更好地實(shí)現(xiàn)數(shù)據(jù)資源共享,打破“信息孤島”提升系統(tǒng)靈活性及擴(kuò)展性,已廣泛應(yīng)用于具有多源異構(gòu)數(shù)據(jù)資源及業(yè)務(wù)需求靈活多變的各個(gè)行業(yè)[5][6][7][8][9]。
近海海域較遠(yuǎn)洋航線更為密集,船舶航行避讓及引航難度更大。結(jié)合高影響天氣因素,近海船舶交通氣象服務(wù)系統(tǒng)需滿足以下3點(diǎn):(1)整合已有業(yè)務(wù)系統(tǒng)部分功能,以標(biāo)準(zhǔn)化服務(wù)形式對(duì)現(xiàn)有業(yè)務(wù)邏輯實(shí)現(xiàn)封裝,充分利用歷史應(yīng)用,并基于業(yè)務(wù)需求以標(biāo)準(zhǔn)化服務(wù)形式進(jìn)行新功能模塊開(kāi)發(fā)構(gòu)建;(2)集成氣象業(yè)務(wù)數(shù)據(jù)、船舶交通數(shù)據(jù)、矢量地圖數(shù)據(jù)等多源異構(gòu)數(shù)據(jù)作為系統(tǒng)基礎(chǔ)數(shù)據(jù)支撐;(3)滿足近海船舶交通氣象服務(wù)靈活性及擴(kuò)展性變化需求,對(duì)業(yè)務(wù)變更進(jìn)行快速、高效的響應(yīng)和實(shí)現(xiàn)。
與傳統(tǒng)系統(tǒng)應(yīng)用架構(gòu)對(duì)比,面向服務(wù)架構(gòu)具有系統(tǒng)集成、系統(tǒng)服務(wù)化及業(yè)務(wù)服務(wù)化特點(diǎn)。(1)系統(tǒng)集成方面,面向服務(wù)架構(gòu)能夠站在系統(tǒng)角度,解決業(yè)務(wù)系統(tǒng)間的通信問(wèn)題。把散亂無(wú)規(guī)劃的系統(tǒng)間網(wǎng)狀結(jié)構(gòu),梳理成規(guī)整可治理的系統(tǒng)間星型結(jié)構(gòu)。(2)系統(tǒng)服務(wù)化方面,面向服務(wù)架構(gòu)能夠站在功能角度,把業(yè)務(wù)邏輯抽象成可復(fù)用組裝的服務(wù)。通過(guò)服務(wù)編排實(shí)現(xiàn)業(yè)務(wù)快速再生。(3)業(yè)務(wù)服務(wù)化方面,面向服務(wù)架構(gòu)能夠站在服務(wù)角度,把業(yè)務(wù)服務(wù)抽象成可復(fù)用組裝的模塊,把職能化架構(gòu)轉(zhuǎn)變?yōu)榉?wù)化架構(gòu),進(jìn)一步提升業(yè)務(wù)服務(wù)能力。
選用面向服務(wù)架構(gòu)對(duì)近海船舶交通氣象服務(wù)系統(tǒng)進(jìn)行設(shè)計(jì),其系統(tǒng)集成及系統(tǒng)服務(wù)化可以從技術(shù)層面解決近海船舶交通氣象服務(wù)系統(tǒng)功能復(fù)用的問(wèn)題,其業(yè)務(wù)服務(wù)化則能夠通過(guò)業(yè)務(wù)驅(qū)動(dòng)將單一業(yè)務(wù)封裝為服務(wù),提升系統(tǒng)整體業(yè)務(wù)效能。
系統(tǒng)整體采用SOA架構(gòu)進(jìn)行設(shè)計(jì),以組件服務(wù)模式對(duì)系統(tǒng)進(jìn)行功能模塊開(kāi)發(fā)。針對(duì)不同業(yè)務(wù)功能進(jìn)行應(yīng)用服務(wù)分解,通過(guò)SOA 企業(yè)服務(wù)總線( Enterprise ServiceBus,ESB)和標(biāo)準(zhǔn)化Web 服務(wù)接口對(duì)各類應(yīng)用服務(wù)進(jìn)行調(diào)用集成,實(shí)現(xiàn)系統(tǒng)業(yè)務(wù)功能[10][11][12][13][14]。系統(tǒng)從邏輯上劃分為5 層,分別為業(yè)務(wù)數(shù)據(jù)層、服務(wù)組件層、應(yīng)用服務(wù)層、功能應(yīng)用層以及用戶界面層,如圖1所示。
圖1 近海船舶交通氣象服務(wù)系統(tǒng)邏輯架構(gòu)圖
3.1.1 業(yè)務(wù)數(shù)據(jù)層
業(yè)務(wù)數(shù)據(jù)層主要為數(shù)據(jù)存儲(chǔ)及數(shù)據(jù)集成。建立近海船舶交通氣象數(shù)據(jù)集成模型,對(duì)各多源異構(gòu)業(yè)務(wù)系統(tǒng)數(shù)據(jù)經(jīng)過(guò)ETL(抽取、轉(zhuǎn)換、加載)進(jìn)行存儲(chǔ),以統(tǒng)一接口對(duì)外提供數(shù)據(jù)訪問(wèn)。包含數(shù)據(jù)主要有氣象業(yè)務(wù)數(shù)據(jù)、涉海部門業(yè)務(wù)數(shù)據(jù)、AIS 數(shù)據(jù)、基礎(chǔ)地理數(shù)據(jù)、地圖數(shù)據(jù)以及用戶信息數(shù)據(jù)。
3.1.2 服務(wù)組件層
服務(wù)組件層由數(shù)據(jù)管理、數(shù)據(jù)訪問(wèn)、數(shù)據(jù)服務(wù)、地圖服務(wù)、GIS 服務(wù)、氣象業(yè)務(wù)服務(wù)、系統(tǒng)管理以及安全認(rèn)證等業(yè)務(wù)組件作為系統(tǒng)服務(wù)功能支撐。
3.1.3 應(yīng)用服務(wù)層
應(yīng)用服務(wù)層作為整個(gè)系統(tǒng)架構(gòu)的核心,將整體業(yè)務(wù)流程中可獨(dú)立、可重復(fù)調(diào)用的業(yè)務(wù)功能,以服務(wù)形式通過(guò)Web Service標(biāo)準(zhǔn)接口進(jìn)行發(fā)布。并按照ESB(服務(wù)總線)模式,進(jìn)行業(yè)務(wù)流程編排、服務(wù)注冊(cè)、服務(wù)查找、服務(wù)解析、服務(wù)調(diào)用以及數(shù)據(jù)綜合組織,確保功能應(yīng)用層能夠快速查找所需服務(wù),同時(shí)提供數(shù)據(jù)安全保障機(jī)制。服務(wù)層包含數(shù)據(jù)獲取、數(shù)據(jù)配置、數(shù)據(jù)管理、地圖制作加載、安全管理及用戶管理等服務(wù)模塊。
3.1.4 功能應(yīng)用層
功能應(yīng)用層根據(jù)系統(tǒng)服務(wù)需求提供業(yè)務(wù)功能支持。主要包括實(shí)況監(jiān)測(cè)、預(yù)報(bào)預(yù)警、災(zāi)害性天氣歷史備案及系統(tǒng)管理功能。
3.1.5 用戶界面層
用戶界面層設(shè)計(jì)門戶服務(wù)頁(yè)面。通過(guò)用戶登錄身份認(rèn)證,面向氣象及涉海部門業(yè)務(wù)人員和系統(tǒng)管理人員提供業(yè)務(wù)及管理服務(wù)功能。
從用戶界面層到數(shù)據(jù)層系統(tǒng)業(yè)務(wù)數(shù)據(jù)流如圖2 所示??蛻舳私邮沼脩粽?qǐng)求,通過(guò)SOA Web Service Core解析客戶端傳來(lái)的XML 并將其序列化成對(duì)象,反射客戶端傳來(lái)的類名、方法名和參數(shù)。再按照ORM(對(duì)象關(guān)系映射)調(diào)用Controller 中的方法,再通過(guò)DAL(Data Access Layer數(shù)據(jù)訪問(wèn)層)中統(tǒng)一數(shù)據(jù)接口對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行訪問(wèn)。
圖2 近海船舶交通氣象服務(wù)系統(tǒng)業(yè)務(wù)數(shù)據(jù)流
根據(jù)業(yè)務(wù)需求及系統(tǒng)架構(gòu),對(duì)近海船舶交通氣象服務(wù)系統(tǒng)功能進(jìn)行設(shè)計(jì)。不同業(yè)務(wù)功能通過(guò)對(duì)不同服務(wù)組件的調(diào)用及數(shù)據(jù)綜合組織進(jìn)行實(shí)現(xiàn)。系統(tǒng)整體從功能應(yīng)用上劃分為實(shí)況監(jiān)測(cè)、預(yù)報(bào)預(yù)警、近海災(zāi)害性天氣歷史備案、系統(tǒng)管理等四個(gè)核心功能模塊[10][11][12][13][14]。具體功能結(jié)構(gòu)見(jiàn)圖3。
圖3 近海船舶交通氣象服務(wù)系統(tǒng)功能結(jié)構(gòu)圖
(1)實(shí)況監(jiān)測(cè)模塊:對(duì)自動(dòng)站、浮標(biāo)站、衛(wèi)星、雷達(dá)等氣象實(shí)況數(shù)據(jù)和AIS、航道、錨地及港口等涉海部門共享數(shù)據(jù)進(jìn)行實(shí)時(shí)顯示,同時(shí)開(kāi)發(fā)氣象實(shí)況閾值告警功能。
(2)預(yù)報(bào)預(yù)警模塊:集成原氣象業(yè)務(wù)系統(tǒng)預(yù)報(bào)預(yù)警產(chǎn)品加工制作功能,開(kāi)發(fā)預(yù)報(bào)預(yù)警模板,提供近海天氣形勢(shì)以常規(guī)預(yù)報(bào)、專業(yè)預(yù)報(bào)。并結(jié)合近海交通氣象服務(wù)需求提供相關(guān)專業(yè)服務(wù),同時(shí)針對(duì)近海交通高影響天氣設(shè)計(jì)實(shí)時(shí)預(yù)警及一鍵定向發(fā)布。
(3)近海災(zāi)害性天氣歷史備案模塊:根據(jù)涉海部門業(yè)務(wù)需求,結(jié)合不同類別天氣要素對(duì)近海船舶通航情況影響,設(shè)置災(zāi)害性天氣及通航信息數(shù)據(jù)備案。按照災(zāi)害性天氣要素、時(shí)間、級(jí)別、及通航情況對(duì)災(zāi)害性天氣和通航信息進(jìn)行添加計(jì)檢索。
(4)系統(tǒng)管理模塊:根據(jù)業(yè)務(wù)需求變化對(duì)氣象觀測(cè)站點(diǎn)、告警閾值、用戶組、用戶及用戶權(quán)限進(jìn)行系統(tǒng)管理。
在近海船舶交通氣象服務(wù)系統(tǒng)中,所涉及業(yè)務(wù)數(shù)據(jù)主要包括常規(guī)氣象觀測(cè)資料、二進(jìn)制氣象資料、數(shù)值預(yù)報(bào)模式產(chǎn)品、風(fēng)云衛(wèi)星資料產(chǎn)品、雷達(dá)產(chǎn)品等氣象數(shù)據(jù),還包括涉海部門業(yè)務(wù)數(shù)據(jù)如航道信息、AIS船舶信息,同時(shí)還涉及行政區(qū)面、海域面、氣象站點(diǎn)、港口、航線、錨地等地理空間位置信息數(shù)據(jù)。通過(guò)分析歸納,整個(gè)系統(tǒng)數(shù)據(jù)源的異構(gòu)性主要體現(xiàn)在四個(gè)方面:
(1)系統(tǒng)異構(gòu)。由數(shù)據(jù)源所依賴業(yè)務(wù)系統(tǒng)及數(shù)據(jù)庫(kù)管理系統(tǒng)之間的不同造成。近海船舶交通氣象服務(wù)系統(tǒng)的數(shù)據(jù)源涉及到實(shí)時(shí)氣象業(yè)務(wù)數(shù)據(jù)庫(kù)、本地業(yè)務(wù)數(shù)據(jù)庫(kù)、船舶信息數(shù)據(jù)庫(kù)、空間地理信息數(shù)據(jù)庫(kù)等。
作業(yè)前的安全確認(rèn)具有至關(guān)重要的作用,是安全生產(chǎn)的最后一道防線。能夠在作業(yè)前進(jìn)行安全確認(rèn),這是一個(gè)企業(yè)安全文化普及的效果,體現(xiàn)著企業(yè)員工安全意識(shí)的高低以及企業(yè)安全規(guī)則的執(zhí)行情況等。安全確認(rèn)主要的內(nèi)容是確認(rèn)運(yùn)維范圍以及內(nèi)容是否清晰、對(duì)現(xiàn)場(chǎng)的危險(xiǎn)因素是否全面掌握、對(duì)危險(xiǎn)源的防范是否做到位、作業(yè)現(xiàn)場(chǎng)的設(shè)備和工具是否安全,工作人員的操作是否規(guī)范等。作業(yè)者一定要養(yǎng)成安全確認(rèn)的習(xí)慣,這是防范事故的有效措施。
(2)來(lái)源異構(gòu)。由數(shù)據(jù)源內(nèi)外部差異造成。
(3)結(jié)構(gòu)與存儲(chǔ)的異構(gòu)。從數(shù)據(jù)類型的角度來(lái)看,數(shù)據(jù)源包括結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)。結(jié)構(gòu)化數(shù)據(jù)采用關(guān)系型數(shù)據(jù)庫(kù)進(jìn)行存儲(chǔ),對(duì)非結(jié)構(gòu)化數(shù)據(jù)采用建立元數(shù)據(jù)存儲(chǔ)于關(guān)系型數(shù)據(jù)庫(kù),具體數(shù)據(jù)以外部掛接文件方式進(jìn)行存儲(chǔ)。
(4)接口異構(gòu)。由數(shù)據(jù)源在檢索接口上的不同造成。如實(shí)時(shí)氣象業(yè)務(wù)數(shù)據(jù)庫(kù)需要采用統(tǒng)一定制的檢索服務(wù)接口,本地業(yè)務(wù)數(shù)據(jù)庫(kù)則可以通過(guò)JDBC 等接口直接進(jìn)行數(shù)據(jù)表的SQL檢索。
數(shù)據(jù)集成是將多來(lái)源異構(gòu)數(shù)據(jù)進(jìn)行整合,按照業(yè)務(wù)需求通過(guò)一定方式將數(shù)據(jù)組織起來(lái),為業(yè)務(wù)提供統(tǒng)一的數(shù)據(jù)訪問(wèn)接口,并實(shí)現(xiàn)對(duì)多來(lái)源異構(gòu)數(shù)據(jù)的集中管理。通過(guò)數(shù)據(jù)集成,可以從業(yè)務(wù)層面對(duì)數(shù)據(jù)源的多源異構(gòu)進(jìn)行屏蔽,解決分散數(shù)據(jù)源的系統(tǒng)、結(jié)構(gòu)存儲(chǔ)及接口異構(gòu)等問(wèn)題。目前主要的數(shù)據(jù)集成方式模型有3 種:聯(lián)邦數(shù)據(jù)庫(kù)模型、數(shù)據(jù)倉(cāng)庫(kù)模型、中間件模型。
聯(lián)邦數(shù)據(jù)庫(kù)屬于早期數(shù)據(jù)集成模型,對(duì)應(yīng)一組互相協(xié)作但分別自治的數(shù)據(jù)庫(kù)系統(tǒng)。其特點(diǎn)是結(jié)點(diǎn)自治和沒(méi)有全局模式,通過(guò)建立不同數(shù)據(jù)庫(kù)結(jié)點(diǎn)之間的訪問(wèn)接口,形成統(tǒng)一數(shù)據(jù)整體,節(jié)點(diǎn)間的數(shù)據(jù)共享通過(guò)雙邊協(xié)商確定。隨著數(shù)據(jù)源的增多,查詢效率會(huì)受到很大影響,因此主要適用于數(shù)據(jù)源較少的異構(gòu)數(shù)據(jù)集成。
數(shù)據(jù)倉(cāng)庫(kù)模型通過(guò)對(duì)多源異構(gòu)數(shù)據(jù)進(jìn)行數(shù)據(jù)清洗、抽取、轉(zhuǎn)換,形成相同的數(shù)據(jù)模式裝載到數(shù)據(jù)倉(cāng)庫(kù),形成數(shù)據(jù)整體以提供業(yè)務(wù)數(shù)據(jù)訪問(wèn)。但數(shù)據(jù)倉(cāng)庫(kù)只提供面向數(shù)倉(cāng)的數(shù)據(jù)查詢,實(shí)時(shí)性不強(qiáng)且不支持?jǐn)?shù)據(jù)修改,因此主要適用于對(duì)實(shí)時(shí)業(yè)務(wù)側(cè)重較少的決策支持系統(tǒng)的集成。
中間件模型通過(guò)統(tǒng)一的全局?jǐn)?shù)據(jù)模型對(duì)異構(gòu)數(shù)據(jù)源進(jìn)行訪問(wèn)。中間件向下協(xié)調(diào)各數(shù)據(jù)源系統(tǒng),向上為訪問(wèn)集成數(shù)據(jù)的應(yīng)用提供統(tǒng)一數(shù)據(jù)模式和數(shù)據(jù)訪問(wèn)接口。中間件模型數(shù)據(jù)時(shí)效性高,局部數(shù)據(jù)源加入操作靈活且自治性強(qiáng),因此主要適用于對(duì)業(yè)務(wù)實(shí)時(shí)性要求高,多源數(shù)據(jù)集成頻率高的業(yè)務(wù)系統(tǒng)的集成。
近海船舶交通氣象服務(wù)系統(tǒng)的數(shù)據(jù)集成,要在解決數(shù)據(jù)的系統(tǒng)、來(lái)源、結(jié)構(gòu)、接口異構(gòu)和數(shù)據(jù)格式統(tǒng)一問(wèn)題的基礎(chǔ)上,充分保證原數(shù)據(jù)源的獨(dú)立和自治性。同時(shí),基于氣象服務(wù)時(shí)效性需求,需重點(diǎn)考慮實(shí)時(shí)數(shù)據(jù)集成。從以上角度出發(fā),結(jié)合傳統(tǒng)數(shù)據(jù)集成方案中間件模型,提出一種針對(duì)實(shí)時(shí)數(shù)據(jù)集成更加高效的面向服務(wù)的動(dòng)態(tài)數(shù)據(jù)集成模型。
面向服務(wù)體系架構(gòu)的重點(diǎn)在于系統(tǒng)整合,將面向服務(wù)架構(gòu)軟件重用的思路應(yīng)用于構(gòu)建數(shù)據(jù)集成模型。保持業(yè)務(wù)數(shù)據(jù)分布現(xiàn)狀,通過(guò)各個(gè)數(shù)據(jù)源在數(shù)據(jù)請(qǐng)求中間件上的加工整合,按照分層數(shù)據(jù)管理機(jī)制,實(shí)現(xiàn)多源異構(gòu)數(shù)據(jù)的邏輯集成。
集成模型總體分為數(shù)據(jù)源層、虛擬數(shù)據(jù)服務(wù)層、接口層3個(gè)層次。其中虛擬數(shù)據(jù)服務(wù)層設(shè)置數(shù)據(jù)請(qǐng)求中間件,通過(guò)JDBC、FILE 適配器、應(yīng)用適配器等與數(shù)據(jù)源層各異構(gòu)數(shù)據(jù)源實(shí)現(xiàn)連接。將數(shù)據(jù)源中各數(shù)據(jù)實(shí)體映射到數(shù)據(jù)請(qǐng)求中間件的元數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)中只存儲(chǔ)元數(shù)據(jù)。訪問(wèn)業(yè)務(wù)數(shù)據(jù)時(shí),通過(guò)元數(shù)據(jù)庫(kù)中數(shù)據(jù)邏輯,將所需業(yè)務(wù)數(shù)據(jù)從各個(gè)數(shù)據(jù)源抽取到虛擬數(shù)據(jù)層,根據(jù)加工邏輯進(jìn)行加工,再以數(shù)據(jù)接口的方式發(fā)布到接口層。最后,將集成后數(shù)據(jù)通過(guò)數(shù)據(jù)接口包裝成服務(wù),注冊(cè)到服務(wù)總線,并通過(guò)服務(wù)總線為系統(tǒng)提供統(tǒng)一的數(shù)據(jù)服務(wù)[15][16][17]。動(dòng)態(tài)數(shù)據(jù)集成模型如圖4所示。
圖4 近海船舶啊交通氣象服務(wù)系統(tǒng)動(dòng)態(tài)數(shù)據(jù)集成模型圖
在系統(tǒng)架構(gòu)及功能設(shè)計(jì)基礎(chǔ)上,對(duì)氣象觀測(cè)數(shù)據(jù)、船舶交通及基礎(chǔ)地理信息等異構(gòu)環(huán)境業(yè)務(wù)數(shù)據(jù)進(jìn)行集成,通過(guò)一體化存儲(chǔ)和開(kāi)發(fā)應(yīng)用,實(shí)現(xiàn)了氣象觀測(cè)數(shù)據(jù)及雷達(dá)和衛(wèi)星影像、船舶通航實(shí)況數(shù)據(jù)的空間查詢及可視化表達(dá)。同時(shí)結(jié)合航道、錨地、港口信息進(jìn)行綜合分析,根據(jù)涉海部門用戶需求提供專業(yè)定制服務(wù)及預(yù)報(bào)預(yù)警產(chǎn)品定向發(fā)布。并對(duì)近海災(zāi)害性天氣進(jìn)行區(qū)域級(jí)、要素級(jí)匯總統(tǒng)計(jì),集合通航信息數(shù)據(jù),為近海船舶交通氣象服務(wù)分析研判提供針對(duì)性業(yè)務(wù)數(shù)據(jù)支撐。設(shè)置用戶信息、人員權(quán)限、站點(diǎn)閾值及系統(tǒng)模塊管理,確保系統(tǒng)功能隨業(yè)務(wù)變化靈活高效更新擴(kuò)展。
通過(guò)GIS 服務(wù)組件結(jié)合前端頁(yè)面彈性布局,對(duì)近海海區(qū)、船舶交通涉及海洋氣象功能區(qū),涉海部門重點(diǎn)關(guān)注區(qū)域(港口、航線、錨地等)的各類實(shí)時(shí)觀測(cè)業(yè)務(wù)數(shù)據(jù)如氣象站點(diǎn)觀測(cè)數(shù)據(jù)、浮標(biāo)站觀測(cè)數(shù)據(jù)、雷達(dá)衛(wèi)星實(shí)況數(shù)據(jù)、船舶數(shù)據(jù)等以多種形式進(jìn)行可視化呈現(xiàn)。
針對(duì)不同區(qū)域,以圖表結(jié)合方式對(duì)區(qū)域內(nèi)觀測(cè)站點(diǎn)、船舶情況進(jìn)行綜合顯示、查詢統(tǒng)計(jì)。點(diǎn)選不同關(guān)注海區(qū),選擇站點(diǎn)、船舶或同時(shí)勾選,頁(yè)面左側(cè)呈現(xiàn)海區(qū)觀測(cè)站點(diǎn)分布、船舶跡象,右側(cè)對(duì)應(yīng)呈現(xiàn)各站點(diǎn)分鐘級(jí)觀測(cè)數(shù)據(jù)及區(qū)域內(nèi)所有船只基本信息。
基于涉海部門業(yè)務(wù)規(guī)范設(shè)定不同氣象要素閾值,在實(shí)況觀測(cè)數(shù)據(jù)達(dá)到閾值時(shí)相應(yīng)站點(diǎn)位置以紅色閃爍警示圖標(biāo)及警示音進(jìn)行頁(yè)面告警。實(shí)況監(jiān)測(cè)部分功能實(shí)現(xiàn)界面如圖5所示。
圖5 近海船舶交通氣象服務(wù)系統(tǒng)實(shí)況信息顯示
對(duì)原氣象內(nèi)部業(yè)務(wù)系統(tǒng)中預(yù)報(bào)預(yù)警制作功能進(jìn)行封裝,以Web Service形式集成接入近海船舶交通氣象服務(wù)系統(tǒng)。按照近海船舶交通業(yè)務(wù)需求,進(jìn)行定制化預(yù)報(bào)預(yù)警功能開(kāi)發(fā),基于GIS 服務(wù)組件實(shí)現(xiàn)對(duì)預(yù)報(bào)預(yù)警信息的可視化呈現(xiàn)。整合短信、郵件、微信發(fā)送接口,通過(guò)消息隊(duì)列實(shí)現(xiàn)服務(wù)產(chǎn)品多用戶實(shí)時(shí)定向發(fā)布。部分預(yù)警功能實(shí)現(xiàn)界面如圖6所示。
圖6 近海船舶交通氣象服務(wù)系統(tǒng)預(yù)警顯示
結(jié)合近海交通氣象服務(wù)歷史數(shù)據(jù)分析研判及業(yè)務(wù)復(fù)盤需求,對(duì)近海災(zāi)害性天氣及通航信息進(jìn)行匯總備案。災(zāi)害性天氣添加通過(guò)預(yù)報(bào)預(yù)警制作模板實(shí)現(xiàn),災(zāi)害性天氣檢索通過(guò)關(guān)鍵字或描述信息進(jìn)行查詢,同時(shí)提供查詢信息打包下載功能。
通航信息通過(guò)對(duì)涉海部門通航業(yè)務(wù)數(shù)據(jù)的集成直接調(diào)用進(jìn)行備案。頁(yè)面設(shè)置按照年份、月份、措施等要素進(jìn)行檢索,同時(shí)提供Excel格式導(dǎo)出功能。
設(shè)置站點(diǎn)管理、閾值管理、產(chǎn)品配置管理、用戶管理功能。提供氣象觀測(cè)站、浮標(biāo)站等站點(diǎn)的添加、刪除、設(shè)置等功能。并根據(jù)實(shí)際業(yè)務(wù)需求設(shè)置實(shí)況及預(yù)報(bào)預(yù)警閾值添加、刪除、設(shè)置功能。同時(shí)對(duì)服務(wù)產(chǎn)品進(jìn)行管理調(diào)配,結(jié)合業(yè)務(wù)需求及進(jìn)行選擇性呈現(xiàn)及發(fā)布。并對(duì)用戶按照級(jí)別、部門進(jìn)行分組,設(shè)置用戶權(quán)限,實(shí)現(xiàn)對(duì)用戶訪問(wèn)系統(tǒng)操作權(quán)限的限制,保障系統(tǒng)及數(shù)據(jù)安全。
本文以近海船舶交通氣象服務(wù)系統(tǒng)的建設(shè)為例,探討了面向服務(wù)架構(gòu)在專業(yè)氣象服務(wù)系統(tǒng)建設(shè)中的適用性。通過(guò)不同系統(tǒng)應(yīng)用架構(gòu)間演進(jìn)的對(duì)比,結(jié)合近海船舶交通氣象服務(wù)需求,對(duì)面向服務(wù)架構(gòu)在近海船舶交通氣象服務(wù)系統(tǒng)中的深入應(yīng)用進(jìn)行了詳細(xì)闡述。具體應(yīng)用主要體現(xiàn)在以下兩個(gè)方面:(1)面向服務(wù)架構(gòu)所具有的位置透明、協(xié)議無(wú)關(guān)、松散耦合等特性及其服務(wù)自治原則使得專業(yè)氣象服務(wù)系統(tǒng)的構(gòu)建更加靈活高效。通過(guò)對(duì)專業(yè)氣象服務(wù)系統(tǒng)進(jìn)行業(yè)務(wù)邏輯拆解,能夠依托面向服務(wù)架構(gòu)以組件服務(wù)模式提供功能應(yīng)用的方式,更加快速地實(shí)現(xiàn)已有業(yè)務(wù)系統(tǒng)功能的融合,重構(gòu)各類專業(yè)定制化氣象服務(wù)系統(tǒng)及產(chǎn)品,有效避免了相同業(yè)務(wù)功能的重復(fù)開(kāi)發(fā),并為系統(tǒng)的靈活構(gòu)建及后續(xù)擴(kuò)展提供了有力支撐。(2)通過(guò)將面向服務(wù)架構(gòu)軟件重用的思路及分層設(shè)計(jì)的原則與傳統(tǒng)多源異構(gòu)數(shù)據(jù)集成方式相結(jié)合,在充分保證各異構(gòu)數(shù)據(jù)源獨(dú)立性和自治性基礎(chǔ)上,滿足了氣象服務(wù)對(duì)于各類業(yè)務(wù)數(shù)據(jù)的實(shí)時(shí)性需求,提出了一種根據(jù)業(yè)務(wù)需求對(duì)多源異構(gòu)數(shù)據(jù)進(jìn)行快速集成的動(dòng)態(tài)數(shù)據(jù)集成模型,為近海船舶交通氣象服務(wù)系統(tǒng)實(shí)時(shí)高效的靶向服務(wù)產(chǎn)品的開(kāi)發(fā)及展現(xiàn),提供了數(shù)據(jù)支撐。
將系統(tǒng)應(yīng)用架構(gòu)與氣象服務(wù)系統(tǒng)需求相結(jié)合,對(duì)開(kāi)展定制化專業(yè)氣象服務(wù)系統(tǒng)的架構(gòu)和模式進(jìn)行探索,是從技術(shù)層面提高專業(yè)氣象服務(wù)能力的有效方式。本文提出的將面向服務(wù)架構(gòu)應(yīng)用于近海船舶交通氣象服務(wù)系統(tǒng)的技術(shù)方案,有效提升了近海氣象災(zāi)害應(yīng)急防御能力,為近海船舶交通航行提供了有力保障。但隨著各個(gè)行業(yè)部門對(duì)氣象服務(wù)需求的提升及系統(tǒng)應(yīng)用架構(gòu)的不斷發(fā)展,還可以從以下幾個(gè)方面對(duì)系統(tǒng)應(yīng)用架構(gòu)在專業(yè)氣象服務(wù)中的應(yīng)用進(jìn)行深入思考:首先,以組件服務(wù)模式對(duì)系統(tǒng)業(yè)務(wù)功能進(jìn)行實(shí)現(xiàn),依然是在拆解業(yè)務(wù)邏輯基礎(chǔ)上對(duì)功能進(jìn)行開(kāi)發(fā)構(gòu)建,對(duì)組件粒度劃分不夠細(xì)致,對(duì)系統(tǒng)構(gòu)建靈活度存在局限性。其次,針對(duì)近海船舶交通氣象服務(wù)系統(tǒng)的研究在客戶端展現(xiàn)等方面存在局限性,基于面向服務(wù)架構(gòu)的專業(yè)氣象服務(wù)系統(tǒng)在PC 端的靈活高效不能說(shuō)明隨著業(yè)務(wù)需求及變動(dòng)在移動(dòng)終端的應(yīng)用情況。后續(xù)將根據(jù)不同專業(yè)氣象服務(wù)需求,結(jié)合目前較為先進(jìn)的微服務(wù)架構(gòu),進(jìn)一步開(kāi)展系統(tǒng)應(yīng)用架構(gòu)在專業(yè)氣象服務(wù)系統(tǒng)中關(guān)于分解業(yè)務(wù)功能粒度、以及移動(dòng)終端表現(xiàn)能力等方面的深入研究,以期進(jìn)一步從技術(shù)層面提高專業(yè)氣象服務(wù)能力、助力社會(huì)經(jīng)濟(jì)發(fā)展。