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