Lightweight IoT middleware for rapid application development - A. Karim Mohamed Ibrahim; Rozeha A. Rashid; A. Hadi Fikri A. Hamid; M. Adib Sarijari; Muhammad Ariff Baharudin (Universitas Ahmad Dahlan, 2019)
Sensors connected to the cloud services equipped with data analytics has created a plethora of new type of applications ranging from personal to an industrial level forming to what is known today as Internet of Things (IoT). IoT-based system follows a pattern of data collection, data analytics, automation, and system improvement recommendations. However, most applications would have its own unique requirements in terms of the type of the smart devices, communication technologies as well as its application provisioning service. In order to enable an IoT-based system, various services are commercially available that provide services such as backend-as-a-service (BaaS) and software-as-a-service (SaaS) hosted in the cloud. This, in turn, raises the issues of security and privacy. However there is no plug-and-play IoT middleware framework that could be deployed out of the box for on-premise server. This paper aims at providing a lightweight IoT middleware that can be used to enable IoT applications owned by the individuals or organizations that effectively securing the data on-premise or in remote server. Specifically, the middleware with a standardized application programming interface (API) that could adapt to the application requirements through high level abstraction and interacts with the application service provider is proposed. Each API endpoint would be secured using Access Control List (ACL) and easily integratable with any other modules to ensure the scalability of the system as well as easing system deployment. In addition, this middleware could be deployed in a distributed manner and coordinate among themselves to fulfil the application requirements. A middleware is presented in this paper with GET and POST requests that are lightweight in size with a footprint of less than 1 KB and a round trip time of less than 1 second to facilitate rapid application development by individuals or organizations for securing IoT resources.