摘要
在科學(xué)技術(shù)與信息技術(shù)快速發(fā)展的過(guò)程中,軟件開發(fā)已經(jīng)成為信息技術(shù)發(fā)展的焦點(diǎn)。就客戶機(jī)/服務(wù)器計(jì)算模式難以繼續(xù)發(fā)展的時(shí)候,中間件作為這一中有效的解決方法開始受到廣泛的關(guān)注與應(yīng)用。本文基于中間件和軟件總線結(jié)構(gòu)的軟件開發(fā)進(jìn)行簡(jiǎn)單分析。
【關(guān)鍵詞】中間件 軟件總線結(jié)構(gòu) 軟件開發(fā)
就信息技術(shù)快速發(fā)展的今天,計(jì)算機(jī)與網(wǎng)絡(luò)已經(jīng)開始在各行業(yè)迅速的普及,同時(shí)在行業(yè)內(nèi)發(fā)揮著重要的作用。目前我國(guó)網(wǎng)絡(luò)基礎(chǔ)設(shè)施已經(jīng)建設(shè)完成,隨著國(guó)內(nèi)經(jīng)濟(jì)持續(xù)增長(zhǎng)與硬件設(shè)備價(jià)格的不斷下降,開發(fā)大型復(fù)雜的分布系統(tǒng)已經(jīng)成為軟件開發(fā)的重點(diǎn)與難點(diǎn)。從上個(gè)世紀(jì)開始客戶機(jī)/服務(wù)器計(jì)算機(jī)模式已經(jīng)開始成為開發(fā)軟件的主流技術(shù)。軟件體系結(jié)構(gòu)是由程序與系統(tǒng)構(gòu)建共同組成的組織結(jié)構(gòu),各個(gè)部分之間遵循著支配系統(tǒng)設(shè)計(jì)的原則。通常情況,系統(tǒng)軟件體系結(jié)構(gòu)其實(shí)就是對(duì)相關(guān)的計(jì)算機(jī)構(gòu)件進(jìn)行描述,在構(gòu)建相互聯(lián)系、連接后就會(huì)形成一定的束縛,各種結(jié)構(gòu)相互之間進(jìn)行約束。在中間件與軟件總線結(jié)構(gòu)的基礎(chǔ)上,研究開發(fā)系統(tǒng)結(jié)構(gòu)軟件,就需要對(duì)相關(guān)的技術(shù)有必要的了解。
1 中間件的概述
計(jì)算機(jī)技術(shù)發(fā)展速度越來(lái)越快,從硬件發(fā)展的狀況來(lái)看,CPU發(fā)展速度越來(lái)越快,處理能力也在不斷地提高。而從軟件技術(shù)方面來(lái)看,應(yīng)用程序的規(guī)模在不斷擴(kuò)大,尤其是Internet與WWW的出現(xiàn),促使計(jì)算機(jī)應(yīng)用范圍更加廣闊,越來(lái)越多的程序開始在網(wǎng)絡(luò)環(huán)境的異構(gòu)平臺(tái)上運(yùn)行。但是在這樣一種情況下,對(duì)新一代軟件提出新的要求。在這樣一種異構(gòu)環(huán)境下,同時(shí)不同的硬件平臺(tái)上存在不同的軟件系統(tǒng)和風(fēng)格不同的用戶界面,將這些平臺(tái)集合起來(lái)可以開發(fā)新的應(yīng)用是一個(gè)相對(duì)比較困難的問(wèn)題。人們?cè)谘芯恐虚g件的時(shí)候普遍認(rèn)為中間件就屬于一種相對(duì)獨(dú)立的系統(tǒng)軟件或服務(wù)程序,分布式應(yīng)用不同軟件,借助在不同的技術(shù)之間達(dá)到資源共享,中間件在客戶機(jī)服務(wù)操作系統(tǒng)之間,對(duì)計(jì)算機(jī)資源與網(wǎng)絡(luò)通信進(jìn)行管理。概括來(lái)說(shuō),中間件的特點(diǎn)主要有這么幾點(diǎn),即可以滿足大量應(yīng)用的需要、運(yùn)行多種硬件與OS平臺(tái)、支持分布計(jì)算,提供跨網(wǎng)絡(luò)、硬件與OS平臺(tái)的透明性應(yīng)用或者是uwu的交互性、支持標(biāo)準(zhǔn)的協(xié)議以及支持標(biāo)準(zhǔn)的接口。就標(biāo)準(zhǔn)接口而言,對(duì)可移植性與標(biāo)準(zhǔn)協(xié)議的互操作性具有重要的意義。就當(dāng)前的標(biāo)準(zhǔn)化工作而言,中間件已經(jīng)成為不可缺少的重要的組成部分。其實(shí)對(duì)于軟件開發(fā)來(lái)說(shuō),中間件可能比操作系統(tǒng)和網(wǎng)絡(luò)服務(wù)更加重要。通過(guò)中間件提供的程序接口是一個(gè)相對(duì)比較穩(wěn)定的高層應(yīng)用環(huán)境。無(wú)論底層計(jì)算機(jī)硬件與系統(tǒng)軟件如何更新,只要將中間件升級(jí)更新,就能夠保持中間件對(duì)外接口定義不變,所應(yīng)用的軟件也不會(huì)進(jìn)行任何的修改,這樣就可以保護(hù)企業(yè)在應(yīng)用軟件開發(fā)與維護(hù)過(guò)程中的投資。
2 不同的軟件體系結(jié)構(gòu)
現(xiàn)如今的應(yīng)用軟件相對(duì)比較開放,在應(yīng)用軟件發(fā)展的過(guò)程中,曾經(jīng)先后出現(xiàn)了比較多類型的系統(tǒng)模型,不同類型的應(yīng)用軟件技術(shù)其實(shí)也就代表了不同階段的信息技術(shù)發(fā)展。不同階段中代表性的系統(tǒng)模型主要有以數(shù)據(jù)為中心、以執(zhí)行為中心、面向?qū)ο笈c基于總線的系統(tǒng)模型。首先,數(shù)據(jù)為中心的系統(tǒng)模型將數(shù)據(jù)放在系統(tǒng)的核心層次共享,不同功能部件采用統(tǒng)一數(shù)據(jù)進(jìn)行描述,而其中的子系統(tǒng)開發(fā)過(guò)程又是相對(duì)比較獨(dú)立的,子系統(tǒng)之間有統(tǒng)一的數(shù)據(jù)交換接口,整體上的擴(kuò)充性比較好,可以任意的增加符合數(shù)據(jù)交換的應(yīng)用程序。但是在實(shí)際應(yīng)用的時(shí)候就會(huì)發(fā)現(xiàn),這種系統(tǒng)模型整體結(jié)構(gòu)比較松散,集成性不是非常的好,只能數(shù)據(jù)復(fù)用,不能在功能上達(dá)到復(fù)用的效果。其次,執(zhí)行為中心的系統(tǒng)模型。執(zhí)行為中心的系統(tǒng)模型就是將不同的應(yīng)用系統(tǒng)通過(guò)統(tǒng)一的執(zhí)行中心達(dá)到數(shù)據(jù)與用戶界面的一致性。這類系統(tǒng)模型就是在共有計(jì)算與執(zhí)行功能從應(yīng)用程序中分離出來(lái),隨后放到執(zhí)行中心,避免出現(xiàn)代碼冗余。用戶與系統(tǒng)應(yīng)用程序是相互分離的。分離有助于數(shù)據(jù)的管理,并且還可以保證管理數(shù)據(jù)的一致性。最后,面向?qū)ο笙到y(tǒng)模型。在信息技術(shù)快速發(fā)展的過(guò)程中,面性對(duì)象技術(shù)也變得越來(lái)成熟,隨后也出現(xiàn)了簡(jiǎn)練的面向?qū)ο蟮南到y(tǒng)模型。相對(duì)比其他兩種系統(tǒng)模型差別比較大。該系統(tǒng)模型能夠?yàn)橛脩艚缑鎸?duì)象與所有的應(yīng)用對(duì)象共享的數(shù)據(jù)與應(yīng)用進(jìn)行操作,斌且這些對(duì)象都需要采用用戶界面協(xié)調(diào)功能來(lái)實(shí)行。從系統(tǒng)模型的特點(diǎn)來(lái)看,這種模型結(jié)構(gòu)是無(wú)中心的,系統(tǒng)是通過(guò)實(shí)體構(gòu)成,并且都處于平等的地位,這與數(shù)據(jù)為中心和執(zhí)行為中心的系統(tǒng)模型不同,可以有效降低由于數(shù)據(jù)和功能集中管理產(chǎn)生的復(fù)雜性。相對(duì)比其他的兩種模型,對(duì)象模型已經(jīng)有了很大的進(jìn)步,但是不能否認(rèn)其中的不足之處。
3 基于中間件軟件總線結(jié)構(gòu)的系統(tǒng)模型
基于中間件的軟件總線結(jié)構(gòu)系統(tǒng)模型其實(shí)就是建立在中間件技術(shù)的基礎(chǔ)上研發(fā)出來(lái)的一種軟件體系結(jié)構(gòu)。因此,該系統(tǒng)可以充分發(fā)揮中間件所提供的預(yù)先定義比較好的底層通訊框架和模型,將多種比較復(fù)雜的底層開發(fā)屏蔽掉,其中屏蔽的就有數(shù)據(jù)操作與網(wǎng)絡(luò)通訊等。當(dāng)然這種技術(shù)也集成了中間件技術(shù)的比較多種特點(diǎn),如異構(gòu)平臺(tái)與負(fù)載均衡等。這些特點(diǎn)可以在工作業(yè)務(wù)邏輯比較復(fù)雜的系統(tǒng)中應(yīng)用。該系統(tǒng)模型的關(guān)鍵是建立在相對(duì)比較高效的總線結(jié)構(gòu),促使組件之間能夠通過(guò)公共的接口互相連接,促使組件可以達(dá)到即插即用,無(wú)縫集成的目的。同時(shí)在這樣一種模型中,組件之間的通訊連接數(shù)也是線性的,各組件接口規(guī)范具有相對(duì)的統(tǒng)一性。在降低通訊復(fù)雜性的同時(shí),還提高了組件的互相操作性。在利用軟件總線可以控制邏輯,為外部組件提供功能相對(duì)集中的軟件模型。但是在這樣一個(gè)模型中,組件的概念與結(jié)構(gòu)化軟件開發(fā)和面向?qū)ο蟮能浖_發(fā)存在著比較明顯的區(qū)別。在中間件的軟件總線結(jié)構(gòu)模型中,組件是一種相對(duì)良好、獨(dú)立并且比較方便插入到的語(yǔ)言、工具、操作系統(tǒng),網(wǎng)絡(luò)系統(tǒng)中的二進(jìn)制代碼與數(shù)據(jù)。根據(jù)軟件開發(fā)而言,可以有效完成相對(duì)特定的業(yè)務(wù)操作,客戶界面的復(fù)雜性,能夠在多種環(huán)境下為眾多的客戶端截面提供基本構(gòu)件。
4 結(jié)語(yǔ)
總而言之,基于中間件和軟件總線結(jié)構(gòu)的軟件開發(fā),需要根據(jù)軟件開發(fā)的實(shí)際情況來(lái)運(yùn)行,這樣才可以達(dá)到軟件開發(fā)系統(tǒng)功能良好的目的。
參考文獻(xiàn)
[1]李軍,于守謙,劉亞斌等.基于軟件總線技術(shù)的測(cè)控系統(tǒng)框架實(shí)現(xiàn)[J].計(jì)算機(jī)測(cè)量與控制,2014,13(8):849-865.
[2]張秋余,袁占亭,翟志萬(wàn)等.分布式計(jì)算機(jī)軟件總線體系結(jié)構(gòu)研究與設(shè)計(jì)[J].計(jì)算機(jī)工程,2014,(30):109-110.
[3]袁占亭,張秋余,張冬冬等.基于軟件總線技術(shù)的軟件開發(fā)[J].計(jì)算機(jī)工程,2012,(31):105-107.