# SCM-IoT: An Approach for Internet of Things Services Integration and Coordination
## 1 Introduction  
Technological advances have allowed complex closed systems to be redesigned on a more open basis of composing interoperable components. IoT exemplifies this trend motivated by the progressive decomposition of components, seeking to minimize their functionality while maximizing the system's dynamism, flexibility, and maintainability through service composition (SC) [1]. The concept of IoT originated after the rise of wireless gadgets and devices, and as a result, multiple IoT technologies are employed nowadays. Some of these technologies include radio frequency identification devices (RFIDs), wireless communication, cloud applications for wireless sensor networks (WSNs), near-field communication (NFC), global positioning system (GPS), WiFi, and Bluetooth [2, 3, 4]. Indeed, the IoT is a captivating trend when it comes to integrating mobile technology to things or real-world devices, which now create new forms of communication, including machine to machine (M2M), peer to machine (P2M), and peer to peer (P2P) communication. Thesenew forms of communication have managed to close the gap between communication and information [5]. Similarly, IoT has real-world characteristics, yet it also experiences processing and storage limitations that imply new trends and challenges for improving privacy, reliability, security, and performance [6]. In addition, the IoT is a clear representation of the growth of the Internet, where different devices are interconnected with people. For instance, several microcontrollers (e.g., health monitors, wearables, sensors, and actuators) are developed each year to interconnect with other things or smart devices through a specific network. In this sense, smart devices have remarkable detection, processing, and networking capabilities, and they are used in various IoT application domains, such as healthcare and domotic [7; 8]. Likewise, web protocols guarantee the communication of smart devices, which are compatible with constraint application protocols (CoAPs) and with other smart devices. In addition, there is interaction with various web services, and the services offered by smart devices are consumed through ubiquitous applications [9]; however, performing the SC of the smart devices is complicated. SC is considered a fundamental aspect of service-oriented computing (SOC), where various services collaborate to achieve a common goal [10]. Services orchestration and choreography are two relevant processes interaction patterns for the SC [11]. The centralized process for coordinating interactions between the services of a business process or activity is known as service orchestration. The participants in a service orchestration process are not regularly known, similar to what happens in different scenarios in the IoT [12]. Services choreography describes the collaboration among the participant process, particularly in their order of participation. Participants in a service choreography process collaborate knowing the specific form of participation [13]. Besides, BPEL and WS-CDL are two compositional languages used to orchestrate and choreograph services. Additionally, in the context of business processes and web services, the application of SC in real-life cases is usually investigated more frequently. However, it is not possible to apply the procedures applied on the web services in the context of the IoT due to the limitations of the devices and scenarios particularities presented in the different IoT application domains. For this reason, advanced mechanisms are required to facilitate the integration and collaboration of heterogeneous smart devices, the workflows representation, and the IoT based services coordination, where the services are used through the services orchestration and choreography in different real-life scenarios to meet the diverse needs of users, to take advantage of and exploit the advantages that the IoT offers.