ACE自适配通信环境

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

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

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

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

(本文来源于图老师网站,更多请访问https://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)

来源:https://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; ...
Winsock控件是VB5.0的新增功能,它解决了以往应用VB编程时网络中应用程序之间无法实现点对点通信的难题。Winsock使用的TCP协议和UDP协议允许建立并保持一个到远程计算机上的连接,且可以在连接结束之前实时地进行数据交换。用户仅通过设置属性并借助事件处理就能够轻而易举地连接到一个远程的计算机上,而且只用两个命令就可以实现数据交换。 ...
usb蓝牙适配器怎么用   1.在网站上下载蓝牙适配器驱动,并将其安装上,如图1所示   图1 2.将usb蓝牙适配器插在电脑的USB接口上,   图2 3.插上usb蓝牙适配器后电脑上就会有蓝牙的标志,之后就按怎样用蓝牙适配器的教程上的步骤来就可以使用了。 图老师健康网温馨提示:若usb蓝牙适配器是...
创建 XML 配置文件 以下代码演示如何创建 XML 配置文件字符串。 HRESULT CSIPLogin::CreateXMLProvision(LPSTR szURI, LPSTR szSIPIP, LPSTR szTransport, BSTR *bstrBuf) { ... . // 生成 XML 装置文档 wsprintf(szBuf, "<provision key="AVDConf_2" name="AVDConf_2">" "<user uri="%s" account="" password="" realm="%s" /...
标签: 电脑入门
网络适配器在哪?其实网络适配器说白了就是我们常说的网卡,硬件方面当然是在主板上插着有小灯泡的那个! 网络适配器在哪查看,桌面上右击我的电脑--属性--硬件--设备管理--倒数第2项你就可以看到你所谓的网络适配器了。(见下图演示) 网络适配器属于哪一层? 属于七层模型的第一层,物理层, 网络适配器又称网卡或网络接口卡(NIC),英...

经验教程

51

收藏

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