一:ACE简介

  ADAPTIVE 通信环境(ACE,ADAPTIVE Communication Enviroment)是一种广泛的主机基础设施中间件,ACE可以免费获得,可以在http://ace.ece.uci.edu/ 或 http://www.riverace.com 下载到它。为分离关系、降低复杂度、允许功能模块的划分、ACE被设计为层次化体系结构。ACE软件包的基础是ACE OS Adaptive 层和c++ wrapper facades 的结合,它封装了核心OS并发网络编程机制。ACE 的较高层建立在这一基础之上,提供了可复用的框架、网络服务组件、基于标准的中间件等。这些中间件层联合起来,简化了网络应用程序的创建、组成、配置和移植,但不会导致显著的性能开销。

  

1:ACE OS Adaptive 层
    它由一个名为ACE_OS的类构成,此类包含了500多个C++静态方法(static method).这些方法封装了原始的、基于C的OS API,隐藏了"和平台相关"的细节、展示了统一的OS机制接口,供高级的ACE层使用。ACE_OS adaptive 层使得ACE的可移植性和可维护性变得单纯;只用ACE开发者----而不是应用程序开发者 需要了解ACE wrapper facade 底层的、和平台相关的神秘知识。
 
2:ACE C++ Wrapper Facade 层
   Wrapper facade 由一个或多个类组成,这些类将函数和数据封装在类型安全的"面向对象"接口中。ACE C++ Wrapper facade 层位于 OS adaptation 层之上,并提供了大致相同的功能,
ACE 提供了一套庞大的的Wrapper facade,几乎占整个代码库的50%,通过有选择地继承、聚合和(或)实例化这些Wrapper facade,应用程序可以结合、提炼这些Wrapper facade。
 
3:ACE framework 层
  ACE 中剩下的40%是面向对象框架。它们是多组集成在一起、相互合作的类,用来为一组相关应用提供可复用的软件架构,为获得成功的、系统化的可复用性,面向对象框架很关键;因为它们补充、加强了其他复用技术,如类库、组件、模式。例如,较之复用“单独的类”或“独立的函数”,ACE框架加强了“和应用相关的类”和“独立于应用的类”之间的集成与合作,可以获得更大范围的软件可复用性。ACE框架集成、扩充了C++ wrapper facade类;它们运用高级的并发和网络编程模式,具体化了ACE中多组相关类之间的标准控制流程和合作。
 
4:ACE 网络组件层
    除了前面讲述的主机基础设施中间件Wrapper facade 和 framework 之外,ACE还提供了一个网络服务库,库中的服务都被包装成组件,所谓组件指的是软件系统中一个"被封装的部分",用来实现特定的一个或一组服务。虽然ACE本身并不包括这些组件,但它们被捆绑在ACE软件的发行包中,用来提供以下功能:
    演示“ACE 功能的常见使用方式”--------这些组件用来演示如何通过主要的ACE框架和类来开发灵活、高效、健壮的网络服务。
    提取“可复用的网络应用构件”-------------这些组件可以为常见的网络应用服务(如 名称管理、事件路由处理、日志记录、时间同步和网络锁定)提供可复用的实现。
 
///////////
 

