Could you please answer this question on StackOverflow: AllJoyn vs MQTT - what is the difference?
I realize I am simplifying it, but MQTT is essentially a transport mechanism that uses publish/subscribe model to move data from one device or application to another. MQTT is payload agnostic - meaning is doesn't specify or care what data get sent just sets up the communication channel. AllJoyn in contrast doesn't care much about how data gets from one device to another but cares very much about the payload. In fact a lot of the value of AllJoyn comes from standardizing the payload format (AllJoyn messages) that have a well defined and self-describing format that enable app-to-app and device-to-device interoperability. There is some overlap with MQTT insofar as AllJoyn includes a discovery mechanism and message routing capability but there are some early explorations underway to understand how AllJoyn messages might be routed over an MQTT network.
The main difference is in the architecture and the underlying communication network that is the basis of operation of two systems. AllJoyn is designed to handle discovery and message transfer over a proximal network or local network. AJ message transfer occurs from the sender and destination directly i.e. there is no broker involved. AJ interfaces could be designed to pretty much realize any experience from control applications to notifications to media streaming.
MQTT on the other hand is a publish subscribe framework that relies on a MQTT broker as a public IP addressable node in the system. Publishers and subscribers never connect to each other directly. MQTT was designed for remote monitoring and control for most part. Most of the MQTT deployments are over WAN network using cellular technologies. MQTT brokers are quite scalable (refer to IBM MessageSight) and provide much improved performance over HTTP.
Actually, MQTT and AllJoyn complement each other quite well. We are in the process of designing and implementing an AllJoyn to MQTT connector (bridge) that will extend AJ use cases remotely using MQTT. AJ messages would become payload over MQTT transport.
This thread is public, all members of ask.allseenalliance.org can read this page.
Asked: 2014-07-06 14:06:59 -0700
Seen: 2,103 times
Last updated: Jul 16 '14
© 2014 AllSeen Alliance, Inc. All Rights Reserved.
Linux Foundation is a registered trademark of The Linux Foundation. AllSeen and AllSeen Alliance are trademarks of the AllSeen Alliance, Inc.
Linux is a registered trademark of Linus Torvalds.