胡曉東 鄭曉曦
摘要:水利工作信息化的過(guò)程中,載有海量異構(gòu)化數(shù)據(jù)的各種監(jiān)控系統(tǒng)要被有效地融于“一體化、集成化”的信息管理系統(tǒng),有利于增加系統(tǒng)內(nèi)部的聯(lián)動(dòng)性、提高三防的技術(shù)水平。通過(guò)引用面向服務(wù)架構(gòu)理念,采用Web服務(wù)技術(shù),將不同應(yīng)用功能以服務(wù)形式出現(xiàn)的業(yè)務(wù)邏輯可以被共享、重用和配置,對(duì)異構(gòu)的系統(tǒng)進(jìn)行系統(tǒng)集成。
關(guān)鍵詞:面向服務(wù) Web服務(wù) 系統(tǒng)集成
中圖分類號(hào):TP316 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2016)05-0000-00
1 引言
水利是國(guó)民經(jīng)濟(jì)的重要命脈,對(duì)國(guó)家的經(jīng)濟(jì)建設(shè)及社會(huì)發(fā)展與穩(wěn)定起著舉足輕重的作用,在水利工作信息化的過(guò)程中,載有海量異構(gòu)化數(shù)據(jù)的各種監(jiān)控系統(tǒng)要被有效地融于“一體化、集成化”的信息管理系統(tǒng),有利于增加系統(tǒng)內(nèi)部的聯(lián)動(dòng)性、提高三防的技術(shù)水平。其中視頻監(jiān)控平臺(tái)、水文數(shù)據(jù)監(jiān)控平臺(tái)、圖像分析與識(shí)別平臺(tái)等各種監(jiān)控系統(tǒng)能提供實(shí)時(shí)、準(zhǔn)確的現(xiàn)場(chǎng)水情、雨情、工情、災(zāi)情以及救災(zāi)部署等情況,各種數(shù)據(jù)采集設(shè)備自成一體,提供的信息只能在終端設(shè)備上獨(dú)立使用,形成信息孤島。同時(shí),也形成了各種異構(gòu)系統(tǒng)。因此,要將視頻監(jiān)控、影像調(diào)用、水文數(shù)據(jù)采集等與實(shí)時(shí)報(bào)警、遠(yuǎn)程會(huì)商、實(shí)時(shí)指揮有機(jī)結(jié)合,實(shí)現(xiàn)集成數(shù)據(jù)接收服務(wù)及智能報(bào)警服務(wù),達(dá)到三防應(yīng)急指揮、部署的目的,必將面臨異構(gòu)系統(tǒng)集成和多元數(shù)據(jù)集成的困難。為解決這一困難,該課題試圖引入面向服務(wù)架構(gòu)SOA的概念,結(jié)合Web服務(wù)技術(shù)規(guī)范,建立一種新型系統(tǒng)架構(gòu)設(shè)計(jì)實(shí)現(xiàn)三防應(yīng)急指揮系統(tǒng)。
2 SOA架構(gòu)相關(guān)理論及技術(shù)
2.1 SOA概述
軟件工程發(fā)展中,面向?qū)ο笳Z(yǔ)言將函數(shù)與其操作的數(shù)據(jù)封裝到對(duì)象里。應(yīng)用程序會(huì)依賴于它實(shí)用的語(yǔ)言。你不能讓Java編寫(xiě)的客戶端來(lái)重C++的類或者繼承它。面向?qū)ο蠛雎粤撕芏喱F(xiàn)實(shí)的問(wèn)題,比如部署和版本的問(wèn)題。序列化和持久化則是存在的另外一系列問(wèn)題。面向組件提供了可交換的和互操作的二進(jìn)制組件??蛻舳撕头?wù)可以共享一套二進(jìn)制類型系統(tǒng)(如IDL)以及表示二進(jìn)制組件的元數(shù)據(jù)格式。然而普通應(yīng)用程序,開(kāi)發(fā)和調(diào)試的大部分時(shí)間都發(fā)費(fèi)在并發(fā)管理,事務(wù),安全技術(shù)問(wèn)題上,而不是業(yè)務(wù)邏輯和特征上。大部分組件都是專有的,很難重用或者遷移。
現(xiàn)代軟件工程就是對(duì)低耦合的不斷追求。耦合雖然不好,但是不可避免。在面向服務(wù)的應(yīng)用程序中,開(kāi)發(fā)人員只要關(guān)注于編寫(xiě)業(yè)務(wù)邏輯,以及通過(guò)可交換的、可互操作的服務(wù)終點(diǎn)公開(kāi)邏輯??蛻舳苏{(diào)用這些終結(jié)點(diǎn),而不是服務(wù)代碼或它的打包。客戶端與服務(wù)端終結(jié)點(diǎn)之間的交換是基于標(biāo)準(zhǔn)的消息,而服務(wù)會(huì)發(fā)布一些描述自己功能的信息、自己能做什么、客戶端如何調(diào)用服務(wù)等。
2.2 Web服務(wù)與SOA
Web Services可以建立分布式應(yīng)用程序的平臺(tái),同時(shí)也是一套符合W3C標(biāo)準(zhǔn),能夠編寫(xiě)低耦合的,自包含的、基于可編程的WEB的應(yīng)用程序。它向外界暴露出可以調(diào)用的API接口,而其他的應(yīng)用程序可以遠(yuǎn)程調(diào)用這個(gè)接口。Web 服務(wù)技術(shù)組件主要包括HTTP、 XML、 SOAP、 WSDL 和UDDI等五種。依據(jù)Web Service規(guī)范實(shí)施的應(yīng)用程序之間,無(wú)論它們所采用的編程語(yǔ)言、平臺(tái)或內(nèi)部協(xié)議是什么, 都可以相互交換數(shù)據(jù)。WebService是一種比較好的SOA實(shí)現(xiàn),但是SOA和WebService之間是有本質(zhì)的區(qū)別。SOA是一個(gè)體系架構(gòu),強(qiáng)調(diào)系統(tǒng)的邏輯層面的設(shè)計(jì),而WebService則是一種具體實(shí)現(xiàn)規(guī)范,屬于技術(shù)層面的內(nèi)容。
3 基于SOA架構(gòu)三防應(yīng)急指揮系統(tǒng)設(shè)計(jì)
3.1 三防指揮系統(tǒng)的需要分析
三防指揮系統(tǒng)平臺(tái)是三防指揮決策支持系統(tǒng)的核心。它在數(shù)據(jù)采集、通信、計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)的支持下運(yùn)轉(zhuǎn),集中體現(xiàn)對(duì)三防指揮決策過(guò)程的支持。
3.2 三防指揮系統(tǒng)架構(gòu)設(shè)計(jì)
本系統(tǒng)是借助 SOA 架構(gòu)設(shè)計(jì)一個(gè)三防應(yīng)急指揮系統(tǒng),實(shí)現(xiàn)水利工程中視頻監(jiān)控,水文數(shù)據(jù)監(jiān)控,圖像識(shí)別,短信報(bào)警等功能,對(duì)各個(gè)系統(tǒng)業(yè)務(wù)進(jìn)行整合。目的是為了構(gòu)建一個(gè)統(tǒng)一、開(kāi)放、透明的信息平臺(tái),既能滿足潮漣水利所基本的應(yīng)急指揮業(yè)務(wù)需求,又能為政府后續(xù)發(fā)展壯大提供一系列可重用、便于管理、可持續(xù)發(fā)展的業(yè)務(wù)服務(wù)。面向服務(wù)的架構(gòu)在實(shí)施過(guò)程中需要遵循松耦合、可重用、實(shí)用性、標(biāo)準(zhǔn)化等原則。
向服務(wù)架構(gòu)開(kāi)發(fā)模式,很好的解決了以上難題,實(shí)現(xiàn)了業(yè)務(wù)服務(wù)的最大共享。
3.3 系統(tǒng)服務(wù)設(shè)計(jì)
在三防應(yīng)急指揮系統(tǒng)的架構(gòu)中,服務(wù)建模設(shè)計(jì)尤為重要。其中服務(wù)建模遵循的原則:可發(fā)現(xiàn)性、可復(fù)用性、自治性??砂l(fā)現(xiàn)性要求要求系統(tǒng)不僅在請(qǐng)求服務(wù)時(shí)能夠快速地匹配目標(biāo)請(qǐng)求,而且能夠發(fā)現(xiàn)任何類型的業(yè)務(wù)功能服務(wù)??蓮?fù)用性原則是指各邏輯無(wú)關(guān)的服務(wù)組件是否具有可復(fù)用性。自治性體現(xiàn)在系統(tǒng)中必須有獨(dú)立的組件來(lái)實(shí)現(xiàn)每一個(gè)不同的業(yè)務(wù)功能。根據(jù)業(yè)務(wù)需求設(shè)計(jì)服務(wù)組件,列出主要的服務(wù)組件及其詳細(xì)設(shè)計(jì),不同服務(wù)組件按照業(yè)務(wù)進(jìn)行劃分,使用Web服務(wù)技術(shù)實(shí)現(xiàn)服務(wù)業(yè)務(wù)邏輯功能,其中視頻監(jiān)控服務(wù)組件,利用??低曁峁┑腟DK,用WebService對(duì)其中需要的功能進(jìn)行封裝;水文數(shù)據(jù)服務(wù)組件,主要是對(duì)水文數(shù)據(jù)的添加,查詢,修改,刪除等操作,針對(duì)數(shù)據(jù)庫(kù)操作;圖像識(shí)別服務(wù)組件,原有的系統(tǒng)利用OPenCV圖像處理技術(shù),結(jié)合MFC框架做系統(tǒng),使用Web服務(wù)封裝時(shí),需要將其頁(yè)面和業(yè)務(wù)邏輯進(jìn)行分離,分離出業(yè)務(wù)邏輯,用C#語(yǔ)言中EmguCV圖像處理技術(shù)重新封裝;短信報(bào)警服務(wù),利用短信貓?zhí)峁┑腟DK,用Web服務(wù)進(jìn)行封裝。系統(tǒng)其他的服務(wù)組件基本都是對(duì)數(shù)據(jù)的增加,查詢等操作,直接用Web服務(wù)標(biāo)準(zhǔn),結(jié)合數(shù)據(jù)庫(kù)操作技術(shù),進(jìn)行組件封裝就可以完成。
4 結(jié)語(yǔ)
在該方案中,基于SOA 架構(gòu)的三防應(yīng)急指揮系統(tǒng),將這種業(yè)務(wù)即服務(wù)的理念運(yùn)用系統(tǒng)集成,將水利監(jiān)控的各個(gè)獨(dú)立子系統(tǒng)進(jìn)行服務(wù)封裝,為系統(tǒng)集成帶來(lái)極大便利。SOA架構(gòu)系統(tǒng),這種新興分布式計(jì)算架構(gòu)模式,它能夠有效解決軟件重用,系統(tǒng)業(yè)務(wù)擴(kuò)展的需求等問(wèn)題,開(kāi)發(fā)的系統(tǒng)有較強(qiáng)的靈活性,服務(wù)模塊也有很強(qiáng)的互操作性,相信SOA架系統(tǒng)開(kāi)發(fā)很好的應(yīng)用前景。
參考文獻(xiàn)
[1]余楊.基于SOA架構(gòu)的校園網(wǎng)應(yīng)用系統(tǒng)集成設(shè)計(jì)與分析[J].信息與電腦,2011.11:125-126.
[2]蔡文華.面向服務(wù)的軟件體系結(jié)構(gòu)可信演化及實(shí)現(xiàn)[D].東華理工大學(xué),2015.6:14-19.