我想将 CORBA 用于 C 应用程序,因此我想比较互联网上可用的各种实现,例如标题中提到的那些。但是,我找不到任何最新的比较,例如 this和 this .
我的核心需求如下:
- 客户端和服务器可以用不同的语言创建并在不同的操作系统上编译。
- 服务器必须能够推送调用。
- 没有数据开销,即 Web 服务及其相对庞大的 xml 消息是不可能的。
- CORBA 实现必须在允许创建商业应用程序的免费许可下提供。
这里有人可以给建议吗?我知道 CORBA 已经很老了,正如我所读到的 Why has CORBA lost popularity?和 Is CORBA legacy? ,所以我不想再开始讨论 CORBA 是如何臃肿得可怕等等。我只是想知道哪种实现最适合我的要求,但如果您知道比 CORBA 更好的东西,请随时发布这里也一样。
干杯 亚历克斯
最佳答案
我认为旧的比较已经很旧了,不再相关了。在您提到的三个 ORB 中,TAO 得到了积极的维护和支持,它是支持 IDL 到 C++ 语言映射的领先 ORB。
TAO和 MICO都是 C++ ORB,Orbit 支持 C,所以如果您的需求只是纯 C,那么 Orbit 是唯一的选择。如果您可以在 C 中再次包装 C++ ORB,那么 TAO 将是一个选择。
如果您正在寻找更现代的实现,请检查新的 IDL 到 C++11 语言映射,它非常易于使用。市场上已经有一种实现,称为 TAOX11 ,它使用 TAO 的部分内容作为其核心,但这是一个商业 ORB,具有开发人员许可证和免版税运行时许可证。
关于CORBA:omniORB、TAO、MICO、Orbit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26913478/