1. CORBA
是协议, 是规范
2. ACE
是一组C++函数库集合
3. TAO
TAO是一种C++ ORB和POA, 实现基于ACE。(应该是CORBA的一个实现)
4. ORB, (我觉得也是一种协议??)
ORB 对象请求代理 (ORB) 是 CORBA 的核心组件。CORBA 对象之间从不直接进行通信,对象通过远程桩对运行在本地计算机上的 ORB 发出请求。本地 ORB 使用 Internet Inter-Orb 协议(IIOP 为缩写形式)将该请求传递给其他计算机上的 ORB。然后,远程 ORB 定位相应的对象、处理该请求并返回结果。
5. POA
POA是在CORBA2.3规范中提出的以取代基本对象适配器BOA(Basic Object Adapter),这是因为BOA在CORBA服务器中不易在ORBs之间移植。尽管CORBA 服务器端的移植性与应用服务器关系不大。POA在应用服务器上的应用的最主要的好处是它提供了很大的灵活性:可以将抽象的CORBA对象映射成JAVA 对象,并且能控制资源的利用和Java对象的生命周期。
每一个CORBA服务器可以有多个POAs,每一个POA可以提供不同的功能或者支持不同的特性。而且每个POA都提供一个独立的对象生存空间,相应有一套POA策略来决定这些寄存的对象如何被激活以及如何建立对象的参考。POA策略是相当复杂的。然而,IONA使用了一种叫做服务定位器(ServantLocator)的策略,这是POA策略中最具有伸缩性的。
个人观点
CORBA, POA, ORB都是协议, 是规范 ?
TAO是CORBA, POA,和ORB的一个实现 ?还有一些别的实现VisioBroker, PrismTech OpenFusion, JacORB, OCI, etc