ACE工具概述的更多相关文章

  1. TMS320C54x系列DSP指令和编程指南——第1章 汇编语言工具概述

    第1章 汇编语言工具概述 TMS320C54x DSP的汇编语言开发工具包括: ■  Assembler      ■  Archiver      ■  Linker      ■  Absolut ...

  2. IBM Installation Manager 工具概述(转)

    IBM Installation Manager 工具概述 IBM Installation Manager 是一款可运行在多种平台(如 IBM i. z/OS. Windows. Linux.Uni ...

  3. 性能测试学习第二天_性能测试工具概述Loadrunner介绍

    性能测试工具概述Loadrunner介绍 http://www.51testing.com/html/42/n-6542.html 其中,T直接影响用户体验时间 性能测试的原理: 记录一个访问过程的通 ...

  4. Android开发专业名词及工具概述

    前言: 系统的学习下Android开发中涉及到的一些专业名词 和Android开发工具 名词: 一.SDK(Software Development Kit) 软件开发工具包:一般都是一些软件工程师为 ...

  5. 《Android Studio实用指南》7.1 AndroidStudio代码检查工具概述

    本文节选自<Android Studio实用指南> 作者: 毕小朋 目前本书已上传到百度阅读, 在百度中搜索[Anroid Studio实用指南]便可以找到本书. Android Stud ...

  6. 《Android Studio有用指南》7.1 AndroidStudio代码检查工具概述

    本文节选自<Android Studio有用指南> 作者: 毕小朋 博客: http://blog.csdn.net/wirelessqa 眼下本书已上传到百度阅读, 在百度中搜索[Anr ...

  7. Scribe日志收集工具

    Scribe日志收集工具 概述 Scribe是facebook开源的日志收集系统,在facebook内部已经得到大量的应用.它能够从各种日志源上收集日志,存储到一个中央存储系统(可以是NFS,分布式文 ...

  8. OProfile 性能分析工具

    OProfile 性能分析工具 官方网站:http://oprofile.sourceforge.net/news/ oprofile.ko模块本文主要介绍Oprofile工具,适用系统的CPU性能分 ...

  9. Visual C++内存泄露检测—VLD工具使用说明[转]

    Visual C++内存泄露检测—VLD工具使用说明 一.        VLD工具概述 Visual Leak Detector(VLD)是一款用于Visual C++的免费的内存泄露检测工具.他的 ...

随机推荐

  1. spring - boot 监控管理模块搭建

    Spring-Actuator是Spring-boot对应用监控的集成模块,提供了我们对服务器进行监控的支持,使我们更直观的获取应用程序中加载的应用配置.环境变量.自动化配置报告等. 使用Spring ...

  2. Nginx 开启gzip 压缩,实现基于域名的虚拟主机。

    一:gzip(GNU-ZIP)是一种压缩技术. 经过gzip压缩后页面大小可以变为原来的30%甚至更小,这样,用户浏览页面的时候速度会块得多. gzip 的压缩页面需要浏览器和服务器双方都支持,实际上 ...

  3. YCSB测试HBase远程完全分布式集群

    写在前面 本文只讲一个很简单的问题,YCSB对HBase集群的测试.虽然网上有很多介绍YCSB测试HBase的文章,但都是针对本地HBase伪分布式集群的.大家都知道,稍微正式一些的压测都会要求测试客 ...

  4. Mysql的执行计划各个参数详细说明

    执行计划各个参数的说明 1.id 主要是用来标识sql的执行顺序,如果没有子查询,一般来说id只有一个,执行顺序也是从上到下 2.select_type 每个select子句的类型 a:  simpl ...

  5. Sort of Python

    表达式和运算符 什么是表达式? 1+2*3 就是一个表达式,这里的加号和乘号叫做运算符,1.2.3叫做操作数.1+2*3 经过计算后得到的结果是7,就1+2*3 = 7.我们可以将计算结果保存在一个变 ...

  6. Vue.js学习

    <!DOCTYPE html> <html> <head> <title>xxx</title> </head> <bod ...

  7. Android属性动画 nineoldandroids

    各种资源链接 nineoldandroids 任玉刚的五个图片滑动,点击menu http://blog.csdn.net/singwhatiwanna/article/details/1763998 ...

  8. CSS <input type="file">样式设置

    这是最终想要的效果~~~ 实现很简单,div设置背景图片,<input type="file"/>绝对定位上去再设置opacity:0(透明度为0 ) 直接上代码,希望 ...

  9. 2018年东北农业大学春季校赛-wyh的吃鸡

    BFS: 1. 从起点开始BFS,遇到X点则return: 2. vis[px][py][0]代表经过pxpy这点前还没有找到车: vis[px][py][1]代表经过pxpy这点前已经找到车: 3. ...

  10. 源码解析Flask的配置文件

    在flask里,我们常在主文件中定义某些配置,比如: app.debug = True app.secret_key = 'helloworld!!' 实际上,flask中默认可以进行可选的配置项有很 ...