Интеграция JMS/DDS

У меня есть устаревшее приложение C++, которое использует DDS для асинхронной связи / обмена сообщениями. Мне нужно интегрировать это приложение в среду JavaEE, которая использует JMS для обмена сообщениями. Кроме создания автономного модуля моста JMS/DDS, есть ли другие варианты, которые я мог бы иметь?

4 ответа

Решение

Если вы хотите продолжать использовать свой существующий продукт DDS, ваша лучшая ставка почти наверняка окажется пользовательским мостом. Текущие реализации DDS, как правило, не совместимы на уровне сообщений и даже не близки на уровне QoS.

Чтобы использовать что-то вроде службы сообщений RTI, вам придется использовать RTI DDS. Если вы уже используете этот конкретный продукт, это может быть вариант для вас. В противном случае, я бы порекомендовал написать мост, который явно публикует и подписывает ваши темы, представляющие интерес.

Имейте в виду, что JMS не имеет богатого набора QoS, который есть у DDS. Во всех случаях, кроме самых простых, будет необходимо выяснить, какое поведение вы действительно ожидаете от своих тем, и четко определить, как реализовать это с помощью JMS.

Вы можете попробовать создать реализацию DDS, которая просто делегирует API C++ поставщика JMS, например, используя API Apache CMS, который прекрасно работает с Apache ActiveMQ.

Итак, первое попадание Google для "моста DDS в JMS" приводит документ, в котором упоминается коммерческий продукт: служба сообщений RTI

Судя по бумаге и странице продукта, это делает то, что вы хотите. Есть бесплатная оценка (по модулю рекламный звонок, конечно.)

RTI также предоставляет отдельный двунаправленный мост DDS-JMS. Этот продукт называется Connext Integrator

Другие вопросы по тегам