Institutional Repository
Technical University of Crete
EN  |  EL



My Space

Flow-Based programming support with OpenAPI in the Web of Things

Papadopoulos Vasileios

Full record

Year 2022
Type of Item Diploma Work
Bibliographic Citation Vasileios Papadopoulos, "Flow-Based programming support with OpenAPI in the Web of Things", Diploma Work, School of Electrical and Computer Engineering, Technical University of Crete, Chania, Greece, 2022
Appears in Collections


In the Internet of Things (IoT) people, devices and other physical objects are connected to a common network, providing services and exchanging data with one another. However, the IoT brings in complexities that stem from the fact that different protocols and standards coexist in the network, as the number of the connected Things increases. The Web of Things, or WoT, aims to extend the Internet of Things by eliminating the difficulty in communication and management of all different objects. In this paradigm, each resource exposes its functionalities as a Web service, therefore making Things a part of the web. Using standards such as REST, HTTP and URIs, the WoT concept attempts to deal with the fragmentation of technologies in the IoT and facilitate the interoperability between Things. In this work a system is proposed called Mashup of OpenAPI Nodes (MoON). MoON suggests a way of overcoming the difficulties in communication and compatibility utilizing OpenAPI. Using the OpenAPI Specification (OAS), Things in a WoT or IoT architecture can be described in detail and become readable and accessible by both humans and other Things. Due to the fact that every Thing is described according to the OAS, a uniform representation for all Things is achieved. Furthermore, in order to combine Things in a way that allows application composition, an efficient platform that will utilize the OpenAPI descriptions is necessary. MoON includes a mashup service for a Web of Things environment. Mashup is defined as a way to compose a new service from existing services. In this architecture, every object is described using OpenAPI. The result is an application that consists of a set of objects. A mechanism is introduced to generate OpenAPI descriptions for the produced applications, containing information about all Things that comprise them. The application creation process is based on Flow Based Programming tools, such as Node-RED. The generated OpenAPI Description of the applications adds additional flexibility in the application creation process, since all services, things and applications are uniformly represented using OAS and, additionally, they can be combined in any meaningful way to form new applications. This description can, also, be an input to a more complex application of a bigger scale. For instance, a smart neighbourhood’s OpenAPI can be a part of a smart city application. The process is facilitated by incorporating the visual representation and code generation tool of OpenAPI with those of a flow programming engine (i.e Node Red).

Available Files