Supporting Technology Independent Interoperability between Business Processes and IoT Devices - Valderas, Pedro (Anais do Congresso Ibero-Americano em Engenharia de Software (CIbSE); 2024: Anais do XXVII Congresso Ibero-Americano em Engenharia de SoftwareDO - 10.5753/cibse.2024.28437, 2024)
The Internet of Things allows digital business processes to use physical devices to automate and improve the execution of some of their tasks. A business process is executed by a process engine, which usually provides built-in mechanisms to interact with IoT devices through REST APIs. However, IoT devices are technologically heterogeneous by nature. If they are not based on REST, the native support provided by process engines is not enough to interact with them. In addition, in case IoT devices have REST APIs, built-in mechanisms of process engines provide technologically coupled solutions since the engine must be configured with the connection data of each specific device. Thus, time-consuming adaptation tasks are required to update the process engine if IoT devices need to be replaced due to changes in business requirements. In this work, we provide a solution to improve these problems based on ontologies, BPMN, and microservices. First, IoT devices are abstractly described by means of the notions proposed by the SAREF ontology. Then, executable BPMN models that use the ontological descriptions of IoT devices are defined to implement a business process. Finally, microservices are used as instantiations of the IoT devices defined with the SAREF ontology, playing the role of gateways between the process engine and the real IoT devices, providing a high level of technological independence between both.