Posted on 2013-04-08 09:48
C小加 閱讀(2037)
評(píng)論(0) 編輯 收藏 引用 所屬分類:
網(wǎng)絡(luò)編程
介紹
ACE自適配通信環(huán)境(ADAPTIVE Communication Environment)是可以自由使用、開放源碼的面向?qū)ο螅∣O)構(gòu)架(Framework),在其中實(shí)現(xiàn)了許多用于并發(fā)通信軟件的核心模式。ACE提供了一組豐富的可復(fù)用C++Wrapper Facade(包裝外觀)和構(gòu)架組件,可跨越多種平臺(tái)完成通用的通信軟件任務(wù),其中包括:事件多路分離和事件處理器分派、信號(hào)處理、服務(wù)初始化、進(jìn)程間通信、共享內(nèi)存管理、消息路由、分布式服務(wù)動(dòng)態(tài)(重)配置、并發(fā)執(zhí)行和同步,等等。
ACE的目標(biāo)用戶是高性能和實(shí)時(shí)通信服務(wù)和應(yīng)用的開發(fā)者。它簡(jiǎn)化了使用進(jìn)程間通信、事件多路分離、顯式動(dòng)態(tài)鏈接和并發(fā)的OO網(wǎng)絡(luò)應(yīng)用和服務(wù)的開發(fā)。此外,通過服務(wù)在運(yùn)行時(shí)與應(yīng)用的動(dòng)態(tài)鏈接,ACE還使系統(tǒng)的配置和重配置得以自動(dòng)化。
好處
增強(qiáng)可移植性:在ACE組件的幫助下,很容易在一種OS平臺(tái)上編寫并發(fā)網(wǎng)絡(luò)應(yīng)用,然后快速地將它們移植到各種其他的OS平臺(tái)上。而且,因?yàn)锳CE是開放源碼的自由軟件,你無需擔(dān)心被鎖定在特定的操作系統(tǒng)平臺(tái)或編譯器上。
更好的軟件質(zhì)量:ACE的設(shè)計(jì)使用了許多可提高軟件質(zhì)量的關(guān)鍵模式,這些質(zhì)量因素包括通信軟件靈活性、可擴(kuò)展性、可復(fù)用性和模塊性。
更高的效率和可預(yù)測(cè)性:ACE經(jīng)仔細(xì)設(shè)計(jì),支持廣泛的應(yīng)用服務(wù)質(zhì)量(QoS)需求,包括延遲敏感應(yīng)用的低響應(yīng)等待時(shí)間、高帶寬應(yīng)用的高性能,以及實(shí)時(shí)應(yīng)用的可預(yù)測(cè)性。
更容易轉(zhuǎn)換到標(biāo)準(zhǔn)的高級(jí)中間件:TAO使用了ACE提供的可復(fù)用組件和模式。它是CORBA的開發(fā)源碼、遵循標(biāo)準(zhǔn)的實(shí)現(xiàn),并為高性能和實(shí)時(shí)系統(tǒng)作了優(yōu)化。為此,ACE和TAO被設(shè)計(jì)為能良好地協(xié)同工作,以提供全面的中間件解決方案。
體系結(jié)構(gòu)
OS適配層:ACE底層,和OS的API相關(guān)的部分。這部分ACE把不同類型的OS接口統(tǒng)一起來,讓ACE的高層擺脫平臺(tái)的依賴性。適配層增強(qiáng)了代碼的可移植性。
C++包裝層:ACE中間層,主要功能的實(shí)現(xiàn)部分。包括并發(fā)和同步、IPC、內(nèi)存管理組件、定時(shí)器類、容器類、信號(hào)處理、文件系統(tǒng)組件和線程管理。
構(gòu)架和模式層:ACE高層,架構(gòu)和模式部分。它們的基礎(chǔ)是若干針對(duì)特定通信軟件領(lǐng)域的設(shè)計(jì)模式。包括事件處理、連接或服務(wù)初始化組件、流組件和服務(wù)配置組件。