Treffer: Exploring dynamic RESTful API implementation in IoT environments using Docker.
Richardson, L. & Ruby, S. RESTful Web Services (O’Reilly Media Inc., 2007).
Merkel, D. Docker: Lightweight Linux containers for consistent development and deployment. Linux J. 2014(239), 2–11 (2014).
Mehta, B. RESTful Java Patterns and Best Practices (Packt Publishing, 2014).
Daigneau, R. Service Design Patterns: Fundamental Design Solutions for SOAP/WSDL and RESTful Web Services (Addison-Wesley Professional, 2011).
Shaikh, N. et al. Application of RESTful APIs in IOT: A review. Int. J. Res. Appl. Sci. Eng. Technol. 9, 1022214 (2021).
Crockford, D. (2006). JSON: The fat-free alternative to XML. in Proceedings of XML 2006 (pp. 1–1). Boston, USA. Retrieved from http://www.json.org/fatfree.html (2006).
Mulloy, B. Web API design: Crafting interfaces that developers love (2012).
Vinoski, S. RESTful web services development checklist. IEEE Internet Comput. 12(6), 94–96 (2008). (PMID: 10.1109/MIC.2008.130)
Montenegro, H. & Gómez, J. Building APIs with Python and FastAPI (Apress, 2020).
Ramírez, S. FastAPI documentation. Retrieved from https://fastapi.tiangolo.com/ (2024).
Lathkar, M. High-Performance Web Apps with FastAPI: The Asynchronous Web Framework Based on Modern Python (Packt Publishing, 2021).
Richardson, L. & Amundsen, M. RESTful Web APIs: Services for a Changing World (O’Reilly Media, Inc., 2013).
Stopford, B. Designing Event-Driven Systems (O’Reilly Media, 2018).
Pautasso, C., Zimmermann, O., & Leymann, F. (2008, April). RESTful web services vs. “big” web services: Making the right architectural decision. in Proceedings of the 17th International Conference on World Wide Web (pp. 805–814) (2008).
Gadge, S., & Kotwani, V. Microservice architecture: API gateway considerations. GlobalLogic Organisations, 11 (2017).
Zhao, J. T., Jing, S. Y. & Jiang, L. Z. Management of API gateway based on micro-service architecture. J. Phys. Conf. Ser. 1087(3), 032032 (2018). (PMID: 10.1088/1742-6596/1087/3/032032)
Ed-Douibi, H., Izquierdo, J. L. C. & Cabot, J. Automatic generation of test cases for REST APIs: A specification-based approach. in 2018 IEEE 22nd International Enterprise Distributed Object Computing Conference (EDOC) (pp. 181–190). https://doi.org/10.1109/EDOC.2018.00031 (2018).
Hartig, O., & Pérez, J. Semantics and complexity of GraphQL. in Proceedings of the 2018 World Wide Web Conference (WWW ‘18) (pp. 1155–1164). Lyon, France (2018).
Quiña-Mera, A., Fernandez, P., García, J. M. & Ruiz-Cortés, A. GraphQL: A systematic mapping study. ACM Comput. Surv. 55(10), 1–35 (2023). (PMID: 10.1145/3561818)
Pamadi, V. N., Chaurasia, A. K. & Singh, T. Comparative analysis of gRPC vs. ZeroMQ for fast communication. Int. J. Emerg. Technol. Innov. Res. 7(2), 937–951 (2020).
Chamas, C. L., Cordeiro, D. & Eler, M. M. Comparing REST, SOAP, Socket and gRPC in computation offloading of mobile applications: An energy cost analysis. in Proc. 2017 IEEE 9th Latin-American Conf. Commun. (LATINCOM), pp. 1–6 (2017).
Anderson, J. & Brown, S. Containerization in API testing: Leveraging Docker for efficient and scalable test environments. IEEE Softw. 37(1), 24–31. https://doi.org/10.1109/MS.2019.2938127 (2020). (PMID: 10.1109/MS.2019.2938127)
Niswar, M., Safruddin, R. A., Bustamin, A. & Aswad, I. Performance evaluation of microservices communication with REST, GraphQL, and gRPC. Int. J. Electron. Telecommun. 70(2), 429–436 (2024). (PMID: 10.24425/ijet.2024.149562)
Flask, “Welcome to Flask,” Flask Documentation. [Online]. Available: https://flask.palletsprojects.com/.
FastAPI, “FastAPI – The fast web framework for building APIs with Python 3.7+,” [Online]. Available: https://fastapi.tiangolo.com/.
Django, “Django Web Framework,” [Online]. Available: https://www.djangoproject.com/.
Felter, W., Ferreira, A., Rajamani, K. & Rubio, J. An updated performance comparison of virtual machines and Linux containers. in 2015 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS) (pp. 171–172) (2015).
Kunda, D., Chihana, S., & Sinyinda, M. Web server performance of apache and Nginx: A systematic.
Pahl, C. Containerization and the paas cloud. IEEE Cloud Comput. 2(3), 24–31 (2015). (PMID: 10.1109/MCC.2015.51)
Newman, S. Building Microservices: Designing Fine-Grained Systems (O’Reilly Media, Inc., 2015).
Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter, L., Leach, P. Berners-Lee, T. RFC 2616: Hypertext Transfer Protocol—HTTP/1.1. Retrieved from http://tools.ietf.org/html/rfc2616 (1999).
Higginbotham, J. The Principles of API Design (O’Reilly Media, Inc., 2018).
Voron, F. Building Data Science Applications with FastAPI: Develop, manage, and deploy efficient machine learning applications with Python (Packt Publishing Ltd., 2023).
Makris, A., Tserpes, K., Spiliopoulos, G., Zissis, D. & Anagnostopoulos, D. MongoDB Vs PostgreSQL: A comparative study on performance aspects. GeoInformatica 25, 243–268 (2021). (PMID: 10.1007/s10707-020-00407-w)
Stonebraker, M., Rowe, L. & Wong, E. The design of POSTGRES. in Proceedings of the 1986 ACM SIGMOD International Conference on Management of Data, 340–355 (2007).
Docker Documentation. (n.d.). Docker Compose Overview. Retrieved from https://docs.docker.com/compose/ .
Gkatziouras, E. A Developer’s Essential Guide to Docker Compose: Simplify the Development and Orchestration of Multi-container Applications (Packt Publishing Ltd., 2022).
Smith, R. Docker Orchestration (Packt Publishing Ltd., 2017).
Weitere Informationen
Effective deployment solutions are essential for maximizing the capabilities of Internet of Things (IoT) devices and platforms. This study proposes a technique for enhancing the management, monitoring, and deployment of Internet of Things (IoT) devices, focusing on Dynamic RESTful APIs and Docker technologies. The suggested framework emphasizes reliable interaction and real-time flexibility between IoT devices and deployment infrastructures via a Dynamic RESTful API, combined with the deployment convenience given by Docker's lightweight containerization. The framework's applicability in real-world contexts was tested using an ESP8266 NodeMCU microcontroller and Raspberry Pi, both coupled with DHT11 sensor used to measure temperature and humidity readings. The devices' own ability to interact via built-in Wi-Fi, which enables data transfer and storage via HTTP requests, demonstrates the framework's usefulness in managing and deploying IoT devices. Furthermore, the API's dynamic nature, which allows for endpoint updates without requiring software modifications, provides an important feature for adaptive device behavior, solving key difficulties in IoT deployment, such as scalability and environmental condition changes. The results highlight the dynamic API's broad application and adaptability across various IoT devices, demonstrating its flexibility. This work adds to the body of knowledge on effective IoT deployment techniques while also laying the groundwork for future industry developments by establishing a framework for managing and deploying IoT devices.
(© 2025. The Author(s).)
Declarations. Competing interests: The authors declare no competing interests. GitHub Repository: The GitHub repository has been fully populated with source code, documentation, and supporting materials. It is accessible here: https://github.com/Ebenhezer/dynamic_rest/