Device to device communications
A non-TCP transport layer such as UDP is desired here. Among the protocols mentioned above, MQTT-SN, CoAP and DDS support UDP multicast.
Device to gateway connections
MQTT is best suited if a device or “thing” is very limited in its power, processing, memory or network capacity.
Gateway to data systems
JMS may be the right choice here if existing datacenter’s applications already use JMS as their messaging service.
Between data systems in the datacenter or cloud
The most important consideration for any messaging protocol in the datacenter will be to integrate seamlessly with the existing applications’ messaging service(s). Today this is most commonly JMS simply because it is so pervasive, although newer applications may use AMQP (possibly under a JMS API)