IoT Application Deployment Using Request-Response Pattern with MQTT

  • Antti LuotoEmail author
  • Kari Systä
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10544)


As IoT devices become more powerful they can also become full participants of Internet architectures. For example, they can consume and provide RESTful services. However, the typical network infrastructures do not support the architecture and middleware solutions used in the cloud-based Internet. We show how systems designed with RESTful architecture can be implemented by using an IoT-specific technology called MQTT. Our example case is an application development and deployment system that can be used for remote management of IoT devices.


Internet-of-Things IoT REST MQTT 


  1. 1.
    Ahmadighohandizi, F., Systä, K.: Application development and deployment for IoT devices. In: CLIoT 2016: The 4th Workshop on CLoud for IoT (2016)Google Scholar
  2. 2.
    Atachiants, R.: Stock explorer: using pub/sub for request/response (2016). Accessed 03 Feb 2017
  3. 3.
    Bellavista, P., Zanni, A.: Towards better scalability for IoT-cloud interactions via combined exploitation of MQTT and COAP. In: 2016 IEEE 2nd International Forum on Research and Technologies for Society and Industry Leveraging a Better Tomorrow (RTSI), pp. 1–6. IEEE (2016)Google Scholar
  4. 4.
    Chen, H.W., Lin, F.J.: Converging MQTT resources in ETSI standards based M2M platform. In: 2014 IEEE International Conference on Internet of Things (iThings), and Green Computing and Communications (GreenCom) and IEEE Cyber, Physical and Social Computing (CPSCom), pp. 292–295. IEEE (2014)Google Scholar
  5. 5.
    Collina, M., Corazza, G.E., Vanelli-Coralli, A.: Introducing the QEST broker: scaling the IoT by bridging MQTT and REST. In: 2012 IEEE 23rd International Symposium on Personal, Indoor and Mobile Radio Communications (PIMRC), pp. 36–41. IEEE (2012)Google Scholar
  6. 6.
    Cugola, G., Migliavacca, M., Monguzzi, A.: On adding replies to publish-subscribe. In: Proceedings of the 2007 Inaugural International Conference on Distributed Event-Based Systems, pp. 128–138. ACM (2007)Google Scholar
  7. 7.
    Documentation for Eclipse Kura: MQTT namespace guidelines. Accessed 05 Oct 2016
  8. 8.
    Espinosa-Aranda, J.L., Vallez, N., Sanchez-Bueno, C., Aguado-Araujo, D., Bueno, G., Deniz, O.: Pulga, a tiny open-source MQTT broker for flexible and secure IoT deployments. In: 2015 IEEE Conference on Communications and Network Security (CNS), pp. 690–694. IEEE (2015)Google Scholar
  9. 9.
    Fielding, R.T.: Architectural styles and the design of network-based software architectures. Ph.D. thesis, University of California, Irvine (2000)Google Scholar
  10. 10.
    Fremantle, P.: A reference architecture for the internet of things. WSO2 White Paper (2014)Google Scholar
  11. 11.
    Gunawan, L.A.: Request/response pattern over MQTT (2014). Accessed 05 Oct 2016
  12. 12.
    Hill, J.C., Knight, J.C., Crickenberger, A.M., Honhart, R.: Publish and subscribe with reply. Technical rep, DTIC Document (2002)CrossRefGoogle Scholar
  13. 13.
    HIVEMQ: MQTT essentials part 5: MQTT topics & best practices. Accessed 05 Oct 2016
  14. 14.
    Hylli, O., Ruokonen, A., Mäkitalo, N., Systä, K.: Orchestrating the Internet of Things dynamically. In: First International Workshop on Mashups of Things and APIs (MoTA) Co-located with MIDDLEWARE 2016 (2016, to appear)Google Scholar
  15. 15.
    Jaffey, T.: MQTT and CoAP, IoT protocols (2014). Accessed 03 Feb 2017
  16. 16.
    Karagiannis, V., Chatzimisios, P., Vazquez-Gallego, F., Alonso-Zarate, J.: A survey on application layer protocols for the Internet of Things. Trans. IoT Cloud Comput. 3(1), 11–17 (2015)Google Scholar
  17. 17.
    Kuuskeri, J., Turto, T.: On actors and the REST. In: Benatallah, B., Casati, F., Kappel, G., Rossi, G. (eds.) ICWE 2010. LNCS, vol. 6189, pp. 144–157. Springer, Heidelberg (2010). CrossRefGoogle Scholar
  18. 18.
    Mosquitto: Mosquitto - an open source MQTT v3.1/v3.1.1 broker. Accessed 05 Oct 2016
  19. 19.
    MQTT.js: The MQTT client for Node.js and the browser. Accessed 05 Oct 2016
  20. 20. MQTT. Accessed 05 Oct 2016
  21. 21.
    Nicholas, S.: Power profiling: HTTPS long polling vs. MQTT with SSL, on Android (2012). Accessed 05 Oct 2016
  22. 22.
    Node.js: About node.js. Accessed 08 Nov 2016
  23. 23.
    OASIS MQTT Technical Committee: Request/reply message exchange patterns and MQTT version 1.0 working draft 02 (2015). Accessed 05 Oct 2016
  24. 24.
    Rao, S., Chendanda, D., Deshpande, C., Lakkundi, V.: Implementing LWM2M in constrained IoT devices. In: 2015 IEEE Conference on Wireless Sensors (ICWiSe), pp. 52–57. IEEE (2015)Google Scholar
  25. 25.
    Rodríguez-Domínguez, C., Benghazi, K., Noguera, M., Garrido, J.L., Rodríguez, M.L., Ruiz-López, T.: A communication model to integrate the request-response and the publish-subscribe paradigms into ubiquitous systems. Sensors 12(6), 7648–7668 (2012)CrossRefGoogle Scholar
  26. 26.
    Solace Systems: Request/reply (MQTT). Accessed 05 Oct 2016
  27. 27.
    Uehara, M.: A case study on developing cloud of things devices. In: 2015 Ninth International Conference on Complex, Intelligent, and Software Intensive Systems (CISIS), pp. 44–49. IEEE (2015)Google Scholar

Copyright information

© Springer International Publishing AG 2018

Authors and Affiliations

  1. 1.Tampere University of TechnologyTampereFinland

Personalised recommendations