摘要:The number of devices connected to the Internet of Things (IoT) is increasing so rapidly that end-users with no programming background will demand the implementation of their own IoT services and applications. However, IoT programming is still a difficult task because of device heterogeneity, dynamic changes in the physical environment, and scalability, security, accessibility and availability issues. Many of these liabilities are also present in distributed systems, where microservice architectures are successfully used. Therefore, in this article we propose an IoT framework based on microservices to ease the development of IoT software. Visual programming is proposed to permit end-users to build simple services and applications. Visual dataflow abstractions declaratively identify the “things” and services in the network, creating a new level of indirection to create applications capable of adapting to changes in the IoT network. The devices connected to the network must provide a semantic self-description in order to support a global discovery service. End-users could describe the domain logic with existing visual programming abstractions previously proven to be suitable for non-programmers. The visual programs will be transparently compiled and deployed as microservices in a cloud-based environment, optimizing network traffic and runtime performance, while ensuring scalability, accessibility and availability. Software container technologies will be utilized to provide self-deployment of microservices.