The Ifs and Buts of the Development Approaches for IoT Applications
This is an incremental solution for IoT developers facing complexity from heterogeneous devices and software life-cycle issues.
The paper examines three IoT application development approaches—Mashup-based, Model-based, and Function-as-a-Service—to address the challenge of agile development with minimal effort, and proposes combining them to reduce costs and time to release.
The recent growth of the Internet of Things (IoT) devices has lead to the rise of various complex applications where these applications involve interactions among large numbers of heterogeneous devices. An important challenge that needs to be addressed is to facilitate the agile development of IoT applications with minimal effort by the various parties involved in the process. However, IoT application development is challenging due to the wide variety of hardware and software technologies that interact in an IoT system. Moreover, it involves dealing with issues that are attributed to different software life-cycle phases: development, deployment, and progression. In this paper, we examine three IoT application development approaches: Mashup-based development, Model-based development, and Function-as-a-Service based development. The advantages and disadvantages of each approach are discussed from different perspectives, including reliability, deployment expeditiousness, ease of use, and targeted audience. Finally, we propose a simple solution where these techniques are combined to deliver reliable applications while reducing costs and time to release.