Skip to main content
Log in

A Systematic Review on Software Architectures for IoT Systems and Future Direction to the Adoption of Microservices Architecture

  • Review Article
  • Published:
SN Computer Science Aims and scope Submit manuscript

Abstract

The Internet of Things-based systems and software allow computations anywhere at any time by interconnecting individuals, networks, services, computers and artefacts that allow autonomous systems to form digitized communities. As the blueprint for software-intensive applications, and software architecture that precise the complexity of a network’s planning, development, and changing phases to effectively and efficiently build complex IoT-driven applications. In any case, there exists no comprehensive analysis in the state of the research on the adoption of MSA for IoT systems. This study effort is needed to explore architectural concepts and practices for designing and developing IoT software to excel state-of-the-art for IoTs along with suggestions and recommendations for IoT software to the adoption of MSA to fulfil the identified gaps. A systematic analysis was coordinated, covering up the literature on existing IoT solutions by studying 140 qualitatively selected articles performed between 2005 and Jan 2020. One hundred forty articles were comprised in this SLR. The findings of this study demonstrated different research topics including software architectural styles, patterns, and models to build IoT software. This research presents cloud-based computing environments, autonomous, software-defined networking, and responsive applications, and IoT-driven agent-based systems, (1) thirteen MSA architectural and design patterns for IoTs and classification of patterns, (2) classification of software architectures for IoTs into nine main categories and their sub-categories, (3) twenty-three most investigated IoT challenges, and (4) mapping of IoT challenges with software architectural solutions. The study revealed the innovative work on IoT software architecture and trends that help in the creation and dynamic adaptation of IoT software for reusability, automation and human decision-making. The outputs of this SLR are useful in revealing many recommendations to the software industry, software engineering community, and computer sciences community with over the past 15 years of research into the adoption of MSA. This study reflects a distilled awareness of architectural practices and principles to assist researchers and practitioners in promoting information sharing software architectural roles and responsibilities for the Internet of Things software.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12

Similar content being viewed by others

