What is the difference between DDS and JMS?
The short answer is that JMS is message-centric, was developed with enterprise messaging in mind, and works only in Java whereas DDS is data-centric, was developed with real-time applications in mind, and works on multiple platforms.The Data-Centric model used by DDS can be seen as an extension of the message-centric model of JMS where, in addition to a Topic the application provides a user-defined Key that uniquely identifies a data-object for that Topic. The use of keys allows DDS to offer additional QoS such as the ability to maintain the ‘most-recent value’ of every data-object, or the ability to control the liveness of individual objects.A detailed answer to this question requires understanding the publish-subscribe models of JMS and DDS in more detail. The papers in the WhitepapersPage provide a detailed analysis and comparison of DDS with other middleware standards including JMS.