ACE
自适配通信环境 (Adaptive Communication Environment)是面向对象的构架和工具包,它为通信软件实现了核心的并发和分布式模式。ACE包含的多种组件可以帮助通信软件的开发获得更好的灵活性、效率、可靠性和可移植性。ACE中的组件可用于以下几种目的:
体系结构
如图
1-1所示,ACE具有分层的体系结构。在ACE构架中有三个基本层次:

图
1-1 ACE的体系结构 1.1.1 OS适配层OS
适配层是位于本地OS API和ACE之间的“瘦”代码层,它使ACE的较高层与平台依赖性屏蔽开来,从而使得通过ACE编写的代码保持了相对的平台无关性。只需要极少的努力,开发者就可以将ACE应用移植到任何平台上。OS
适配层也是ACE构架之所以可用于如此多的平台的原因所在。目前ACE适用的OS平台包括:实时OS(VxWorks、Chorus、LynxOS和pSoS)、大多数版本的UNIX(SunOS 4.x和5.x; SGI IRIX 5.x和6.x; HP-UX 9.x, 10.x和11.x; DEC UNIX 3.x和4.x; AIX 3.x和4.x; DG/UX; Linux; SCO; UnixWare; NetBSD和FreeBSD)、Win32(使用MSVC++和Borland C++的WinNT 3.5.x、4.x、Win95和WinCE)以及MVS OpenEdition。 1.1.2 C++包装层C++
包装层包括一些C++包装类,它们可用于构建高度可移植的和类型安全的C++应用。这是ACE工具包最大的一部分,大约包含了总源码的50%。C++包装类可用于:
1.1.3 ACE构架组件
ACE
构架组件是ACE中最高级的“积木”,它们的基础是若干针对特定通信软件领域的设计模式。设计者可以使用这些构架组件来帮助自己在高得多的层面上思考和构建系统。这些组件实际上为将要构建的系统提供了“袖珍体系结构”,因此这些组件不仅在开发的实现阶段、同时在设计阶段都是有用的。ACE的这一层含有以下一些大型组件:
尽管计算机网络领域发展迅速,编写通信软件已经变得更为困难。大量消耗在开发通信软件上的努力不过是“重新发明轮子”的变种,已知的可以在应用间通用的组件被重写,而不是被复用。通过收集通用的组件和体系结构(它们在网络和系统编程领域一再被复用),
ACE为这一问题提供了解决方案。应用开发者可以采用ACE,挑选和选择在他的应用中所需的组件,并开始在ACE工具箱的陪伴下构建应用。除了在C++包装层中收集简单的“积木”,ACE还包括了大的体系结构“积木”,它们采用了已被证明在软件开发领域中行之有效的“模式”和“软件体系结构”。