C++插件平台--开源项目

第1章 平台概述

1.1.   描述

插件开发在 Java 领域比较普遍,但是在 C++ 方面却比较少见;而中通的 CPP 开发平台(简称 ztlpc )就是面向 C++ 开发人员的插件式平台。

1.2.   目标

ztlpc 的目标是减少学习成本、降低开发难度、提高开发效率、增强系统的稳定性,为企业级应用提供较为全面的支撑。

1.3.   现状

ztlpc 是依托项目、借助开源,而沉淀的一开发平台;当前版本和行业结合的较为紧密,随着版本的发布,平台的通用性会不断提升。

1.4.   展望

由于公司的理念是献身开源、服务开源,所以当 ztlpc 跳出行业限制之后,也会逐步走向开源之路。

第2章 设计原理

2.1.   热插拔,自动升级

插件式开发,支持插件的动态加载卸载。 C/C++ 可以单独部署的最小单元是动态库,所以插件是动态库的形式存在。

系统可以自动检测动态库的变化,在不停止服务的情况下实现功能的扩展和系统的升级。

2.2.   微内核,稳定可靠

插件运行环境采用微内核的开发思想,确保系统的稳定。插件运行环境采用进程池机制,同时还支持主动模式(无监听端口)和被动模式(监听端口)。

2.3.   强化技术,简化业务

分离技术平台和业务平台,技术平台封装基础类库和运行框架,简化业务开发的难度,最大化复用基础组件。

2.4.   接口编程,统一规范

业务模块的开发,统一编程接口,真正做到面向接口编程、施行面向对象开发思想。

2.5.   性能优先,扩展次之

插件之间数据通讯,优先考虑性能,所以 XML 数据总线的方式不可取,性能最高的莫过于数据指针的传输。

第3章 功能架构

 

架构层次图

3.1.   基础组件

²         屏蔽线程和进程的管理

基于基础组件开发看不到线程和进程,只需要开发功能组件和业务组件,并且两种组件都是动态库的形式存在。

²         实现功能的热部署

当动态库或框架配置文件有变化时,基础框架可以自动加载组件,实现功能扩展和系统的升级。

²         实现功能扩展框架

支持功能的扩展,不用修改现有的组件,只需增加相应的业务组件即可实现功能的增加,在架构层次上就实现了对开闭原则的支持。

²         支持主动被动模式

支持主动模式,同时也支持主动模式;基于基础组件可以开发服务器端系统,也可以开发客户端系统。

²         提供资源池的封装

对以一些常用的调用提供统一的接口。

²         提供简单易用的开发接口

以类的方式提供开发接口,同时提供开发实例,降低开发的难度。

3.2.   功能组件

²         数据库读写类

操作数据库,读写数据中的内容,保证数据库操作的完整性、一致性。

²         数据生成类

组装数据,方便组件之间的数据交换。

²         业务计算类

计费结算系统会有大量的计算公式、优惠策略,所以本类组件即为业务优惠计算的封装等等。

3.3.   业务组件

²         流程控制类

调用功能模块,组装成业务功能。

²         事务控制类

确保业务功能的原子操作性。

²         接口实现类

实现组件的接口,以至于可注册到组件运行框架上,并正常运行。

第4章 使用流程

 

使用流程图

第5章 版本规划

版本

时间

目标

V0.X

2010

依托项目预算发布 0.1 版本,验证框架的可行性;

V1.X

2011

依托项目发布 1.0 版本,满足用户的开发需求,稳定上线;

支持 Linux 平台;

平台移植;

V2.X

2012

支持 OSGI 标准;

开发 Eclipse 插件;

发布标准的开发包;

V3.X

2013

走开源路线,贡献开源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值