歡迎您光臨中國最大的行業(yè)報告門戶弘博報告!
分享到:
監(jiān)控平臺中間件技術(shù)發(fā)展與突破
2010-10-25 來源:CPS中安網(wǎng) 文字:[    ]
隨著信息技術(shù)的發(fā)展和信息需求的多樣化,信息系統(tǒng)變得越來越龐大、復(fù)雜和多變,為此中間件技術(shù)應(yīng)運而生,成為了大型信息系統(tǒng)集成的利器。而安防系統(tǒng)作為信息系統(tǒng)的一個重要分支,也將越來越多的利用到中間件技術(shù)。

  安防中間件技術(shù)的應(yīng)用現(xiàn)狀

  信息系統(tǒng)綜合集成的水平反映了一個企業(yè)、一個部門,乃至整個國家信息化建設(shè)的水平。制定和遵循相關(guān)技術(shù)標(biāo)準是一件重要的工作,但是不能照搬工業(yè)化的做法。面對復(fù)雜而多變的網(wǎng)絡(luò)世界,中間件就成為信息系統(tǒng)綜合集成的利器。

  中間件(middleware)是基礎(chǔ)軟件的一大類,屬于可復(fù)用軟件的范疇。顧名思義,中間件處于操作系統(tǒng)軟件與用戶的應(yīng)用軟件之間。中間件在操作系統(tǒng)、網(wǎng)絡(luò)和數(shù)據(jù)庫之上,應(yīng)用軟件的下層,總的作用是為處于自己上層的應(yīng)用軟件提供運行與開發(fā)的環(huán)境,幫助用戶靈活、高效地開發(fā)和集成復(fù)雜的應(yīng)用軟件。

  在中間件產(chǎn)生以前,應(yīng)用軟件直接使用操作系統(tǒng)、網(wǎng)絡(luò)衆(zhòng)-議和數(shù)據(jù)庫等開發(fā),這些都是計算機最底層的東西,越底層越復(fù)雜,開發(fā)者不得不面臨許多很棘手的問題,如操作系統(tǒng)的多樣性,繁雜的網(wǎng)絡(luò)程序設(shè)計、管理,復(fù)雜多變的網(wǎng)絡(luò)環(huán)境,數(shù)據(jù)分散處理帶來的不一致性問題、性能和效率、安全等。這些與用戶的業(yè)務(wù)沒有直接關(guān)系,但又必須解決,耗費了大量有限的時間和精力。于是,有人提出能不能將應(yīng)用軟件所要面臨的共性問題進行提煉、抽象,在操作系統(tǒng)之上再形成一個可復(fù)用的部分,供成千上萬的應(yīng)用軟件重復(fù)使用。這一技術(shù)思想最終構(gòu)成了中間件之類的軟件。

  到目前為止,確實有越來越多的用戶開始接納中間件了,甚至在一些大型采購招標(biāo)項目中,中間件已經(jīng)被明確寫入了招標(biāo)書。目前來看,對于中間件的應(yīng)用需求,還主要集中在行業(yè)市場上,與前幾年僅僅局限于金融、電信、政府等幾個領(lǐng)域的市場狀況不同,安防行業(yè)市場對于中間件的需求已逐步開始,并有望占據(jù)比較大的市場份額。但是在應(yīng)用層次上,還是有比較大的區(qū)別。

  對于與安防有關(guān)的行業(yè)而言,開始時依賴現(xiàn)有的套裝產(chǎn)品,采購進來之后,直接進行應(yīng)用。但是很快在應(yīng)用過程中就會有更多的定制需求提出來。由于涉及的具體行業(yè)特征的不同,所以導(dǎo)致不同的應(yīng)用需求。這就要求產(chǎn)品能夠根據(jù)行業(yè)性的特征進行定制,去除不必要的功能和特性。目前,用戶已經(jīng)意識到了,市場上提供的套裝產(chǎn)品,其70%的功能行業(yè)永遠用不到,所用到的功能不過只有30%。其中的診-因,就在于產(chǎn)品就如同操作系統(tǒng)一樣,擁有應(yīng)用非常廣泛的市場,需要滿足很多不同的應(yīng)用需求,因此導(dǎo)致功能比較龐大。實際上,操作系統(tǒng)也存在類似的情況,最初也是不分類別的。但微軟意識到問題之后,對于操作系統(tǒng)進行了劃分,以Windows為例就有XP和Server的區(qū)分,其中有將 Windows XP細分為home、home Edition、Professional、Media Center Edition、tablet PC Edition和Professional X64 Edition等不同的版本,而Windows Server又有 system home 、2003和 small business server的劃分。是否能迅速做到這一點,根據(jù)不同的應(yīng)用需求提供服務(wù),中間件的引入就顯得格外重要了。如今用戶也很聰明,要求產(chǎn)品能夠根據(jù)需求進行定制,而不是一個大而全、價格很高的東西。

  因此,隨著各行業(yè)市場安防監(jiān)控業(yè)務(wù)的發(fā)展,成熟的產(chǎn)品還會有很大的市場空間,但與此同時,定制化的需求也對于中間件產(chǎn)品提出了更迫切的要求,需要安防企業(yè)在軟件系統(tǒng)架構(gòu)方面盡快轉(zhuǎn)型。

  中間件技術(shù)是安防技術(shù)發(fā)展必由之路

  功能再復(fù)雜的產(chǎn)品都是由大量標(biāo)準的零件(盡管零件可能只在本領(lǐng)域內(nèi)有用)組成,零件在生產(chǎn)線上裝配成一個成品,所有零件在成品中共同發(fā)揮作用。分工越細致、專業(yè)生產(chǎn)的程度越高,總體生產(chǎn)效率就越高。而中間件技術(shù)所扮演的角色就是把零件、生產(chǎn)線和裝配運行的概念運用在軟件工業(yè)中,可以預(yù)見,中間件技術(shù)是軟件產(chǎn)業(yè)化革命的必然發(fā)展趨勢。從應(yīng)用軟件的角度來看,我們需要一個穩(wěn)定的、技術(shù)依賴性較弱的方法來描述行業(yè)應(yīng)用的不斷升級的業(yè)務(wù)邏糪-結(jié)構(gòu)。業(yè)務(wù)邏糪-會按照行業(yè)需求的不斷深挖而發(fā)展,卻不應(yīng)該太多的因為技術(shù)的變化而重新編寫。中間件思想的應(yīng)用就可以很好地解決這一難題。

    安防監(jiān)控中間件就是為不斷發(fā)展變化的、具有個性化特征的各個行業(yè)應(yīng)用軟件而打造的一個中間件平臺。在為行業(yè)提供解決方案的時候,可以通過中間件迅速構(gòu)建業(yè)務(wù)邏糪-、部署應(yīng)用并極其方便地與其他業(yè)務(wù)系統(tǒng)進行整合。

  中間件解決了行業(yè)應(yīng)用的結(jié)構(gòu)問題。目前行業(yè)應(yīng)用的選擇有兩個,即購套裝軟件和定制開發(fā)。一方面,套裝軟件的可塑性相對較差。如果用戶有一些獨特的需求就難以實現(xiàn),而從零開發(fā)的應(yīng)用軟件固然能滿足某時間點的固化需求,但是開發(fā)周期卻過長,而且難于保證最終系統(tǒng)的質(zhì)量,以及系統(tǒng)后期的需求變化和維護問題。通過面向中間件的開發(fā),系統(tǒng)是按照個性化的需求,從一個比較完備、比較成熟的構(gòu)件庫組裝而成,大大提高了系統(tǒng)的成功率、穩(wěn)定性、適應(yīng)性和逐步發(fā)展性。

    靜觀時下火爆的家庭裝潢行業(yè)的構(gòu)件化作業(yè)可見一斑。面向中間件的開發(fā)方式解決了行業(yè)應(yīng)用的開發(fā)和管理問題。通過建立一個不斷完整的構(gòu)件庫,行業(yè)的知識可以得到有效的管理。業(yè)務(wù)知識不是在上百萬行的代碼之中,也不是在每天晚上回家的員工腦里,而是在一個可見的、可控的構(gòu)件庫中,便于管理、衡量,達到持續(xù)發(fā)展的目的。開發(fā)人員可以看到自己的業(yè)務(wù)、知識和流程,也通過構(gòu)件庫來不斷發(fā)展自己的核心競爭力。

    否則,有數(shù)百人的安防大企業(yè)和一個新開始的只有二三十人的小公司沒有什么本質(zhì)區(qū)別。很多軟件工程師也面臨這樣一個問題。剛從學(xué)校出來的幾年,大家比較喜歡技術(shù)鉆研,熬夜寫代碼,找Bug。而后自己想想,收獲在哪里呢?確實每個人都積累了很多經(jīng)歷和經(jīng)驗,但只是一個更熟練的代碼工具。逐漸地,大家希望自己能從日常的代碼中逃離出來,去設(shè)計、規(guī)劃一個大型的軟件系統(tǒng),而且能夠長期持續(xù)發(fā)展。面向中間件的開發(fā)模式也正是這樣的一個承載思想、承載知識、承載經(jīng)驗的平臺。千呼萬喚始出來!面向中間件是安防企業(yè)發(fā)展的希望,是優(yōu)秀的軟件架構(gòu)師的希望。

  安防中間件分類與突破

  安防中間件可以劃分為基礎(chǔ)中間件、應(yīng)用中間件和領(lǐng)域應(yīng)用框架三類。其中,應(yīng)用中間件主要有數(shù)據(jù)資源集成、應(yīng)用資源集成、業(yè)務(wù)流程集成、門戶集成等中間件。應(yīng)用代碼集成中間件和業(yè)務(wù)流程集成中間件都是針對信息系統(tǒng)業(yè)務(wù)層構(gòu)建的。前者利用適配機制把各種新建和遺留應(yīng)用代碼中的各類方法統(tǒng)一成標(biāo)準的應(yīng)用接口,并包裝為消息的形式,進而通過消息代理機制,實現(xiàn)應(yīng)用資源之間跨網(wǎng)絡(luò)的互連、互通和互操作。后者是對業(yè)務(wù)流程的整個生命周期進行管理和控制,衆(zhòng)-調(diào)參與流程的各應(yīng)用資源代碼之間的動態(tài)執(zhí)行關(guān)系,并監(jiān)控和分析其執(zhí)行狀況。業(yè)務(wù)流程集成中間件通常都提供可視化的開發(fā)方法。

  與傳統(tǒng)安防的軟件開發(fā)方式相比,基于中間件的軟件開發(fā)方法有什么突破呢?

  體系結(jié)構(gòu)

  軟件體系結(jié)構(gòu)代表了系統(tǒng)公共的高層次的抽象,它是系統(tǒng)設(shè)計成敗的關(guān)鍵,其設(shè)計的核心是能否使用重復(fù)的體系模式。傳統(tǒng)的應(yīng)用系統(tǒng)體系結(jié)構(gòu)從基于主機的集中式框架,到在網(wǎng)絡(luò)的客戶端上通過網(wǎng)絡(luò)訪問服務(wù)器的框架,都不能適應(yīng)目前所處的商業(yè)環(huán)境,診-因是:用戶過分地依賴于某個供應(yīng)商的軟件和硬件產(chǎn)品。這種單一供應(yīng)商使得用戶難以利用計算供應(yīng)商的免費市場,將計算基礎(chǔ)設(shè)施的重要決定交給第三方處理,這顯然不利于用戶在多業(yè)務(wù)之間共享信息。

  封裝的應(yīng)用系統(tǒng)在出現(xiàn)某種組織需要時,難以用定制來維護系統(tǒng),從而難以滿足多變的需求。不能實現(xiàn)分析、設(shè)計核心功能重用,最多只能實現(xiàn)代碼重用。如今,應(yīng)用系統(tǒng)已經(jīng)發(fā)展成為在Intranet和Internet上的各種客戶端可遠程訪問的分布式、多層次異構(gòu)系統(tǒng)。中間件為開發(fā)這樣的應(yīng)用系統(tǒng)提供了新的系統(tǒng)體系結(jié)構(gòu),它是標(biāo)準定義的、分布式、模塊化結(jié)構(gòu),使應(yīng)用系統(tǒng)可分成幾個獨立部分開發(fā),可用增量方式。這樣的體系結(jié)構(gòu)實現(xiàn)了過內(nèi)部開發(fā)個別部件、重組部件、升級部件來集成和定制應(yīng)用軟件系統(tǒng),使得系統(tǒng)具有靈活方便的升級和系統(tǒng)模塊的更新維護能力。

  封裝最好的實踐案例,使其在商業(yè)條件改變的情況下,還能夠被采用,并能保留已有資源。由此看出,安防中間件從系統(tǒng)高層次的抽象上解決了復(fù)用性與異構(gòu)互操作性,這正是分布式網(wǎng)絡(luò)系統(tǒng)所希望解決的難題。

  開發(fā)過程

  傳統(tǒng)安防的軟件開發(fā)過程在重用元素、開發(fā)方法上都與基于中間件有很大的不同。雖然面向?qū)ο蠹夹g(shù)促進了軟件重用,但是,只實現(xiàn)了類和類繼承的重用。在整個系統(tǒng)和類之間還存在很大的缺口。為填補這個缺口,人們曾想了許多方法,如系統(tǒng)體系結(jié)構(gòu)、框架、設(shè)計模式等。

  自從中間件出現(xiàn)以來,軟件的重用才得到了根本改變。它實現(xiàn)了分析、設(shè)計、類等多層次上的重用。在分析抽象層上,重用元素有子系統(tǒng)、類;在設(shè)計層上重用元素有系統(tǒng)體系結(jié)構(gòu)、子系統(tǒng)體系結(jié)構(gòu)、設(shè)計模式、框架、容器、中間件、類庫、模板、抽象類等。

  在軟件開發(fā)方法上,中間件引導(dǎo)安防軟件開發(fā)從應(yīng)用系統(tǒng)開發(fā)轉(zhuǎn)變?yōu)閼?yīng)用系統(tǒng)集成。建立一個應(yīng)用系統(tǒng)需要重用很多已有的中間件模塊,這些中間件模塊可能是在不同的時間、由不同的人員開發(fā),并有各種不同的用途。在這種情況下,應(yīng)用系統(tǒng)的開發(fā)過程就變成對中間件接口、中間件上下文以及框架環(huán)境一致性的逐漸探索過程。例如,在J2EE平臺上,用EJB框架開發(fā)應(yīng)用系統(tǒng),主要工作是將應(yīng)用邏糪-按session Bean、entity Bean設(shè)計開發(fā),并利用JTS事務(wù)處理的服務(wù)實現(xiàn)應(yīng)用系統(tǒng)。其主要難點是事務(wù)劃分、中間件的部署與開發(fā)環(huán)境配置。概括地說,傳統(tǒng)的軟件開發(fā)過程是串行瀑布式、流水線的過程;而中間件模式是并發(fā)進化式,不斷升級完善的過程。

  安防中間件的設(shè)計理念

  軟件方法學(xué)是從各種不同角度、不同思路去認識軟件的本質(zhì)。傳統(tǒng)的軟件方法學(xué)是從面向機器、面向數(shù)據(jù)、面向過程、面向功能、面向數(shù)據(jù)流、面向?qū)ο蟮炔粩鄤?chuàng)新的觀點反映問題的本質(zhì)。整個軟件的發(fā)展歷程使人們越來越認識到應(yīng)按客觀世界規(guī)律去解決軟件方法學(xué)問題。直到面向?qū)ο蠓椒ǖ某霈F(xiàn),才使軟件方法學(xué)邁進了一大步。但是,在安防更高層次上的重用、分布式異構(gòu)互操作的難點還沒有解決,基于安防中間件的開發(fā)模式才引入軟件方法學(xué),并為解決這個難題提供了機會。它把應(yīng)用業(yè)務(wù)和實現(xiàn)分離,即邏糪-與數(shù)據(jù)的分離,提供標(biāo)準接口和框架,使軟件開發(fā)方法變成中間件的組合。因此,安防中間件體現(xiàn)出了一個全新的設(shè)計理念和發(fā)展模式

文字:[    ] [打印本頁] [返回頂部]