宋 坤,周智海
(國家海洋技術(shù)中心 天津 300112)
基于SOA的海洋環(huán)境觀測集成系統(tǒng)框架研究*
宋 坤,周智海
(國家海洋技術(shù)中心 天津 300112)
針對海洋環(huán)境觀測集成系統(tǒng)面臨的分布式異構(gòu)環(huán)境下的動態(tài)集成、計算密集與數(shù)據(jù)密集等問題,結(jié)合 “十五”“十一五”海洋 “863”計劃的成果,文章引入面向服務(wù)的軟件體系結(jié)構(gòu) (SOA)的設(shè)計理念,提出了一種基于面向服務(wù)架構(gòu)的分布式開發(fā)集成系統(tǒng)框架。整個框架主要由基礎(chǔ)平臺、數(shù)據(jù)層、組件層、服務(wù)層和應(yīng)用層等組成。各層內(nèi)部采用面向?qū)ο蟮姆椒ㄟM行設(shè)計,各層相對獨立,層間的耦合性比較小,服務(wù)層包含了所有分布式子系統(tǒng)的服務(wù)抽象和封裝,以服務(wù)的方式供應(yīng)用層使用,開放性好、可重用性強,開發(fā)效率高。采用該框架的系統(tǒng)可以在分布式環(huán)境中應(yīng)用,解決了海洋環(huán)境觀測集成系統(tǒng)分布式異構(gòu)環(huán)境的動態(tài)集成,同時系統(tǒng)的一些子模塊可以高效地加以復(fù)用、修改,以滿足不斷增加的應(yīng)用需求。
系統(tǒng)工程;海洋環(huán)境觀測集成系統(tǒng);面向服務(wù)的軟件體系結(jié)構(gòu)(SOA);服務(wù)
海洋環(huán)境觀測集成系統(tǒng)通過遙感衛(wèi)星、巡航飛機、監(jiān)測船、各類浮標、潛標、海床基、水下觀測站、岸/平臺基海洋觀測站、雷達站及其他可利用的觀測系統(tǒng),實現(xiàn)對海洋環(huán)境的立體、實時、長期觀測和信息處理,形成實測、預(yù)報、評估、統(tǒng)計分析等信息產(chǎn)品,并通過互聯(lián)網(wǎng)、專線等方式,為有關(guān)部門及用戶提供多種形式的信息服務(wù)。隨著信息網(wǎng)絡(luò)的普及,IT技術(shù)和海洋觀測技術(shù)等的發(fā)展,海洋環(huán)境觀測集成系統(tǒng)必將成為異構(gòu)信息及應(yīng)用動態(tài)集成和數(shù)據(jù)密集型系統(tǒng)[1]。
海洋環(huán)境觀測集成系統(tǒng)需要集成幾十個觀測站點、海區(qū)業(yè)務(wù)中心、國家業(yè)務(wù)中心、信息服務(wù)及應(yīng)用中心等,參與開發(fā)的有幾十家科研單位。這就造成應(yīng)用系統(tǒng)開發(fā)語言、部署平臺、通信協(xié)議等可能不同。如何實現(xiàn)這些應(yīng)用系統(tǒng)與資源的無縫連接,這就需要一個支持分布式海洋觀測應(yīng)用集成的框架。一方面使得處于異構(gòu)環(huán)境、分布存放的海洋觀測應(yīng)用和數(shù)據(jù)能夠靈活、快速地整合、擴展;另一方面,也是為了滿足用戶對海洋觀測不斷增加的應(yīng)用需求,并能為用戶快速、準確的提供信息服務(wù)。
面向服務(wù)的軟件體系結(jié)構(gòu)(service-oriented architecture,SOA)概念由Gartner公司在1996年首次提出,是基于 “軟件變服務(wù)”思想提出的一種新的解決軟件重用和應(yīng)用基礎(chǔ)的方案[2]。作為一個組件模型,SOA提供了一種方法,通過這種方法在構(gòu)建分布式系統(tǒng)時,可以將應(yīng)用程序的不同功能單元作為服務(wù)提供給終端用戶應(yīng)用程序或其他服務(wù)。而這些服務(wù)通過之間定義良好的接口和契約聯(lián)系起來。這使得構(gòu)建在各種這樣的系統(tǒng)中的服務(wù)可以以一種統(tǒng)一和通用的方式進行交換。SOA的特性是 “服務(wù)的封裝”“服務(wù)的重用”和 “服務(wù)的互動”,服務(wù)是從業(yè)務(wù)流程的角度看待技術(shù)的。其根本目標是解決 “信息孤島”的問題,并提供隨需要變化的服務(wù)[3]。
SOA是一種架構(gòu)模型,而Web Service是SOA最流行的一種實現(xiàn)方法[4]。其提供了一種分布式的計算技術(shù),可以讓地理上分布在不同區(qū)域的計算機和設(shè)備一起工作。使用Web Service,通過松散的服務(wù)捆綁集合形式,能夠快速低代價地開發(fā)、發(fā)布和動態(tài)綁定應(yīng)用。將傳統(tǒng)的對象集成與開放的、靈活的Web服務(wù)整合在一起。系統(tǒng)只需要以服務(wù)的形式出現(xiàn);而選擇與該系統(tǒng)交互的其他系統(tǒng)只需要發(fā)現(xiàn)那些服務(wù),并且在運行時或設(shè)計時與這些服務(wù)綁定,就可以使用服務(wù)了[5]。
Web Service中共有3種服務(wù)角色:服務(wù)提供者(service provider)、服務(wù)請求者(service requester)和服務(wù)注冊(service registry)。服務(wù)提供者在服務(wù)注冊中發(fā)布自己的服務(wù),并且對使用自身服務(wù)的請求進行響應(yīng)。服務(wù)請求者在需要某項服務(wù)的時候,利用服務(wù)注冊查找所需要的服務(wù),然后就可以以一種對服務(wù)請求者透明的方式使用該服務(wù)。服務(wù)注冊連接服務(wù)請求者和服務(wù)提供者。對服務(wù)提供者發(fā)布的服務(wù)進行注冊,并且響應(yīng)服務(wù)請求者的服務(wù)搜索請求。服務(wù)提供者和服務(wù)請求者通過消息進行通訊。Web Service中的3種角色以及它們之間的關(guān)系見圖1。
圖1 Web Service中的3種角色及關(guān)系
基于目前國內(nèi)外海洋環(huán)境觀測集成系統(tǒng)的研究進展,該系統(tǒng)主要包括以下四大功能。
3.1 海洋環(huán)境數(shù)據(jù)獲取
針對海洋權(quán)益維護、防災(zāi)減災(zāi)、生態(tài)保護、資源開發(fā)、海上工程與航運以及國防建設(shè)對海洋環(huán)境觀測數(shù)據(jù)和海洋監(jiān)視信息的總體需求,開展新型與智能化海洋環(huán)境要素多平臺傳感與數(shù)據(jù)獲取技術(shù)、多平臺遙感監(jiān)測與監(jiān)視應(yīng)用技術(shù)、移動目標探測與識別技術(shù)、數(shù)據(jù)通信與鏈路等技術(shù)的研究與開發(fā),建立天基 (監(jiān)測、監(jiān)視衛(wèi)星)、空基 (巡航飛機、無人機)、海岸/海島基 (海洋觀測站、雷達站、監(jiān)測車)、海面及水下 (船舶、浮標、潛標)、海床基 (水下觀測站、水下水聲探測陣、潛器)相配套的海洋環(huán)境立體觀測監(jiān)視平臺體系,形成海洋環(huán)境立體觀測監(jiān)視能力,獲取我國管轄海域及其西北太平海洋環(huán)境要素同步、實時、長期、連續(xù)觀測數(shù)據(jù)和海洋監(jiān)視動態(tài)信息。
3.2 數(shù)據(jù)通信與管理
利用Internet網(wǎng)絡(luò)通信標準和系列技術(shù),構(gòu)建海洋環(huán)境立體觀測系統(tǒng)的數(shù)據(jù)通信網(wǎng)絡(luò),實現(xiàn)對海洋環(huán)境立體觀測數(shù)據(jù)、信息產(chǎn)品和狀態(tài)信息等的接收、集成、規(guī)范化存儲管理和實時傳輸。
3.3 信息處理與服務(wù)
針對獲取的海洋動力和生態(tài)環(huán)境觀測實時、準實時、歷史、業(yè)務(wù)指導(dǎo)及其他可利用數(shù)據(jù),采用成熟的海洋環(huán)境數(shù)據(jù)處理方法及模式,完成觀測數(shù)據(jù)處理、分析、質(zhì)量控制等,建立分布式開放型海洋動力和生態(tài)環(huán)境觀測實時數(shù)據(jù)庫、延時數(shù)據(jù)庫,并以此為基礎(chǔ)開展實測、統(tǒng)計分析、同化融合和預(yù)警預(yù)報等信息產(chǎn)品的制作,建立信息產(chǎn)品庫,為防災(zāi)減災(zāi)、資源開發(fā)、海洋維權(quán)等提供數(shù)據(jù)和信息產(chǎn)品服務(wù)。
3.4 集成系統(tǒng)運行管理
基于海洋環(huán)境觀測集成系統(tǒng)長期業(yè)務(wù)化運行的需求,針對海洋環(huán)境觀測設(shè)備、數(shù)據(jù)傳輸網(wǎng)絡(luò)及集成系統(tǒng)軟件平臺、硬件平臺的運行狀態(tài)、數(shù)據(jù)集成與處理和信息發(fā)布能力等進行狀態(tài)信息獲取、處理、實時顯示,系統(tǒng)運行狀態(tài)統(tǒng)計分析、評估等。為集成系統(tǒng)運行維護、完善升級提供基礎(chǔ)信息。
依據(jù)海洋環(huán)境觀測集成系統(tǒng)的功能需求,結(jié)合近年來蓬勃發(fā)展的面向服務(wù)的軟件體系架構(gòu),本研究提出了一種基于SOA的分布式海洋環(huán)境觀測集成系統(tǒng)框架 (圖2)。
圖2 海洋環(huán)境觀測集成系統(tǒng)框架
該框架主要由基礎(chǔ)平臺、數(shù)據(jù)層、組件層、服務(wù)層、應(yīng)用層以及標準規(guī)范與管理體系和信息安全體系等組成。各層相對獨立,層間的耦合性比較小。
基礎(chǔ)平臺主要包括海洋觀測平臺/設(shè)備、系統(tǒng)硬件平臺和軟件平臺等作為整個系統(tǒng)運行的支撐。
數(shù)據(jù)層是系統(tǒng)實現(xiàn)各種服務(wù)的數(shù)據(jù)源。
組件層包含了集成系統(tǒng)運行所需要的基本功能模塊,在組件層內(nèi)部,使用面向?qū)ο蟮脑O(shè)計方法設(shè)計每個模塊。
服務(wù)層包含可提供的各種服務(wù)的抽象,每種服務(wù)都能提供集成系統(tǒng)的某個獨立功能。各個服務(wù)所包含的組件層對象都是相互獨立的。服務(wù)層的各項服務(wù)首先需要向服務(wù)注冊中心發(fā)布,當應(yīng)用層的服務(wù)使用者需要使用服務(wù)層中的某個服務(wù)時,就會向服務(wù)注冊中心查找相應(yīng)的服務(wù)。查找到相應(yīng)的服務(wù)后,根據(jù)獲得的地址發(fā)起連接,通過簡單對象訪問協(xié)議(simple object access protocol,SOAP),使用特定的服務(wù)參數(shù)和服務(wù)層中的服務(wù)提供者綁定,進行服務(wù)請求的發(fā)送和應(yīng)答的接收,從而實現(xiàn)服務(wù)的調(diào)用。
應(yīng)用層負責(zé)和用戶進行交互,并根據(jù)需要從注冊中心查找并綁定相應(yīng)的服務(wù)。
4.1 基礎(chǔ)平臺
基礎(chǔ)平臺處于該系統(tǒng)框架的最底層,主要包括海洋觀測平臺,如海岸基與海島基定點海洋動力和生態(tài)環(huán)境觀測、近海海洋動力環(huán)境定點剖面觀測、高頻地波雷達海洋動力環(huán)境觀測等設(shè)備和船載海洋動力和生態(tài)環(huán)境觀測系統(tǒng)、海洋環(huán)境衛(wèi)星/航空遙感應(yīng)用觀測系統(tǒng)等提供實時海洋環(huán)境觀測要素;系統(tǒng)硬件平臺如,服務(wù)器、存儲設(shè)備、工作站和網(wǎng)絡(luò)設(shè)備等為系統(tǒng)提供硬件支撐;系統(tǒng)軟件平臺如,操作系統(tǒng)、數(shù)據(jù)庫等作為應(yīng)用系統(tǒng)的支持。
4.2 數(shù)據(jù)層
數(shù)據(jù)層作為整個系統(tǒng)的實現(xiàn)各種服務(wù)的基礎(chǔ),為系統(tǒng)提供各類海洋信息數(shù)據(jù),包括海洋環(huán)境觀測要素實時數(shù)據(jù)庫、延時數(shù)據(jù)庫、地理信息等基礎(chǔ)數(shù)據(jù)庫、歷史資料庫、信息產(chǎn)品庫、系統(tǒng)運行狀態(tài)庫等。
4.3 組件層
組件層包含了系統(tǒng)運行所需要的基本功能模塊。在該層內(nèi)部,使用面向?qū)ο蟮姆椒ㄔO(shè)計每個模塊。各模塊內(nèi)部包含一些相關(guān)的對象,這些對象互相通信、協(xié)作共同完成對外提供的服務(wù)。如,數(shù)據(jù)分析和處理模塊,完成觀測數(shù)據(jù)數(shù)碼轉(zhuǎn)換、質(zhì)量控制、數(shù)據(jù)分類等標準化和規(guī)范化處理,形成相互關(guān)聯(lián)的四維時空數(shù)據(jù);數(shù)據(jù)訪問模塊,可以依據(jù)提交的服務(wù)從數(shù)據(jù)層中獲取需要的數(shù)據(jù),并將返回的數(shù)據(jù)轉(zhuǎn)換為需要格式或根據(jù)服務(wù)的要求將處理后的數(shù)據(jù)錄入至相應(yīng)的數(shù)據(jù)庫,提供服務(wù)與數(shù)據(jù)層之間的接口;數(shù)據(jù)交互模塊,根據(jù)服務(wù)的要求和定義的傳輸流程實現(xiàn)各類觀測數(shù)據(jù)和信息產(chǎn)品的傳輸和存儲管理等。
4.4 服務(wù)層
服務(wù)層包含可提供的各種服務(wù)的抽象和封裝。每個服務(wù)完成系統(tǒng)的某項獨立的功能,以服務(wù)的形式提供給高層使用。每個服務(wù)都通過組織和協(xié)調(diào)組件層中相應(yīng)的功能模塊,來向應(yīng)用層提供粗粒度的、較大規(guī)模的數(shù)據(jù)獲取分析、信息發(fā)布、預(yù)警預(yù)報、輔助決策等功能。應(yīng)用層通過從服務(wù)注冊中心查找所需要的所有服務(wù)的地址和參數(shù)后,通過特定的服務(wù)參數(shù),使用服務(wù)層提供的功能。
4.5 應(yīng)用層
應(yīng)用層負責(zé)用戶和系統(tǒng)的交互,為用戶提供人性化的操作和展示界面[6]。應(yīng)用層主要包括:可視化用戶界面、瀏覽器、移動應(yīng)用等。其中,可視化用戶界面為用戶提供C/S架構(gòu)的直觀、形象的系統(tǒng)操作和展示方式;瀏覽器通過互聯(lián)網(wǎng)等,實現(xiàn)對系統(tǒng)的遠程操作、使用;移動應(yīng)用是借助互聯(lián)網(wǎng)和無線網(wǎng)絡(luò)將對集成系統(tǒng)使用擴展到智能手機或PDA上,使處于移動狀態(tài)的用戶可以隨時隨地通過手機上網(wǎng)方式及時獲取數(shù)據(jù)、信息等。
隨著我國沿海地區(qū)的經(jīng)濟發(fā)展和國家綜合實力的增強,對區(qū)域乃至全國性海洋環(huán)境觀測和信息服務(wù)能力建設(shè)的需求逐年增加。依據(jù)SOA體系結(jié)構(gòu)模型的基本特征,本研究引入SOA的設(shè)計理念提出了一種基于面向服務(wù)架構(gòu)的開放式海洋環(huán)境觀測集成系統(tǒng)的框架。采用這種框架的系統(tǒng)可以在分布式環(huán)境中應(yīng)用,解決了海洋環(huán)境觀測集成系統(tǒng)分布式異構(gòu)環(huán)境的動態(tài)集成。同時系統(tǒng)的一些子模塊可以高效地加以重復(fù)用、修改,以滿足不斷增加的應(yīng)用需求。
[1] 周智海.海洋環(huán)境監(jiān)測和信息服務(wù)集成系統(tǒng)規(guī)范化設(shè)計考慮[J].氣象水文海洋儀器,2004(3):1-8.
[2] 黃小慶,關(guān)維德,周宇,等.面向服務(wù)架構(gòu)中的服務(wù)分類及其應(yīng)用[J].計算機集成制造系統(tǒng),2009,15 (9):1844-1853.
[3] 陳俊杰,苑小軍.面向服務(wù)架構(gòu)(SOA)與系統(tǒng)集成[J].中國高新技術(shù)企業(yè),2008(11):131-134.
[4] 苗春雨,史美林,姜進磊.基于Web服務(wù)的消息中問件系統(tǒng)[J].通信學(xué)報,2006,27(11):96-100.
[5] 陳啟祥,楊軍.面向服務(wù)的軟件架構(gòu)SOA及其支撐技術(shù)的研究[J].湖北工業(yè)大學(xué)學(xué)報,2005,20 (4):38-41.
[6]KENNETH E K,JULIE E K.系統(tǒng)分析與設(shè)計[M].施平安,郝清賦,譯.北京:機械工業(yè)出版社, 2010:
417-444.
國家高技術(shù)研究發(fā)展技術(shù) (“863”計劃) “南海海洋動力環(huán)境數(shù)據(jù)集成與應(yīng)用技術(shù)系統(tǒng)開發(fā)”項目(2008AA09A404).