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.
翻译:最近,Tings Internet(IoT)装置的发展导致各种复杂应用的兴起,这些应用涉及大量不同装置之间的相互作用,需要解决的一个重要挑战是促进IoT应用的灵活发展,而参与这一过程的各方应作出最小的努力;然而,由于在IoT系统中相互作用的硬件和软件技术种类繁多,IoT应用的发展具有挑战性。此外,它涉及处理由不同软件生命周期阶段造成的问题:开发、部署和进步。我们在本文件中审查了三种IoT应用开发方法:基于Mashup的开发、基于模型的发展以及基于功能的“服务”开发。每一种方法的利弊都从不同的角度加以讨论,包括可靠性、部署的迅速性、使用方便性以及目标受众。最后,我们提出一个简单的解决办法,将这些技术结合起来,以提供可靠的应用,同时减少成本和释放时间。