一: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. 【数据库】数据库的锁机制,MySQL中的行级锁,表级锁,页级锁

    转载:http://www.hollischuang.com/archives/914 数据库的读现象浅析中介绍过,在并发访问情况下,可能会出现脏读.不可重复读和幻读等读现象,为了应对这些问题,主流数 ...

  2. KVM之五:KVM日常管理常用命令

    1.查看.编辑及备份KVM 虚拟机配置文件 以及查看KVM 状态: 1.1.KVM 虚拟机默认的配置文件在 /etc/libvirt/qemu 目录下,默认是以虚拟机名称命名的.xml 文件,如下,: ...

  3. JS图片更换还原操作,通过图片识别标识

    //图片更换还原操作,图片识别标识 如图片img.png 可换成 img2.png function img_biaoshi(caozuo,img_id, biaoshi) { var img_src ...

  4. Linux下的 >, >>, <, ps, |, grep, /dev/null

    1 要将命令行运行的结果保存到文件中,truncate模式下使用 >,append模式下使用 >> ls > ~/test.txt 2 要将文件中的内容作为标准输入,应使用 & ...

  5. strcat函数

    原型:char  *strcat  ( char  *dest, const  char  *src) 用法:#include  <string.h> 功能:连接两个字符串:strcat( ...

  6. (译文)开始学习Webpack-应用TypeScript,配置热加载和Source Map

    项目初始化:采用TypeScript 我们的版本是: $ node --version v8.5.0 $ npm --version 5.5.1 npm版本升级了,因为npm最近带来了新特性,本地会生 ...

  7. JavaScript(第二十天)【DOM操作表格及样式】

    DOM在操作生成HTML上,还是比较简明的.不过,由于浏览器总是存在兼容和陷阱,导致最终的操作就不是那么简单方便了.本章主要了解一下DOM操作表格和样式的一些知识. 一.操作表格 <table& ...

  8. C语言第一次博客作业—输入输出

    一.PTA实验作业 题目1:7-3 温度转换 本题要求编写程序,计算华氏温度150°F对应的摄氏温度.计算公式:C=5×(F−32)/9,式中:C表示摄氏温度,F表示华氏温度,输出数据要求为整型. 1 ...

  9. 【Alpha 阶段】后期测试及补充(第十一、十二周)

    [Alpha 阶段]动态成果展示 修复了一些bug后,关于游戏的一些动态图展示如下: 终极版需求规格说明书和代码规范 经过一些细微的图片和格式的调整,完成了本学期的最终版本: [markdown版说明 ...

  10. bug终结者 团队作业第三周

    bug终结者 团队作业第三周 团队展示 队名 bug终结者 队员风采: 杨京典 20162302 风格:先构建框架,在一 一实现,在实现的过程中不断测试和修改. 擅长的技术:拆分问题,使用相对简单的思 ...