2  对ACE调研

自适应通信环境(ACE,Adaptive Communication Environment)是可以自由使用、开放源码的面向对象(OO)网络框架(Framework)。ACE实现了许多用于并发通信软件的设计模式。ACE提供了一组丰富的可复用C++ Wrapper Facade(包装外观)和框架组件,可跨越多种平台完成通用的通信软件任务,其中包括:事件多路分离和事件处理器分派、信号处理、服务初始化、进程间通信、共享内存管理、消息路由、分布式服务动态配置、并发执行和同步等等。 ACE简化了使用进程间通信、事件多路分离、显式动态链接和并发的OO网络应用和服务的开发。此外,通过服务在运行时与应用的动态链接,ACE还使系统的配置和重配置得以自动化

ACE的代码大体可以分为三大部分:

1) OS Adaptation部分:这部分主要是屏蔽各操作系统的API的不同,将系统调用接口统一到C++函数的接口,以实现平台的可移植。

2)C++ Wrapper Facade部分:这部分主要是将相互关联的操作和数据结构封装到C++类中,提供统一的接口,提供强类型的检测,利用C++多态、继承等能力,形成一个架构,使本地的、远端的操作统一在一个相同接口和使用策略下。

3)Framework部分:为一组相关的应用,提供可复用的架构。开发者在确定了应用后,选择可用的架构开发应用程序,不用考虑平台和底层机制。快速的开发。

ACE是网络开发中非常流行的开源框架,使用ACE的好处有:

1)增强可移植性:在ACE组件的帮助下,很容易在一种OS平台上编写并发网络应用,然后快速地将它们移植到各种其他的OS平台上。而且,因为ACE是开放源码的自由软件,无需担心被限制在特定的操作系统平台或编译器上。

2)更好的软件质量:ACE的设计使用了许多可提高软件质量的设计模式,这些质量因素包括通信软件灵活性、可扩展性、可复用性和模块性。

3)更高的效率和可预测性:ACE经仔细设计,支持广泛的应用服务质量(QoS)需求,包括延迟敏感应用的低响应等待时间、高带宽应用的高性能,以及实时应用的可预测性。

4)ACE系统具备工业级质量,可靠性非常高,已经在电信、航空等诸多领域得到广泛部署和应用。

作为一名高性能的、跨平台的网络应用程序开发人员,倘若具备丰富的网络开发经验,ACE的确是个不错的选择。然而,对于本课题,ACE并不合适。理由如下:

1)如前所述,OS Adaptive部分把各平台的编程接口又统一封装了一次,和专有平台代码比,效率会低一些。本课题开发的网络应用程序仅运行于Windows操作系统,不需要考虑跨越多OS平台的问题。

2)封装和复用是近年来流行的软件开发技术。同样地,ACE也提倡这一点。但是,ACE使用了大量的设计模式,学习曲线较长。

3)如果想利用ACE开发高性能的网络应用,开发人员需要比较好的网络开发基础,有时不可避免地要对ACE框架深入了解(比如研究ACE的源代码),这一点违背了框架设计的初衷------简化开发。

3  小结

从调研结果来看以及结合课题的实际要求,本文没有找到非常适合本课题的框架。使用Windows 原生的Socket API 开发具有直观、可控性的优点,因此, 本文决定采用 Windows Socket API进行课题的设计。

上一篇:雷达电路板自动测试系统研究现状和参考文献
下一篇:图像融合的发展研究现状和参考文献

微课国内外研究现状和发展趋势

非公人士思想政治状况研究现状和参考文献

幼小衔接工作国外研究现...

二噁英暴露的生物标志物意义和研究现状

历史文化街区旅游质量文献综述和参考文献

数学语言表达国内外研究现状和参考文献

AD的发病机制研究现状和发展趋势

互联网教育”变革路径研究进展【7972字】

网络语言“XX体”研究

安康汉江网讯

新課改下小學语文洧效阅...

LiMn1-xFexPO4正极材料合成及充放电性能研究

ASP.net+sqlserver企业设备管理系统设计与开发

老年2型糖尿病患者运动疗...

麦秸秆还田和沼液灌溉对...

我国风险投资的发展现状问题及对策分析

张洁小说《无字》中的女性意识