在這一系列的上一個文章中,介紹了構建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、提供一個統一的日志處理函數,可以集成Log4cpp。
2、提供模塊間的消息日志,以及框架對外的接口日志。
3、提供消息和日志的追蹤功能,能將和某事件相關的消息和日志單獨提取出來。
4、提供資源監測功能,監測對資源(內存,套接字,文件句柄等)的使用情況。
--------------------------------------------------------------------------------
測試部分功能:
1、集成一些單元測試框架,比如unitcpp,達到自動化單元測試的目標。
2、自己實現自動化集成測試框架,並且開發相應的Eclipse插件,簡化集成測試(利用腳本和信元流)。
3、集成原有的自動化功能測試框架flowtest,並且開發相應的Eclipse插件,簡化功能測試。
4、實現性能測試,監測框架。
--------------------------------------------------------------------------------
部署部分功能:
1、實現自動化部署。特別是在分布式應用的情況下。
2、提供一個命令行程序,通過命令更改系統配置,管理插件。