ACE自适配通信环境

爱生活V爱小伟

爱生活V爱小伟

2016-01-29 12:10

ACE自适配通信环境,ACE自适配通信环境

ACE自适配通信环境
撰文/Douglas C. Schmidt 翻译/马维达

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/cyuyanjiaocheng/)

一、ACE综述

ACE自适配通信环境(ADAPTIVE Communication Environment)是可自由使用、开放源码的面向对象(OO)构架(framework),它实现了许多用于并发通信软件的核心模式。ACE提供了一组丰富的可重用C++包装外观(wrapper facade)和构架组件,可跨多种平台完成通用的通信软件任务,其中包括:事件多路分离和事件处理器分派、信号处理、服务初始化、进程间通信、共享内存管理、消息路由、分布式服务动态(重)配置、并发执行和同步,等等。

ACE的目标用户是高性能和实时通信服务和应用的开发者。它简化了使用进程间通信、事件多路分离、显式动态链接和并发的OO网络应用和服务的开发。此外,通过服务在运行时与应用的动态链接,ACE使系统的配置和重配置得以自动化。

ACE正在进行持续的改进。Riverace公司(http://www.riverace.com)采用开放源码商业模式对ACE进行商业支持。此外,ACE开发组的许多成员目前正在进行The ACE ORB(TAO,http://www.cs.wustl.edu/~schmidt/TAO.html)的开发工作。

二、使用ACE的好处

诸多使用ACE的好处包括:
(1) 增强可移植性:在ACE组件的帮助下,很容易在一种OS平台上编写并发网络应用,然后快速地将它们移植到各种其他的OS平台上。而且,因为ACE是开放源码的自由软件,你无需担心被锁定在特定的操作系统平台或编译器上。
(2) 更好的软件质量:ACE的设计使用了许多可提高软件质量的关键模式,这些质量因素包括通信软件灵活性、可扩展性、重用性和模块性。
(3) 更高的效率和可预测性:ACE经小心设计,支持广泛的应用服务质量(QoS)需求,包括延迟敏感应用的低响应等待时间、高带宽应用的高性能,以及实时应用的可预测性。
(4) 更容易转换到标准的高级中间件:TAO使用了ACE提供的可重用组件和模式。它是CORBA的开发源码、遵循标准的实现,并为高性能和实时系统作了优化。为此,ACE和TAO被设计为能良好地协同工作,以提供全面的中间件解决方案。

三、ACE的结构和功能


下图显示了ACE中的关键组件以及它们的层次关系:
图中的结构和各层的组成部分描述如下。

四、ACE OS适配层

该层用C写成,直接驻留在本地OS API之上。它提供轻型的类POSIX OS适配层,将ACE中的其他层及组件和以下与OS API相关联的平台专有特性屏蔽开来:

(1)并发和同步:ACE的适配层封装了用于多线程、多进程和同步的OS API。

(2)进程间通信(IPC)和共享内存:ACE的适配层封装了用于本地和远地IPC、以及共享内存的OS API。

(3)事件多路分离机制:ACE的适配层封装了用于对基于I/O、定时器、信号和同步的事件进行同步和异步多路分离的OS API。

(4)显式动态链接:ACE的适配层封装了用于显式动态链接的OS API。显式动态链接允许在安装时或运行时对应用服务进行配置。

(5)文件系统机制:ACE的适配层封装了用于操作文件和目录的OS文件系统API。

ACE OS适配层的可移植性使得ACE可运行在许多操作系统上。ACE已在广泛的OS平台上被移植和测试,包括Win32(也就是,在Intel和Alpha平台,使用MSVC++、Borland C++ Builder和IBM Visual Age的WinNT 3.5.x、4.x、2000、Win95/98和WinCE)、Mac OS X、大多数版本的UNIX(例如,SPARC和Intel上的Solaris 1.x和2.x、SGI IRIX 5.x和6.x、DG/UX、HP-UX 9.x、10.x和11.x、DEC/Compaq UNIX 3.x和4.x、AIX 3.x和4.x、UnixWare、SCO,以及可自由使用的UNIX实现,比如Debian Linux 2.x、RedHat Linux 5.2、6.x和7.x、FreeBSD和NetBSD)

展开更多 50%)
分享

猜你喜欢

ACE自适配通信环境

C语言教程 C语言函数
ACE自适配通信环境

IOS自适配利器Masonry使用指南

编程语言 网络编程
IOS自适配利器Masonry使用指南

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

C++网络开发包ACE环境的配置与调试

编程语言 网络编程
C++网络开发包ACE环境的配置与调试

ACE:White wins

平面设计 海报设计 广告设计 画报设计 签名设计 服装设计 名片设计 画册设计 版式设计 商标设计
ACE:White wins

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

使用VB开发Windows环境下的串行通信程序

编程语言 网络编程
使用VB开发Windows环境下的串行通信程序

电脑网络
自

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

用VC实现支持多语言的程序

用VC实现支持多语言的程序

jsp的出错处理

jsp的出错处理
下拉加载更多内容 ↓