什么是OpenSplice和RTI DDS实现的替代方案?

时间:2012-02-29 15:04:25

标签: c# data-distribution-service

我在RTI DDS方面拥有丰富的经验,并在许多应用程序中使用过它。我最近开始使用OpenSplice与DDS合作,看看它是否是RTI的一个很好的开源替代品。我已经有了这两个对接头了一段时间,试图让消息在不同的实现之间来回传递无济于事。

每个人都推荐哪些(如果有的话)其他DDS实施?我找到了其他如OpenDDS,但我真正想要的是一个很好的DDS实现,它与RTI兼容,支持C / C ++ / C#/ Java,并且是开源的。

我意识到OpenSplice符合这个描述但我想要的不是那个。谢谢!

3 个答案:

答案 0 :(得分:8)

在最近的OMG会议上,OpenDDS展示了RTI和OpenSplice(以及其他DDS实现)的互操作性。

答案 1 :(得分:2)

我首先开始尝试OCERA(参见下面的链接)RTPS的C实现(我甚至翻译成C ++)但它只是一个RTPS v1.0协议实现,而不是完全符合DDS。具有讽刺意味的是,它是协议的第一个版本,任何DDS实现都应该用于兼容(使用可互操作的协议)。

我确定你知道DDS供应商页面,对吧? http://portals.omg.org/dds/where-can-i-get-dds/

我没有尝试过OpenSplice,但它已被用于许多军事应用程序(以及RTI),它是开源的(免费注册:D)

OpenDDS的员工与OMG产品有着悠久的传统。在一些不可互操作的OpenDDS传输中是ACE(也许是TAO,它们有效的CORBA实现)。很高兴知道他们最终可以选择互操作协议,该死的!,它在2008年的位置?

我希望它是C#!!!! ...这促使我开发(开源)一个C#发布/订阅框架/中间件,其中 Google Protocol Buffers 作为有线格式,从DDS,JMS,TIBCO rendevouz和JGroups中获取一些想法。如果您有兴趣,请告诉我(我很快就会发布v2)。

答案 2 :(得分:2)

可能有一个非常简单的原因,即OpenSplice DDS和RTI DDS之间没有相互通信,也就是说您可能没有将OpenSplice配置为使用DDSI作为其有线协议。

OpenSplice DDS目前支持两种协议:

  • DDSI,DDS互操作性有线协议
  • RT-NET,一种针对硬实时应用的专有协议

最高版本5.x OpenSplice DDS配置为使用RT-NET作为默认协议。从v6.x开始,我们将默认值更改为使用DDSI作为默认值。

您使用的是哪个版本的OpenSplice DDS?

也就是说,请注意OpenSplice DDS是开源的,并且是根据LGPL许可的。

A +