ACE自适配通信环境

2016-01-29 12:10 9 1 收藏

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

【 tulaoshi.com - C语言心得技巧 】

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

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

一、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)

来源:http://www.tulaoshi.com/n/20160129/1484932.html

延伸阅读
标签: Java JAVA基础
以下是一个snippet代码,演示了JSP页面如何与 EJB session bean进行相互作用。 <%@ page import="javax.naming.*, javax.rmi.PortableRemoteObject, foo.AccountHome, foo.Account" % <%! //declare a "global" reference to an instance of the home interface of the session bean AccountHome accHome=null; ...
VisualBasic中通信控件及其在windows平台下的通信软件设计方法,并结合具体实例给出了基本的通信程序。 1992年crescentsoftwareinc.公司专为vb设计了mscomm.vbx用户通信控件,它提供了通过串口发送和接收数据的串行通信能力,不但包括了全部windowsapi中关于串行通信的16个函数所完成的功能,而且开拓了更多的使用户设计方便的对...
usb蓝牙适配器怎么用   1.在网站上下载蓝牙适配器驱动,并将其安装上,如图1所示   图1 2.将usb蓝牙适配器插在电脑的USB接口上,   图2 3.插上usb蓝牙适配器后电脑上就会有蓝牙的标志,之后就按怎样用蓝牙适配器的教程上的步骤来就可以使用了。 图老师健康网温馨提示:若usb蓝牙适配器是...
SIP 服务器注册 要启用出席信息服务,需要创建一个“配置文件”对象。配置文件对象是通过 IRTCClientProvisioning::CreateProfile 方法创建的。要创建配置文件对象,客户端应用程序需要创建一个符合装置架构的 XML 字符串。XML 架构的&&属性包括: 装置设置 - 配置文件的唯一标识符。 用户设置 - 用户的 URI、领域和...
Winsock控件是VB5.0的新增功能,它解决了以往应用VB编程时网络中应用程序之间无法实现点对点通信的难题。Winsock使用的TCP协议和UDP协议允许建立并保持一个到远程计算机上的连接,且可以在连接结束之前实时地进行数据交换。用户仅通过设置属性并借助事件处理就能够轻而易举地连接到一个远程的计算机上,而且只用两个命令就可以实现数据交换。 ...

经验教程

177

收藏

89
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部