一: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. 【jQuery】 JQ和AJAX

    AJAX AJAX全称异步 JavaScript 和 XML(Asynchronous JavaScript and XML),是一种用于网页前端和网站后台进行数据交互的手段.关于AJAX的详细介绍在 ...

  2. Java ORM Hibernate 入门笔记

    一.下载 官网地址:http://hibernate.org/ Hibernate下有ORM(关系型数据库).OGM(NoSQL数据库).Search(对象全文检索).Validator的工具. OR ...

  3. MyBatis-plus 代码生成器

    1.添加pom文件依赖 <!-- Mybatis-Plus 自动生成实体类--> <dependency> <groupId>com.baomidou</gr ...

  4. Android开发之dip, dp, px, sp区别

    显示单位px和dip以及sp的区别 dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA.HVGA和Q ...

  5. beta冲刺7

    前言:最后一篇惹.明天就是正式交差了.有点慌-- 昨天的未完成: 用户试用+测评 输入部分的正则式判定 今天的工作: 登陆界面修改 我的社团显示效果优化 部分信息注册后锁定无法修改 其他部分功能优化 ...

  6. 个人作业Week3-案例分析

    DeadLine:2017.10.13 23:00 声明:本作业以邹欣老师博客 http://www.cnblogs.com/xinz/archive/2012/03/26/2417699.html ...

  7. python自动发邮件

    from email.header import Header from email.mime.text import MIMEText from email.utils import parsead ...

  8. 项目Beta冲刺Day4

    项目进展 李明皇 今天解决的进度 因服务器端未完成登录态维护,故无法进行前后端联动. 明天安排 前后端联动调试 林翔 今天解决的进度 因上课和实验室事务未完成登录态维护 明天安排 完成登录态维护 孙敏 ...

  9. EasyUI 中easyui-textbox和easyui-searchbox文本框的点击事件。

    html: <input id="txtsearch" class="easyui-textbox" data-options="buttonT ...

  10. csrf学习笔记

    CSRF全称Cross Site Request Forgery,即跨站点请求伪造.我们知道,攻击时常常伴随着各种各样的请求,而攻击的发生也是由各种请求造成的. CSRF攻击能够达到的目的是使受害者发 ...