在這一系列的上一個文章中,介紹了構(gòu)建C/C++插件開發(fā)框架的初步設(shè)想,下面我會一步步的向下展開,來實現(xiàn)我的這個設(shè)想。

          今天主要談一下我對這個框架的功能認(rèn)識,或是期望。昨天看了一篇關(guān)于持續(xù)集成能力成熟度模型 的一篇文章,受此啟發(fā),我對此框架的認(rèn)識漸漸清晰。

          這個框架可以當(dāng)做我們公司底層產(chǎn)品(交換機,資源服務(wù)器等)的基礎(chǔ)設(shè)施。上層基于java開發(fā)的產(chǎn)品可以直接在OSGI上開發(fā)。

          核心功能:

          1、最重要的一個功能是,提供一個模塊化的編程模型,促進模塊化軟件開發(fā),真正的實現(xiàn)針對接口編程。

          2、提供一個有助于提高模塊可重用性的基礎(chǔ)設(shè)施。

          3、提供一個C/C++插件的運行環(huán)境。

          4、提供一個動態(tài)插件框架,插件可以動態(tài)更改,而無需重啟系統(tǒng)。這個功能雖然不難實現(xiàn),但是用處好像不是很大。


          擴展部分功能:

          1、支持分布式系統(tǒng)結(jié)構(gòu),多個運行框架組合起來形成一個系統(tǒng),對模塊內(nèi)部隱藏遠程通訊細(xì)節(jié)。

          2、支持系統(tǒng)的分層架構(gòu)。

          3、能夠和其他的開發(fā)框架進行集成,比如OSGI,SCA等。

          4、多個運行框架中,能夠?qū)崿F(xiàn)對運行框架的有效管理。

          5、概念上要實現(xiàn)類似于SCA中component(構(gòu)件),composite(組合構(gòu)件),Domain(域)的概念。


          開發(fā)部分功能:

          1、為了簡化開發(fā),開發(fā)一個Eclipse插件,用于開發(fā)框架中的C/C++插件。能夠根據(jù)插件開發(fā)向?qū)?,最終生成符合插件規(guī)范的公共代碼,配置文件,Makefile文件等。


          調(diào)試部分功能:

          1、提供一個統(tǒng)一的日志處理函數(shù),可以集成Log4cpp。

          2、提供模塊間的消息日志,以及框架對外的接口日志。

          3、提供消息和日志的追蹤功能,能將和某事件相關(guān)的消息和日志單獨提取出來。

          4、提供資源監(jiān)測功能,監(jiān)測對資源(內(nèi)存,套接字,文件句柄等)的使用情況。


          測試部分功能:

          1、集成一些單元測試框架,比如unitcpp,達到自動化單元測試的目標(biāo)。

          2、自己實現(xiàn)自動化集成測試框架,并且開發(fā)相應(yīng)的Eclipse插件,簡化集成測試(利用腳本和信元流)。

          3、集成原有的自動化功能測試框架flowtest,并且開發(fā)相應(yīng)的Eclipse插件,簡化功能測試。

          4、實現(xiàn)性能測試,監(jiān)測框架。


          部署部分功能:

          1、實現(xiàn)自動化部署。特別是在分布式應(yīng)用的情況下。

          2、提供一個命令行程序,通過命令更改系統(tǒng)配置,管理插件。

          posts - 19, comments - 0, trackbacks - 0, articles - 0

          Copyright © 常高偉

          主站蜘蛛池模板: 磐安县| 木兰县| 西峡县| 德格县| 长宁县| 南皮县| 胶州市| 汕尾市| 和龙市| 秀山| 德惠市| 鄂尔多斯市| 达拉特旗| 遵义市| 扶绥县| 开阳县| 揭西县| 金乡县| 襄城县| 南陵县| 韶山市| 睢宁县| 托里县| 小金县| 文成县| 军事| 峨眉山市| 梁山县| 巴楚县| 安徽省| 大关县| 鹤岗市| 东阿县| 余庆县| 汉沽区| 成安县| 乐东| 镇坪县| 微博| 木里| 新昌县|