我正在研究一个基于.NET的服务器组件,该组件使用各种特定于目的地的协议与一组目的地(特定股权期权交换)进行通信。我们计划添加的下一个目标使用CORBA,因此我正在研究可以说CORBA的.NET库。
到目前为止,我发现了三种可能性:
有没有人有任何这些经验,不管是好还是坏?
还有其他选择吗?
我可以使用一个基于C ++的CORBA库(omniORB和TAO似乎是前两个,但还有其他的)通过混合本机管理的C ++ / CLI代码,但是数据需要在某个时刻进出服务器的托管核心,为编组添加性能成本,并且在混合代码场景中使用本机C ++库往往会非常痛苦。
更新 - 我们已经开始使用IIOP.NET,到目前为止看起来还不错。最新版本(1.9 sp1)的性能似乎可以接受,并且API相当容易使用。我肯定会按照Todd Stout的建议来看IKVM - 如果IIOP.NET没有成功,这看起来是一个非常有趣的可能性。
更新#2(2010年7月) - 我们已经在生产中使用IIOP.NET一段时间了,效果很好。 IIOP.NET项目并不完全是我所谓的活动,但后来也不是CORBA,因此似乎没有更大的开发需求。
答案 0 :(得分:6)
IIOP.NET是一个很好的开源项目,不幸的是该项目于2007年停止。 该项目没有太多文档,但它有效。
我在CORBA中使用了valuetype,而且IIOP.NET运行良好。
答案 1 :(得分:4)
我们使用Visibroker C ++并在其周围放置一个.NET包装器。这是一个维持的噩梦! Janeva的产品可能还行,但Borland最近似乎并不感兴趣。
IIOP.Net可能是您最好的选择。
答案 2 :(得分:2)
您可以使用随IKVM打包的库。 IKVM将一大部分JSE运行时作为一组.Net程序集提供(作为集合的打包是最近的增强)。 Sun的java ORB实现包含在这组库中。 IKVM通过将Open JDK二进制文件编译为.Net CIL来实现此目的。您可以引用相应的库并直接从.Net代码调用Java CORBA API。
答案 3 :(得分:0)
IONA ORBIX是我唯一经历过的人。
它也可以预期任何CORBA经纪人,但是,它的价格昂贵。