功能再?gòu)?fù)雜的產(chǎn)品都是由大量標(biāo)準(zhǔn)的零件(盡管零件可能只在本領(lǐng)域內(nèi)有用)組成,零件在生產(chǎn)線上裝配成一個(gè)成品,所有零件在成品中共同發(fā)揮作用。分工越細(xì)致、專業(yè)生產(chǎn)的程度越高,總體生產(chǎn)效率就越高。而中間件技術(shù)所扮演的角色就是把零件、生產(chǎn)線和裝配運(yùn)行的概念運(yùn)用在軟件工業(yè)中,可以預(yù)見,中間件技術(shù)是軟件產(chǎn)業(yè)化革命的必然發(fā)展趨勢(shì)。從應(yīng)用軟件的角度來(lái)看,我們需要一個(gè)穩(wěn)定的、技術(shù)依賴性較弱的方法來(lái)描述行業(yè)應(yīng)用的不斷升級(jí)的業(yè)務(wù)邏輯結(jié)構(gòu)。業(yè)務(wù)邏輯會(huì)按照行業(yè)需求的不斷深挖而發(fā)展,卻不應(yīng)該太多的因?yàn)榧夹g(shù)的變化而重新編寫。中間件思想的應(yīng)用就可以很好地解決這一難題。
安防監(jiān)控中間件就是為不斷發(fā)展變化的、具有個(gè)性化特征的各個(gè)行業(yè)應(yīng)用軟件而打造的一個(gè)中間件平臺(tái)。在為行業(yè)提供解決方案的時(shí)候,可以通過(guò)中間件迅速構(gòu)建業(yè)務(wù)邏輯、部署應(yīng)用并極其方便地與其他業(yè)務(wù)系統(tǒng)進(jìn)行整合。
中間件解決了行業(yè)應(yīng)用的結(jié)構(gòu)問(wèn)題。目前行業(yè)應(yīng)用的選擇有兩個(gè),即購(gòu)套裝軟件和定制開發(fā)。一方面,套裝軟件的可塑性相對(duì)較差。如果用戶有一些獨(dú)特的需求就難以實(shí)現(xiàn),而從零開發(fā)的應(yīng)用軟件固然能滿足某時(shí)間點(diǎn)的固化需求,但是開發(fā)周期卻過(guò)長(zhǎng),而且難于保證最終系統(tǒng)的質(zhì)量,以及系統(tǒng)后期的需求變化和維護(hù)問(wèn)題。通過(guò)面向中間件的開發(fā),系統(tǒng)是按照個(gè)性化的需求,從一個(gè)比較完備、比較成熟的構(gòu)件庫(kù)組裝而成,大大提高了系統(tǒng)的成功率、穩(wěn)定性、適應(yīng)性和逐步發(fā)展性。靜觀時(shí)下火爆的家庭裝潢行業(yè)的構(gòu)件化作業(yè)可見一斑。面向中間件的開發(fā)方式解決了行業(yè)應(yīng)用的開發(fā)和管理問(wèn)題。
通過(guò)建立一個(gè)不斷完整的構(gòu)件庫(kù),行業(yè)的知識(shí)可以得到有效的管理。業(yè)務(wù)知識(shí)不是在上百萬(wàn)行的代碼之中,也不是在每天晚上回家的員工腦里,而是在一個(gè)可見的、可控的構(gòu)件庫(kù)中,便于管理、衡量,達(dá)到持續(xù)發(fā)展的目的。開發(fā)人員可以看到自己的業(yè)務(wù)、知識(shí)和流程,也通過(guò)構(gòu)件庫(kù)來(lái)不斷發(fā)展自己的核心競(jìng)爭(zhēng)力。否則,有數(shù)百人的安防大企業(yè)和一個(gè)新開始的只有二三十人的小公司沒(méi)有什么本質(zhì)區(qū)別。
很多軟件工程師也面臨這樣一個(gè)問(wèn)題。剛從學(xué)校出來(lái)的幾年,大家比較喜歡技術(shù)鉆研,熬夜寫代碼,找Bug.而后自己想想,收獲在哪里呢?確實(shí)每個(gè)人都積累了很多邏輯歷和邏輯驗(yàn),但只是一個(gè)更熟練的代碼工具。逐漸地,大家希望自己能從日常的代碼中逃離出來(lái),去設(shè)計(jì)、規(guī)劃一個(gè)大型的軟件系統(tǒng),而且能夠長(zhǎng)期持續(xù)發(fā)展。面向中間件的開發(fā)模式也正是這樣的一個(gè)承載思想、承載知識(shí)、承載邏輯驗(yàn)的平臺(tái)。千呼萬(wàn)喚始出來(lái)!面向中間件是安防企業(yè)發(fā)展的希望,是優(yōu)秀的軟件架構(gòu)師的希望。