Каковы альтернативы реализации OpenSplice и RTI DDS?
Я имею большой опыт работы с RTI DDS и использовал его во многих приложениях. Недавно я начал использовать OpenSplice для работы с DDS, чтобы узнать, является ли это хорошей альтернативой RTI с открытым исходным кодом. Я какое-то время держал эти две головы, пытаясь заставить сообщения проходить туда-сюда между различными реализациями, но безрезультатно.
Что (если таковые имеются) другие реализации DDS будут рекомендовать все? Я нашел другие, такие как OpenDDS, но мне действительно нужна хорошая реализация DDS, которая совместима с RTI, поддерживает C/C++/C#/Java и имеет открытый исходный код.
Я понимаю, что OpenSplice подходит под это описание, но я хочу другие. Спасибо!
3 ответа
На последнем собрании OMG OpenDDS продемонстрировала совместимость как с RTI, так и с OpenSplice (среди других реализаций DDS).
Сначала я попробовал реализацию 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 в виде проводного формата, улавливая некоторые идеи из DDS, JMS, TIBCO rendevouz и JGroups. Если вы заинтересованы, просто дайте мне знать (я скоро выпустлю v2).
Может быть очень простая причина, по которой 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 +