Domanda

Ho un'applicazione C ++ legacy che utilizza DDS per la comunicazione / messaggistica asincrona. Devo integrare questa applicazione in un ambiente JavaEE che utilizza JMS per la messaggistica. Oltre a creare un modulo bridge JMS / DDS autonomo, ci sono altre opzioni che potrei avere?

È stato utile?

Soluzione

Se vuoi continuare a utilizzare il tuo prodotto DDS esistente, la tua scommessa migliore si rivelerà quasi sicuramente un bridge personalizzato. Le attuali implementazioni di DDS non sono generalmente interoperabili a livello di messaggio e neppure a livello di QoS.

Per utilizzare qualcosa come RTI Message Service, dovrai utilizzare RTI DDS. Se stai già utilizzando quel particolare prodotto, questa potrebbe essere un'opzione per te. Altrimenti, consiglierei di scrivere un bridge che pubblica e sottoscrive esplicitamente i tuoi argomenti di interesse.

Tieni presente che JMS non ha il ricco set di QoS di DDS. In tutti i casi, tranne i più semplici, sarà necessario capire quale comportamento ci si aspetta realmente dai propri argomenti e determinare esplicitamente come implementarlo utilizzando JMS.

Altri suggerimenti

Bene, il primo successo di Google per " Bridge da DDS a JMS " riporta un documento che menziona un prodotto commerciale: RTI Message Service

Basato sulla carta e sulla pagina del prodotto, questo sembra fare quello che vuoi. Esiste una valutazione gratuita (modulo una chiamata di vendita, di sicuro.)

Potresti provare a creare un'implementazione DDS che deleghi all'API C ++ di un provider JMS, ad esempio utilizzando API CMS di Apache che funziona perfettamente con Apache ActiveMQ

RTI fornisce anche un bridge bidirezionale da DDS a JMS separato. Questo prodotto si chiama Connext Integrator

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top