Professional Documents
Culture Documents
Abstract—The advent of Connected objects has been causing microservice-based IoT system that ensures applicative
a significant technological revolution. Researchers, Designers, interoperability between different objects. This paper shall
and developers have been mobilized to develop solutions that focus on the applicative interoperability, which means
can reach final users in several domains. Solutions that can connecting devices that use different protocols from IoT stack
make the interaction between users and objects easier and application level. The paper is organized as follows: this work
handier. Therefore, so many efforts have been made to facilitate shall talk about the scientific efforts in the microservices-
device control. A heavy synergy has been carried out as well to based platforms, and the scientific efforts that have been made
connect objects as a part of the Machine-to-Machine pattern. in applied interoperability to the Internet of things (Section 2).
Fitting together objects have to take into consideration the
The paper describes the system components and talk about
heterogeneity of communication protocols. Brands and
companies produce devices that enable the use of different
microservice patterns that are used in this distribution (Section
protocols from physical to application layer. Each brand adopts 3). Then, the work describes as well the application lifecycle
certain protocols in its product that may differ from other through an experimental example to show the machine to
brand’s products. This issue meets the challenge of machine behavior covered by InteroEvery.
interoperability. The building of Applications and solutions that
can monitor objects follow many architectural styles. Nowadays, II. RELATED WORK
the trend of architectural style is microservices. The In the literature, there are several papers [1] [2] [3] [4] [5]
Deployment of these applications can be performed on three [6] [7] that tackle microservices-based Internet of things
levels: Edge – Fog – Cloud. This deployment level mobilizes the platforms. Their common purpose is to propose an
integrators to create and innovate deployment and integration architecture that helps the final user to control the objects with
strategies. This paper will fit together these paradigms to create loosely coupled solutions. The heterogeneity of device
a solution that will meet the need for interoperability concerning protocols pushed authors to carry out an architecture that fit
the needs of final users. devices together. In [8] paper, authors talk about different
interoperability levels. The paper [9] talks about Taxonomies
Keywords—Interoperability, Microservices, Internet of
Things, Model Driven Engineering.
and Open Challenges in Interoperability regarding the area of
Internet of Things. Authors talk in this paper about Device
I. INTRODUCTION interoperability - Network interoperability - Syntactical
interoperability - Semantic interoperability - Platform
There is an increasing demand for applications on the part interoperability – Cross-domain interoperability. They talk as
of companies. The business logic of applications that perform well about Interoperability handling approaches in IoT such
the data processing and monitoring may change following the as Adapters/gateways - Virtual networks/ overlay-based
domain requirements. Companies that produce things – solutions - Networking technologies - Semantic web
sensors and actuators – are not obliged to change and adapt technologies – Other open challenges. In the paper [10], the
the protocols that are implemented in these things to authors propose a solution to interoperability. In their
communicate with other devices. The systems that monitor architecture, they defined a multi-protocol proxy. This
and perform parameters and data processing have to develop component handles multiple heterogeneous protocols in one
a logic that adapts the incoming data from devices and make service. This solution is complex because if a user want to
a transformation model to be sent to other devices. The system change the logic of the protocol handle, he has to change the
in question has to ensure the interoperability of heterogeneous whole code of the multi-protocol proxy. In the paper [11]
devices. Heterogeneous devices means devices that use authors propose a multilevel interoperability solution that
communication protocols that differ from communication connects heterogeneous objects that communicate with
protocols of other devices. The incoming information from different protocols at a different level: Technological –
such a sensor can be used to power several actuators. It is Syntactic – Semantic - Organizational. This solution is not
relevant to have a system that creates virtual objects for based on microservices. The changing of one of the
sensors to address the incoming information to be used by components will affect the rest of the whole system. No work
other devices. This paper aims to connect heterogeneous talks about microservice-based IoT applicative
objects that use different application protocols by proposing a interoperability platform, which links devices that use
heterogeneous application layer protocol. (i.e. AMQP, COAP, ensure the granularity of each service, as well as the
MQTT). customization of each microservice, and the facilitation of
continuous integration. This system will connect objects
This work is to propose an architecture of the Microservice without modifying the edge computing level. That means the
IoT platform to meet the need of applicative interoperability. user can connect heterogeneous devices without modifying or
The principal purpose of this architecture is to connect touching the source code of the devices that control actuators
heterogeneous devices without modifying them or adapting and sensors. This system will just gather information from
the edge code source that is deployed and uploaded on these sensors that use such an application protocol and perform an
devices and allowing the developers to modify the business adaptation to send it to the actuators that could use different
logic of microservices without impacting the rest of the application protocols.
system. This work answers the following question: How can
use microservices to create an interoperable system? B. System stakeholder
III. THIS PROPOSED SYSTEM The Manufacturer: it is the company or the company that
manufactures this object. Its role is limited to providing the
It is a platform that allows the interoperability of pairs of metadata of the Manufactured product. He is not required to
objects that communicate with heterogeneous protocols at the change the content of his product so that it adapts or so that he
application level based on microservices (for example a sensor can communicate with other products. It is not necessary to
communicating in AMQP with an actuator communicating in change the protocol of the application layer (i.e.: MQTT[13],
MQTT). The principle is to build a weakly coupled system in REST[14], COAP[15], XMPP[16], STOMP[17],
order to meet interoperability requirements. This solution also AMQP[18]).
makes it possible not to modify or touch the content of
physical objects. Companies are not obliged to modify the The local user of the ecosystem: It is the user who sets the
protocols or contents of their objects to be able to solution and registers the objects and chooses the pairs of
communicate with other objects. The system will retrieve the objects that are intended to communicate. The system
information from an object that sends the information via a administrator: It is the user who manages authentication and
specific protocol and performs a transformation in order to authorization, and feeds the system reference data.
send it to other objects that communicate with a different C. Description of system components
protocol. The system stakeholders are as follows:
Manufacturer - User - System administrator. The offered solution ensures interoperability at the
application level based on microservices. The microservices
A. System purpose that make up the system are JWT authentication micro-service
This solution is intended for different users in different - object registration micro-service - Interoperability micro-
types of ecosystems. In each ecosystem, this solution can be service - Object connectivity monitoring micro-service -
used to ensure M2M behavior [12]. The requirements of an Adaptation micro-service - Agents launched by adaptation
interoperable system to constitute a weakly coupled system micro-service.
demand the adoption of a microservice ecosystem. These will
321
2020 International Conference on Decision Aid Sciences and Application (DASA)
The system is also composed of a set of data sources: a belongs to a "Category" such as Temperature - Humidity - DC
data source of the registration microservice - an Motor - Ultrasonic Sensor.
interoperability microservice data source. The system uses a
universal Broker that links the interoperability microservice to 4) Interoperability Microservice
the different adaptation microservices based on choreography Database per service [21] as its principle indicates,
patterns. stipulates that each microservice has its database. This implies
that each microservice must keep its granularity. Required
1) Object information from the microservice B database, it is necessary
The physically connected objects are divided into two to develop a query command for µS A to interoperate
categories: Sensors and actuators. The sensor is used to microservice B and the latter provides the required
provide physical quantities. The actuators operate according information. This Database per service pattern is applied for
to the values perceived by the sensors forming an intelligent both Interoperability & Registry microservices. This
agent. The sensors have categories like (example: microservice allows the coupling of objects/agents by
Temperature - Humidity - Gas - Proximity sensor etc.) this combining objects. This microservice allows you to select an
categorization allows the system user to determine the types actuator and display the list of sensors that the actuator
of data that capture and expose as (celsius - degree - cm). The expects. This microservice retrieves the list of recorded data
actuators are also categorized (MotorDC - Bulb - Display) and sensors from the recording microservice using a Database per
determine the category of sensors whereby they communicate, service. The user selects for each actuator a sensor proposed
in other words, the actuators anticipate information provided by the system that corresponds to the type mentioned in the
by the sensors. These metadata will constitute the distributed metadata of the objects in the microservice database. The
data source model for the registry microservice. This Database per service application is demonstrated in the
information must be provided by the manufacturer as an following diagram:
effective actor in this system and inserted by the user
(Architect - Urban planner - Single user).
2) Authentication Microservice
This service authenticates system users. Authentication is
based on the JSON Web Token (JWT) [19]. The data source
for this Microservice is as follows:
322
2020 International Conference on Decision Aid Sciences and Application (DASA)
The data source consists of a single table that provides microservice in order to interconnect them. This microservice
information on the connected sensor and actuator torque. This is run as a runtime script that retrieves the physical quantities
micro-service is accessible through a graphical interface. from the sensor and sends it to the actuator to make it work.
The Interoperability Micro-Service and the Adaptation Micro-
5) Adaptation Microservice Services form a choreography as shown in this figure below:
This microservice performs the creation of virtual objects
for the pairs of objects formed in the interoperability
323
2020 International Conference on Decision Aid Sciences and Application (DASA)
ServoMotor expects numerical temperature values The system provides a graphical user interface for the
received and sent by DHT11 so that it can rotate according to interoperability microservice as follows:
these values. The manufacturers of DHT11 and ServoMotor
have provided information about their products.
A. Registration of objects
First, user starts by entering information about the actuator
in the graphical user interface linked to the recording
microservice as follows:
Figure 11: Interoperability microservice screen.
The sensor name "DHT11", the sensor category This MQTT/REST adaptation microservice uses the
"Temperature", the protocol with "REST", the URL and the REST API of the sensor, retrieves the temperature values, and
port "localhost/9096" are stored. The information on the publishes them in the topic to which the "ServoMotor"
ServoMotor actuator and the DHT11 sensor is stored by the actuator is subscribed to run it. This can be seen in the
microservice registry in its own database "dbmetadata" in database :
accordance with the "database per service" principle:
B. Connecting objects
After the registration phase, the system redirects the user
to the interoperability microservice. This microservice is Clicking on disconnect interrupts the connection between
responsible for the construction of the couple of objects that the sensor and the actuator, as shown in the following figure:
user wants to connect in this case - the ServoMotor actuator
and the DHT11 sensor.
324
2020 International Conference on Decision Aid Sciences and Application (DASA)
325