一: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. Java语法基础(1)

    Java语法基础(1) 1.      Java是一门跨平台(也就是跨操作系统)语言,其跨平台的本质是借助java虚拟机 (也就是JVM(java virtual mechinal))进行跨平台使用. ...

  2. Kotlin——从无到有系列之高级篇(一):Lambda表达式

    如果您对Kotlin很有兴趣,或者很想学好这门语言,可以关注我的掘金,或者进入我的QQ群大家一起学习.进步. 欢迎各位大佬进群共同研究.探索 QQ群号:497071402 进入正题 经过前面一系列对K ...

  3. 【数据库】mysql数据库索引

    文章归属:http://feiyan.info/16.html,我想自己去写了,但是发现此君总结的非常详细.直接搬过来了 关于MySQL索引的好处,如果正确合理设计并且使用索引的MySQL是一辆兰博基 ...

  4. oracle 常用select sql语句

    本人认为很实用的几条语句 1)select ... from ...into... 2)insert into ...select ... 3)select ...from ...left join ...

  5. iOS之SQLite使用详解

    #pragma mark - 1.引入<sqlite3.h>头文件//添加libsqlite3.0.tbd#import <sqlite3.h>static sqlite3 * ...

  6. Software Engineering-HW2

    title: Software Engineering-HW2 date: 2017-09-21 10:35:47 tags: HW --- 题目描述 从<构建之法>第一章的 " ...

  7. 201621123050 《Java程序设计》第1周学习总结

    1.本周学习总结 java历史概述 java特点:1.简单 2.面向对象 3.健壮 4.跨平台 5.类库众多 JDK.JRE.JVM JDK:JAVA 开发工具包 ,包含JRE JRE: JAVA运行 ...

  8. python 单向链表实现

    单链表的操作 is_empty() 链表是否为空 length() 链表长度 travel() 遍历整个链表 add(item) 链表头部添加元素 append(item) 链表尾部添加元素 inse ...

  9. vue mint-ui 三级地址联动

    我也是第一次写这种地址联动的 刚开始的时候 我还以为直接用select来写 后来公司的ios告知并不是这样的 他说应该时这样的 于是第一想法 赶紧找插件吧 但是找了一会未果  就问了公司大神 他刚开始 ...

  10. windows 10下通过python3.6成功搭建jupyter 服务器

    最近通过python学习爬虫技术,发现一个工具jupyter notebook很不错,该工具明显优势通过浏览器可以输入多行python代码,支持在线运行以及运行结果保存功能,在线验证python小模块 ...