在这一系列的上一个文章中,介绍了构建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、提供一个命令行程序,通过命令更改系统配置,管理插件。


只有注册用户登录后才能发表评论。


网站导航:
 

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

Copyright © 常高伟