References

  1. Chen S, Hui Xu, Liu D, Bo Hu, Wang H. A vision of IoT: applications, challenges, and opportunities with china perspective. IEEE Internet Things J. 2014;1(4):349–59.

    Article  Google Scholar 

  2. H. F. Elyamany and A. H. AlKhairi. IoT-academia architecture: a profound approach. In: 2015 IEEE/ACIS 16th international conference on software engineering, artificial intelligence, networking and parallel/distributed computing (SNPD). Takamatsu; 2015, p. 1-5. https://doi.org/10.1109/SNPD.2015.7176275.

  3. Al-Fuqaha A, Guizani M, Mohammadi M, Aledhari M, Ayyash M. Internet of things: a survey on enabling technologies, protocols, and applications. IEEE Commun Surv Tutor. 2015;17:2347–76.

    Article  Google Scholar 

  4. Zanella A, Bui N, Castellani A, Vangelista L, Zorzi M. Internet of things for smart cities. IEEE Internet Things J. 2014;1:22–32.

    Article  Google Scholar 

  5. Evans D. The Internet of Things How the Next Evolution of the Internet Is Changing Everything; White Paper; CISCO: San Jose CA USA, 2011.

  6. Abed AA. Internet of Things (IoT): architecture and design. In: 2016 Al-Sadeq international conference on multidisciplinary in IT and communication science and applications (AIC-MITCSA). Baghdad; 2016, p. 1-3. https://doi.org/10.1109/AIC-MITCSA.2016.7759958.

  7. Petersen K, Feldt R, Mujtaba S, Mattsson M. Systematic mapping studies in software engineering. In: Proceedings of the 12th international conference on evaluation and assessment in software engineering (EASE'08). Swindon, GBR: BCS Learning & Development Ltd.; 2008, p. 68–77.

  8. Manev D, Dimov A. Facilitation of IoT software maintenance via code analysis and generation. In 2017 2nd International multidisciplinary conference on computer and energy science (SpliTech). Split; 2017, p. 1-6.

  9. Florio L, Nitto ED. Gru: an approach to introduce decentralized autonomic behavior in microservices architectures. In: 2016 IEEE international conference on autonomic computing (ICAC). Wurzburg; 2016, p. 357-362. https://doi.org/10.1109/ICAC.2016.25.

  10. Ghayyur SA, Razzaq A, Ullah S, Ahmed S. Matrix clustering based migration of system application to microservices architecture. Int J Adv Comput Sci Appl. 2018;9:284–96.

    Google Scholar 

  11. Qiao Y, Nolani R, Gill S, Fang G, Lee B. ThingNet: a micro-service based IoT macro-programming platform over edges and cloud. In: 2018 21st Conference on innovation in clouds, internet and networks and workshops (ICIN). Paris; 2018, p. 1-4. https://doi.org/10.1109/ICIN.2018.8401626.

  12. Alshuqayran N, Ali N, Evans R. A systematic mapping study in microservice architecture. In: 2016 IEEE 9th international conference on service-oriented computing and applications (SOCA). Macau; 2016, p. 44-51. https://doi.org/10.1109/SOCA.2016.15.

  13. Ninikrishna T, et al. Software defined IoT: issues and challenges. In: 2017 International conference on computing methodologies and communication (ICCMC). Erode; 2017, p. 723-726. https://doi.org/10.1109/ICCMC.2017.8282560.

  14. Breivold HP, Sandström K. Internet of things for industrial automation—challenges and technical solutions. In: 2015 IEEE international conference on data science and data intensive systems. Sydney, NSW; 2015. p. 532–539. https://doi.org/10.1109/DSDIS.2015.11.

  15. Patra L, Rao UP. Internet of things—architecture, applications, security and other major challenges. In: 2016 3rd International conference on computing for sustainable global development (INDIACom). New Delhi; 2016. p. 1201–1206.

  16. del Río J, Daniel MT, Enoc M, O’Reilly TC, Eric D, Jay SP, Christoph W, Simon J. A sensor web architecture for integrating smart oceanographic sensors into the semantic sensor web. IEEE J Ocean Eng. 2018;43(4):830–42. https://doi.org/10.1109/JOE.2017.2768178.

    Article  Google Scholar 

  17. Quinnell R. 10 Top Challenges Industrial IoT Must Overcome in 2015.

  18. Weyrich M, Christof E. Reference architectures for the Internet of Things. IEEE Softw. 2016;33(1):112–6. https://doi.org/10.1109/MS.2016.20.

    Article  Google Scholar 

  19. Chen S, Hui X, Dake L, Bo H, Hucheng W. A vision of IoT: applications, challenges, and opportunities with china perspective. IEEE Internet Things J. 2014;1(4):349–59. https://doi.org/10.1109/JIOT.2014.2337336.

    Article  Google Scholar 

  20. Jacob PM, Prasanna M. Software architecture pattern selection model for Internet of Things based systems. IET Softw. 2018;12(5):390–6. https://doi.org/10.1049/iet-sen.2017.0206.

    Article  Google Scholar 

  21. Wan J, Shenglong T, Zhaogang S, Di L, Shiyong W, Muhammad I, Athanasios VV. Software-defined industrial Internet of Things in the Context of Industry 4.0. IEEE Sens J. 2016;16:7373–80.

    Article  Google Scholar 

  22. Cavalcante E, Alves MP, Batista T, Delicato FC, Pires PF. An analysis of reference architectures for the internet of things. In: 2015 1st International workshop on exploring component-based techniques for constructing reference architectures (CobRA). Montreal, QC; 2015. p. 1–4.

  23. Muccini H, Moghaddam MT. IoT architectural styles. In: Cuesta C, Garlan D, Pérez J, editors. Software architecture. ECSA 2018. Lecture Notes in Computer Science, vol. 11048. Cham: Springer; 2018. https://doi.org/10.1007/978-3-030-00761-4_5

    Chapter  Google Scholar 

  24. Capilla R, Anton J, Antony T, Paris A, Muhammad AB. 10 years of software architecture knowledgemanagement: practice and future. J Syst Softw. 2016;116:191–205.

    Article  Google Scholar 

  25. Campeanu G. A mapping study on microservice architectures of Internet of Things and cloud computing solutions. In: 2018 7th Mediterranean conference on embedded computing (MECO). Budva; 2018. p. 1–4. https://doi.org/10.1109/MECO.2018.8406008.

  26. Basili VR, Caldiera G, Rombach HD. The goal question metric approach. In: Encyclopedia of software engineering, vol. 1. John Wiley & Sons; 1994, p. 528–532. ISBN 0-471-54004-8.

  27. Petersen K, Feldt R, Mujtaba S, Mattsson M. Systematic mapping studies in software engineering. In: Proceedings of the 12th international conference on evaluation and assessment in software engineering (EASE'08). Swindon, GBR: BCS Learning & Development Ltd.; 2008. p. 68–77.

  28. Kitchenham BA, Charters S. Guidelines for performing systematic literature reviews in software engineering. Technical report EBSE-2007-01. School of Computer Science and Mathematics, Keele University; 2007.

  29. Sharma S, Victor C, Tim US, Johnny W, Shashi G. Cloud and IoT-based emerging services systems. Clust Comput. 2018;22:71–91.

    Article  Google Scholar 

  30. Shahid N, Sandhya A. Internet of Things: Vision, application areas and research challenges. In: International conference on I-SMAC (IoT in Social, Mobile, Analytics and Cloud) (I-SMAC); 2017. p. 583–587.

  31. Kobusińska A, Leung C, Hsu C-H, Raghavendra S, Chang V. Emerging trends, issues and challenges in Internet of Things, big data and cloud computing. Future Gener Comput Syst. 2018;87:416–9. https://doi.org/10.1016/j.future.2018.05.021.

    Article  Google Scholar 

  32. Galletta A, Lorenzo C, Alina B, Antonio C, Massimo V. A Microservices-based platform for efficiently managing oceanographic data. In: 2018 4th international conference on big data innovations and applications (Innovate-Data). IEEE; 2018.

  33. Farhan L, Kharel R, Kaiwartya O, Quiroz-Castellanos M, Alissa A, Abdulsalam M. A concise review on internet of things (iot) -problems, challenges and opportunities. In: 2018 11th International symposium on communication systems, networks & digital signal processing (CSNDSP). Budapest; 2018, p. 1-6. https://doi.org/10.1109/CSNDSP.2018.8471762.

  34. Devices Profile for Web Services (DPWS), OASIS standard. https://docs.oasis-open.org/ws-dd/ns/dpws/2009/01. Accessed 30 Mar 2020.

  35. The Constrained Application Protocol (CoAP), Internet Engineering Task Force (IETF) proposed standard RFC 7252. https://datatracker.ietf.org/doc/rfc7252/. Accessed 25 Mar 2020.

  36. Easterbrook S, Singer J, Storey MA, Damian D. Selecting empirical methods for software engineering research. In: Shull F, Singer J, Sjøberg DIK, editors. Guide to advanced empirical software engineering. London: Springer; 2008. p. 285–311. https://doi.org/10.1007/978-1-84800-044-5_11.

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Abdul Razzaq.

Ethics declarations

Conflict of interest

The authors declare that they have no conflict of interest.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

This article is part of the topical collection “Advances in Computational Approaches for Artificial Intelligence, Image Processing, IoT and Cloud Applications” guest-edited by Bhanu Prakash K. N. and M. Shivakumar.

Appendix

Appendix

See Table 10.

Table 10 Selected articles

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Razzaq, A. A Systematic Review on Software Architectures for IoT Systems and Future Direction to the Adoption of Microservices Architecture. SN COMPUT. SCI. 1, 350 (2020). https://doi.org/10.1007/s42979-020-00359-w

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s42979-020-00359-w

Keywords

Navigation