我正在开发一个基于 .NET 的服务器组件,该组件使用各种特定于目标的协议与一组目标(具体而言,股权期权交换)进行通信。我们计划添加的下一个目标使用 CORBA,因此我正在研究可以使用 CORBA 的 .NET 库。
到目前为止,我发现了三种可能性:
- IIOP.NET是一个开源项目,看起来很成熟并且相当活跃。
- J-Integra Espresso是 Intrinsyc 的 Microsoft <-> Java 互操作性工具套件之一。
- VisiBroker for .NET(以前称为“Janeva”)是 Borland 的 VisiBroker CORBA 包的一个模块。
有没有人有任何这些经验,好的或坏的?
还有其他选择吗?
我可以通过混合的本地托管 C++/CLI 代码使用基于 C++ 的 CORBA 库之一(omniORB和TAO似乎是前两个,但还有其他),但数据需要进出托管核心服务器在某些时候增加了编组的性能成本,并且在混合代码场景中使用本机 C++ 库往往是相当痛苦的。
更新 - 我们已经开始使用 IIOP.NET,到目前为止它看起来还不错。最新版本 (1.9 sp1) 的性能似乎可以接受,并且 API 相当易于使用。我肯定会按照 Todd Stout 的建议研究IKVM - 如果 IIOP.NET 没有成功,这看起来是一个非常有趣的可能性。
更新 #2(2010 年 7 月)——我们在生产环境中使用 IIOP.NET 已有一段时间了,效果很好。IIOP.NET 项目并不完全是我所说的活动项目,但 CORBA 也不是,因此似乎不需要更多的开发。