在這一系列的上一個文章中,介紹了構建C/C++外掛程式開發架構的初步設想,下面我會一步步的向下展開,來實現我的這個設想。
今天主要談一下我對這個架構的功能認識,或是期望。昨天看了一篇關於持續整合能力成熟度等級模型 的一篇文章,受此啟發,我對此架構的認識漸漸清晰。
這個架構可以當做我們公司底層產品(交換器,資原始伺服器等)的基礎設施。上層基於java開發的產品可以直接在OSGI上開發。
核心功能:
1、最重要的一個功能是,提供一個模組化的編程模型,促進模組化軟體開發,真正的實現針對介面編程。
2、提供一個有助於提高模組可重用性的基礎設施。
3、提供一個C/C++外掛程式的運行環境。
4、提供一個動態外掛程式架構,外掛程式可以動態更改,而無需重啟系統。這個功能雖然不難實現,但是用處好像不是很大。
擴充部分功能:
1、支援分布式系統結構,多個運行架構組合起來形成一個系統,對模組內部隱藏遠程通訊細節。
2、支援系統的分層架構。
3、能夠和其他的開發架構進行整合,比如OSGI,SCA等。
4、多個運行架構中,能夠實現對運行架構的有效管理。
5、概念上要實作類別似於SCA中component(構件),composite(組合構件),Domain(域)的概念。
開發部分功能:
1、為了簡化開發,開發一個Eclipse外掛程式,用於開發架構中的C/C++外掛程式。能夠根據外掛程式開發嚮導,最終產生符合外掛程式規範的公用代碼,設定檔,Makefile檔案等。
調試部分功能:
1、提供一個統一的Tlog函數,可以整合Log4cpp。
2、提供模組間的訊息日誌,以及架構對外的介面日誌。
3、提供訊息和日誌的追蹤功能,能將和某事件相關的訊息和日誌單獨提取出來。
4、提供資源監測功能,監測對資源(記憶體,通訊端,檔案控制代碼等)的使用方式。
測試部分功能:
1、整合一些單元測試架構,比如unitcpp,達到自動化單元測試的目標。
2、自己實現自動化整合測試架構,並且開發相應的Eclipse外掛程式,簡化整合測試(利用指令碼和信元流)。
3、整合原有的自動化功能測試架構flowtest,並且開發相應的Eclipse外掛程式,簡化功能測試。
4、實現效能測試,監測架構。
部署部分功能:
1、實現自動化部署。特別是在分布式應用的情況下。
2、提供一個命令列程式,通過命令更改系統配置,管理外掛程式。