两种最流行的开源CORBA实现

(来源:http://www.cn.ibm.com/developerWorks/linux/download/)

JacORB
JacORB 是一个用 Java 写的对象请求器 -- OMG 的 CORBA 2.0-2.3 标准。JacORB 是免费的,很容易使用和安装。最新的 版本是1.2.3。JacORB 特点:
  • 完全多线程 ORB
  • IDL 编译器,支持 OMG IDL/Java 语言映射版本 2.3
  • IIOP
  • 可移植对象适配器(POA, Portable Object Adapter)
  • POAMonitor,监视对象适配器的 GUI 工具
  • 动态激活接口(DII, Dynamic Invocation Interface)和动态框架接口(DSI, Dynamic Skeleton Interface)
  • Dynamic Management of Anys (DynAny)
  • 可移植拦截器(PI, Portable Interceptors)(标准)
  • OMG 协作命名服务(INS, Interoperable Naming Service)
  • 名称管理器(NameManager),用于名称服务的 GUI 浏览器(需要 Swing 或 JDK 1.2)
  • 改善了 SSL 上的 IIOP,包括 KeyStoreManager
  • COSS 事件服务
  • 传输服务(TS, Transaction Service),收集和并发服务(Collection and Concurrency service)
  • 交易服务(TS, TradingService)(支持交易者链接),一个 Mark Spruiell 的免费 JTrader 扩展
  • CORBA 2.3 代码集支持
  • Appligator,一个 IIOP 代理
  • 支持 HTTP tunneling
  • 域管理器(Domain Manager),一个对象域管理服务,包括一个 GUI 域浏览器
  • 实现仓库(IR, Implementation Repository)
  • 实现仓库管理器(Implementation Repository Manager),一个实现仓库(IR)的 GUI 前端工具
  • 所有 CORBA/COSS 接口的 IDL 和 Java 源代码
  • 包括所有的源代码和例子
  • 100% 纯 Java,兼容 JDK 1.1,同时可以与 Sun 的 JDK 1.2 类库协作
  • 免费

MICO(2.4)
缩写 MICO 展开是 MICO Is CORBA。这个项目的目的是提供一个免费并 且全兼容的 CORBA 标准的实现。作为一个开放源码项目,MICO 现在越来越流行,并且广泛应用于不同地方(有成功的范例)。一个 关键的里程碑是 OpenGroup 为 MICO 授予 CORBA 全兼容品牌,因此证明 OpenSource 能够真正地生产符合工业标准的软件。 我们的目标是保持 MICO 兼容 CORBA 的最新标准。MICO 的源代码遵守 GNU-copyright 通告。以下的设计原形导出了 MICO 实现的概貌:
  • 从草稿开始:只使用 标准 UNIX API 提供接口;不依赖私有或特殊函数库。
  • 用 C++ 来实现。
  • 使它广泛使用,而不是一个私有工具。
  • omit bells and whistles: 只实现 CORBA 兼容实现所需要的部分
  • 有清楚的内部实现设计来保证可扩展性。
我们决定使用 C++ 来实现 MICO 。如果您对用 Java 来实现感兴趣的话,去看一看 JacORB。MICO 的最新版本是 2.3.4,包括以下的特性:
  • IDL 到 C++ 的映射
  • 动态激活接口(DII, Dynamic Invocation Interface)
  • 动态框架接口(DSI, Dynamic Skeleton Interface)
  • 图形化的接口仓库(IR, Interface Repository)浏览器允许您在任何接口上调用任何方法
  • 接口仓库(IR, Interface Repository)
  • IIOP 作为本地协议(ORB 对多协议支持的准备)
  • 嵌套方法激活支持
  • 提供在编译时未知构造类型的插入和抽取接口
  • 完全的基本对象适配器(BOA, Basic Object Adapter)实现,包括的支持所有的激活模式,对象移植和实现仓库
  • BOA 可以在运行时使用载入模块加载对象实现到客户端
  • 可移植对象适配器(POA, Portable Object Adapter)
  • (OBV, Objects by Value)
  • 支持在 X11 应用开发工具(Xt, Qt 和 Gtk)和 Tcl/Tk 中使用 MICO
  • Dynamic Any
  • Interceptors
  • 支持使用 SSL 的安全通信和认证
  • CORBA Services:
    • Interoperable Naming service
    • 交易服务(TS, Trading service)
    • 事件服务(ES, Event service)
    • 关系服务(RS, Relationship service)
    • 属性服务(PS, Property service)
    • 时间服务(TS, Time service)