22

我正在开发一个基于 .NET 的服务器组件,该组件使用各种特定于目标的协议与一组目标(具体而言,股权期权交换)进行通信。我们计划添加的下一个目标使用 CORBA,因此我正在研究可以使用 CORBA 的 .NET 库。

到目前为止,我发现了三种可能性:

  • IIOP.NET是一个开源项目,看起来很成熟并且相当活跃。
  • J-Integra Espresso是 Intrinsyc 的 Microsoft <-> Java 互操作性工具套件之一。
  • VisiBroker for .NET(以前称为“Janeva”)是 Borland 的 VisiBroker CORBA 包的一个模块。

有没有人有任何这些经验,好的或坏的?

还有其他选择吗?

我可以通过混合的本地托管 C++/CLI 代码使用基于 C++ 的 CORBA 库之一(omniORBTAO似乎是前两个,但还有其他),但数据需要进出托管核心服务器在某些时候增加了编组的性能成本,并且在混合代码场景中使用本机 C++ 库往往是相当痛苦的。

更新 - 我们已经开始使用 IIOP.NET,到目前为止它看起来还不错。最新版本 (1.9 sp1) 的性能似乎可以接受,并且 API 相当易于使用。我肯定会按照 Todd Stout 的建议研究IKVM - 如果 IIOP.NET 没有成功,这看起来是一个非常有趣的可能性。

更新 #2(2010 年 7 月)——我们在生产环境中使用 IIOP.NET 已有一段时间了,效果很好。IIOP.NET 项目并不完全是我所说的活动项目,但 CORBA 也不是,因此似乎不需要更多的开发。

4

4 回答 4

6

IIOP.NET 是一个很好的开源项目,不幸的是该项目于 2007 年停止。该项目没有太多文档,但它可以工作。

我在 CORBA 和 IIOP.NET 中使用 valuetype 效果很好。

于 2009-11-26T11:39:48.887 回答
4

我们使用 Visibroker C++ 并在其周围放置一个 .NET 包装器。维护是一场噩梦!Janeva 的产品可能还不错,但 Borland 现在似乎对它不太感兴趣。

IIOP.Net 可能是您最好的选择。

于 2009-01-22T11:29:14.890 回答
2

您可以使用与IKVM一起打包的库。IKVM 将大部分 JSE 运行时提供为一组 .Net 程序集(打包为一组是最近的增强功能)。Sun 的 java ORB 实现包含在这组库中。IKVM 通过将 Open JDK 二进制文件编译成 .Net CIL来实现这一点。您可以引用适当的库并直接从 .Net 代码调用 Java CORBA API。

于 2009-06-16T16:55:29.883 回答
0

IONA ORBIX 是我唯一有经验的。

它的工作原理与预期的任何 CORBA 代理一样好,但是价格昂贵。

于 2008-12-04T16:13:05.547 回答