MSM Article
MSM Article
MSM Article
net/publication/334126912
CITATIONS READS
38 309
5 authors, including:
All content following this page was uploaded by Ayoub Benayache on 06 November 2019.
A R T I C L E I N F O A B S T R A C T
Keywords: Actually, wireless sensor networks represent a substantial part in IoT. However, their limitation requires a special
Internet of things consideration in IoT applications. For their integration with the internet, it is necessary to adapt such networks
Wireless sensor network using different middleware, with taking into account various challenges such as heterogeneity and
Middleware
interoperability.
Monolithic design
Microservice design
Previously Service Oriented Architecture (SOA) was the suitable design, but with a better practice, a new
Artificial neural network design called microservice becomes the leader due to its high performance and its suitability for IoT applications.
In this paper, we first survey the most important middleware that have been proposed to handle WSN through
IoT. Also, we discuss the most crucial microservices that handle different integration factors by making them
supported by the proposed middleware. Our proposal is inspired from artificial neural network architecture to
allow dynamic service interaction; it supports unlimited services with a regard to various device capabilities
separately of the cloud technologies. Moreover, the evaluation of our design clearly shows that our middleware
allows a lightweight WSN integration with IoT regarding to their limitations and requirements.
* Corresponding author.
E-mail addresses: [email protected] (A. Benayache), [email protected] (A. Bilami), [email protected] (S. Barkat), pascal.lorenz@
uha.fr (P. Lorenz), [email protected] (H. Taleb).
https://doi.org/10.1016/j.jnca.2019.06.015
Received 31 October 2018; Received in revised form 8 February 2019; Accepted 27 June 2019
Available online 30 June 2019
1084-8045/© 2019 Elsevier Ltd. All rights reserved.
A. Benayache et al. Journal of Network and Computer Applications 144 (2019) 138–154
been designed and implemented; they have adopted several program- To the best of our knowledge, this paper is the first that deals with the
ming paradigms and development styles, commonly, developers select integration of WSNs in the IoT using microservice approach through
the most appropriate ones regarding to the requirements and the avail- neural network, separately from the cloud computing approach.
able tools as discussed earlier. Several works have addressed the issue The remainder of this paper is organized as follows: section 2 in-
related to applications that exploit WSN devices. Many of them are based troduces similar works related to middleware development styles (i.e. the
on the middleware as examples MiLAN (Murphy and Heinzelman, 2002), monolithic and the microservice styles) and presents the research gap in
LinkSmart (Kostelník et al., 2011),TinyDDS (Boonma and Suzuki, 2014), the domain in addition to the motivation that leads to the proposed
TinySOA (Avil es-Lopez and García-Macías, 2009) and many others. They middleware. Section 3 provides the details of our new middleware ar-
adopted various programming approaches as publish/subscribe (Corsaro chitecture and its implementation. Section 4 presents a comparative
et al., 2006), service oriented architecture (Al-Jaroodi and Mohamed, study of our proposition with the existing middleware systems. Finally,
2012) etc. The usage of IoT becomes larger than before while adopting Section 5 concludes the paper.
web services. It considers everything as consumable service over the web
using SOAP protocol or Restful API, etc. These technologies are originally 2. Background and related works
based on the SOA. However, developers seek another way to develop and
maintain the applications, by making them more extensible and more The increase of the IoT benefits in our life led researchers to look for
flexible because of the huge number of heterogeneous devices and the optimal solutions that help to develop systems and applications whatever
development of applications becomes more complicated. their requirements. In the literature, many solutions are proposed, they
The microservice approach emerged as a new design that derived are classified into various approaches depending on the target, and the
from SOA one. In the beginning, developers only focused on cloud development tools, and also on the agile development method (Cockburn
computing applications, but recently, some IoT WSN-based works and Highsmith, 2001; Zimmermann, 2016). The latest classification
adopted this approach in specific applications that mainly interact with divided these solutions into two major patterns depending on the
cloud and fog architecture. The aim of our work is a new middleware development style: the traditional monolithic architecture (Namiot and
design based on microservice architecture. It is called MsM, which allows Sneps-Sneppe, 2014) and the microservice architecture (Sun et al., 2017)
a complete WSNs integration with the internet and deals with them as as illustrated in Fig. 1.
services. To achieve our objectives, we studied the microservice archi-
tecture itself; it has not yet a standard definition, therefore we tried to
propose a general model inspired from the artificial neural network 2.1. The monolithic design
(Hagan et al., 1995) to allow dynamic service interaction. The proposed
model allows the design and the development of an extensible, distrib- In the monolithic architecture pattern (Redbooks, 2015; Villamizar
uted, and adaptable middleware system for lightweight WSN device et al., 2015), the whole system is structured in one big application. This
integration. design uses few programming languages to create a single process
Through our design, we have reached the following functions: composed of several classes, methods, and packages depending on the
programming paradigm. Mostly, the application is executed on one
Exploit microservice benefits to provide a best WSN integration server side regardless to the three-tier architecture and the application
without requiring cloud services. requirements. As mentioned by Guidi et al. (2017), the application ser-
Create new middleware that is capable to generate web and other IoT vices and modules in the monolithic design, even if they are in-
application style as to control and monitor remotely different WSN dependents (Sun et al., 2017), can't be executed independently; their
devices. With a minimum of programming and without any expertise interaction are based on sharing resources (memory, files, database, and
in most cases, middleware permits to create either a simple or a physical devices). In this case, the development complexity increases
complex microservice based on the existing ones. when the application is extended or maintained.
Propose an architecture that aims to create a network of many tiny Currently, the monolithic architecture is the basis of the majority of
middleware while sharing their micro services. existing IoT applications; the services in this case are highly coupled,
Enable different inter and intra communications between micro- what requires more expertise and more coordination between de-
service (input/output). velopers, in order to handle several issues in the only one (middleware/
Use artificial neural network to enable microservice unit and global framework) solution. Authors classified these solutions into many sub-
testing which was the challenge of the microservice architecture. classes and approaches; usually they focus on various criteria such as
networking management, communications control, data treatment and
139
A. Benayache et al. Journal of Network and Computer Applications 144 (2019) 138–154
140
A. Benayache et al. Journal of Network and Computer Applications 144 (2019) 138–154
141
A. Benayache et al. Journal of Network and Computer Applications 144 (2019) 138–154
142
A. Benayache et al. Journal of Network and Computer Applications 144 (2019) 138–154
of settings and relevant parameters required in the running of the the root, its information, dependences, requirements and utilities.
microservice. Table 2 shows a set of service classes and their micro- The internet and the cloud services are other components of the
services provided by our middleware. middleware architecture. These components are considered as an
external part, whose services are located at outside of the architecture.
3.3.2. Microservice repository
It is considered as the principal directory and the container of all 3.3.3. Microservice core service
service source codes or the executable files. It contains the full packages The principal work consists in taking into consideration the entire
and libraries, sdk, APIs, and anything needed in the implementation of all registered and runtime configuration for each microservice. This is very
microservices and their relevant requirements. Contrary to the formal complicated due to the multitude of parameters. To mitigate the
definition of the microservice, this component presents the technical increased difficulties, we use the container mechanism strategy as a
definition of the whole system. Therefore, it is considered as a middle- pattern to formulate the running of each microservice according to pre-
ware root seen as a black box containing services that can only be used defined strategies and the desired configurations. The requirements are
via a catalog, which is the microservice registry relating for each object in adapted considering different conditions such as synchronous and
asynchronous policies, sequential or multi-threading execution, and
simple data processing or streaming. The ANN is adopted as a mechanism
Table 2 for smart interconnection of microservices, to ensure best performances
Middleware basis services enabled. regarding to the limitation of constrained devices. The interconnections
Services classes Microservices are based on the exploitation of different communication paradigms
(inter or intra) as links to coordinate between the microservice's
Communication Mqtt, https, http, coap, AMQP, soap, Rest-API, IPC, socket,
serial, shared memory,
endpoints.
serial-socket, ØMQ, RPC, RMI, web-socket, ftp, etc. call
method from its class. 3.4. Middleware implementation
Security Encryptions-decryptions (RSA, DES, AES, etc.); compression
(audio, video, text), SSL, IPsec, VPN, etc.
Our proposition aims to support the general architecture of internet of
Devices manager Device manager:
Wi-Fi, GPRS, Lora, 4G, 3G, WIMAX (settings). things IoT-A (Architecture et al., 2013). The European Lighthouse and its
Sensors, RFID, GPS, etc. partners worked to adopt this architecture as the general one and refer-
Proxies and gateways: ence model for the internet of things. Fig. 6 illustrates the functional view
For any constrained IP capabilities like Bluetooth, ZigBee,
of the IoT-A.
RF433, serial bus and
many old technologies, Proxies to support embedded OS
Like any IoT middleware or framework, the system should handle a
(TinyOs, Contiki, Arduino, etc.) set of essential functionalities; IoT-A provides most of them like
Data manager Event manager: usage or storing communication, security, device manager, data processing and many
Data conversion: (string, binary, json, xml, other format) others according to the soft/hard and the user requirements. Similarly,
Data filtering: data analytic, data formatting, data mining
this work discusses and explains the important tasks handled and
Applications Geo-location, users manager, monitoring, storage, cloud
manager services, implemented in MsM.
UI manager, actuator control, etc.
143
A. Benayache et al. Journal of Network and Computer Applications 144 (2019) 138–154
3.4.1. Middleware implementation: functional view compression and authentication strategies…. etc.
MsM is built with the adopting of unified service model. The hidden
tasks of our system with their important functionalities are grouped into 3.4.1.3. Device management. This class includes two subclasses repre-
classes. Fig. 7 illustrates our middleware design from the functional senting two categories of devices. The first one, based on IP stack pro-
aspect. tocol which is able to reach the internet directly without any other device
Our system supports the bidirectional interactions (monitoring and intervention, contrarily to the second one, which cannot reach the
control) between the physical object considered in our work as WSN and internet without the use of gateways or proxies. Moreover, these device
the end user applications (mobile, web, desktop…. etc.). Obviously, these classes support different sensor and actuator types, vendors and func-
interactions involve an efficient communication service depending on tionalities. The proposed middleware handles these devices through
communication protocols with their QoS and security strategies. In the firmware and configuration ability to ensure the full control. According
following, we describe all the service classes used in our system. to various application domains, electronic companies and vendors pro-
vide a huge number of devices; they are required in many domains
3.4.1.1. Communication management. With this class, we provide the (environment, industrial, healthcare… etc.) and with different func-
most communication mechanisms for the user to select its own tionalities and targets such as measuring temperature, pressure, gas,
communication strategy. These mechanisms are distinguished into video or audio capture, heartbeat… etc. Through device management,
various communication models (request/response) like http, https, and we assure for each device its microservices registration and discovery.
coap protocols, (publish/subscribe) like mqtt and AMQP protocols,
(inter/intra) like socket, IPC, pipeline, etc. this class permits the 3.4.1.4. Data management. After receiving data, the middleware needs
communication from the physical devices to the user applications in to select method for data treatment according to the requirements and
bidirectional manner, regardless of the type and the system actors. capabilities of the triplet (users, applications and devices). This class
offers three subclasses, the first one is the event manager; it receives the
3.4.1.2. Security and privacy management. The security and the privacy incoming data from the other microservices or from the outside (sensor
become vital challenges when dealing with personal data and informa- data, user data…) whatever the used communication mechanism, and
tion, especially when the system uses major sensitive data issued from then treats the data in next appropriate level. The second one is
domains like military, healthcare, industrial and others… Moreover, responsible for making comprehensible the received data for the other
since our architecture exploits different communication protocols and service or even for the end-user, it supports various data structures,
devices capabilities, we have to take into consideration the use of coding and formatting, for example from utf-8 to ASCII or from json to
different security and privacy strategies to handle all vulnerabilities xml or vice versa. The third subclass is the data-filtering manager; it
detected in the communication system besides the data itself. extracts the interested data using different mechanisms as projection and
On the other hand, considering the communicators, the physical de- joining in databases, regular expressions, or by using data mining tech-
vices are mostly constrained compared with other actors. They cannot niques. Finally, the system delivers directly data as results to the user or
use the same strategy due to the great disparity between the communi- another microservice according to the application requirements.
cants. In this class, the middleware ensures the security on multi levels
and with various heterogeneous actors through different secured 3.4.1.5. Application management. This class includes the required
communication protocols, encryption/decryption algorithms, microservices for each application; it helps users to build multitude of IoT
144
A. Benayache et al. Journal of Network and Computer Applications 144 (2019) 138–154
applications for various domains with commons services. In our platform, 3.4.2. Middleware implementation: technical view
we provide a dashboard to configure those microservices and to monitor Unlike the few designed microservice-based IoT middleware, our
all their input and output types (simple text values, charts, video, audio, proposal is completely implemented using standard tools. It is unnec-
etc.). In addition, we allow the control of all physical devices using essary to use cloud tools such as Docker and container technologies.
customized control panels. There are many other advanced microservice Because of their potential requirements, the user should bear in mind the
interfaces to interact with external services, for example with the cloud limited WSN resources while using Docker or other cloud software. Thus,
services (SAAS, PAAS, and IAAS), in potential data processing and stor- to meet the constrained devices challenges, we select the suitable and
age to compensate the shortcoming of the constrained devices. The adaptable tools for each system component and then configure them as
platform provides also localization services to determine device's posi- microservices. In addition to the configuration, we have to mention the
tions and movements, manual (user, service and application) manage- role of the programming language paradigm and its efficiency in system
ment. Adopting our approach, allows creation of complex microservices development.
from the existing ones, by the adjustment of the compound microservice The proposed system is based on Python language for its powerful
configurations and saving as new microservices in the microservice features, stated in many software production fields. Python provides
registry for future uses. potential libraries and tools to solve various problems especially those
With regards to the application scalability, and as mentioned in related to data processing, machine learning, and artificial neural
(Valley et al., n.d.), the application can scale in 3D ways by splitting network. Python allows the system to deal with other microservices
different things as functional decomposition, by cloning through hori- programmed with c, java, and many others… etc. Besides these advan-
zontal duplication and splitting similar things through data partitioning. tages, Python facilitates system maintenance. The selected framework
The microservice architecture, unlike the other monolithic architectures, Django allows an easy development of professional web applications
supports the three-dimension scalability as presented in Fig. 8. with possible reusability and pluggability of its components.
Besides the microservice capabilities, MsM architecture supports Since the current Internet integrates various tools and technologies
more than the original microservice scalability. The platform is even including M2M architecture, cloud, SDN, fogs… etc., the middleware has
adaptable to support more than the existing microservice categories, to be concerned with all software and hardware characteristics to achieve
hence it appears that using MsM leads to more complexity, but actually, best system performance. The lightweight propriety is guaranteed in
the flexible microservice communication mechanism permits to manage MsM middleware based on uniform microservice definition, it allows
easily the extension or the supplement without affecting the other system intelligent network configuration by collaborating and sharing the
components. Consequently, this gives high system robustness. optimal micro-services.
For system prototype implementation, we use various tools depend-
ing on best performance given in processing and memory consumption.
145
A. Benayache et al. Journal of Network and Computer Applications 144 (2019) 138–154
For communication side, in order to support MQTT protocol, we use Our middleware system is a web/sensor-based application; it is able
Mosquitto broker, and as clients, we adopt several publishers and sub- to establish bidirectional data exchanging whatever the end-user device.
scribers developed in java, python, and JS. To support COAP, we use java This great support of different hardware and software architectures al-
mjcoap library, AMQP and its server, the RabbitMQ broker that supports lows users to develop and deploy their various applications prototypes
different communication protocols like STOMP, XMPP, mqtt… etc. for such domains.
Pipeline, IPC and many other intra communication protocols developed For registration and discovery microservice, we opt for the rest-api
using python libraries. Due to the powerful microservice architecture, since it is used in many development tools and applications. In our sys-
RPC and RMI are supported regardless the used language. Moreover, tem, microservice discovery extends to other middleware in order to
concerning the security and the privacy microservices, we use SSL pro- share their microservices. Moreover, the microservice registration can
tocol, RSA and AES as encryption algorithms. Fig. 9 shows a registered follow two models, the local one, where each middleware possesses a
microservice in the middleware which is presented in xml form. local microservice registry, and a global one in which a workspace reg-
In data processing class, we use mostly our own scripts and algorithms istry is used and shared with all the related middleware. In Fig. 11, a
that use a set of subclasses: event manager, data structuration and data sequence/activity diagram is provided, showing through different steps
filtering. The first one treats different incoming data from the internal/ how our system works.
external microservice. Data structuration or formatting permits to give an The following small piece of code in Fig. 12 demonstratesthe way to
understood view to data for the other microservices; this structural view develop an application in our system; it uses blockly programing method
allows the user through the third subclass (data filtering) to extract just for the tested scenario. This latter will be presented in detail in the next
the interested data from the raw one. section.
In this class, we find various data types; some microservices need a
special data format to show their results. Fig. 10 displays a simple data 4. Performance evaluation and discussion
conversion microservice used in our system prototype. We use various
data conversion for the following formats (json, xml, text, bin… etc.). In order to evaluate our middleware architecture, we have tested the
For the user application class, many tools are provided to develop the developed system prototype with data collection scenario used in many
frontend and the backend of the whole application. Table 3 summarizes a IoT (WSN-based) applications. The tested scenario uses Contiki (Velinov
list of the important tools used in this class: and Mileva, 2016; Durmaz et al., 2017) embedded system, which is
146
A. Benayache et al. Journal of Network and Computer Applications 144 (2019) 138–154
Table 3 requirements.
Some microservice development tools. Relating to the quantitative evaluation, we tackled some important
Service Tools parameters that are significant for the studied middleware, we focused
specifically on the comparison between the service registration and ser-
Localization Google Map, with GPS
Mailing Google-APIs vice discovery.
Storage PostgreSQL, MySQL, Reddit, MongoDB
Cloud OpenStack, Docker a) Service registration:
Big Data Spark, Hadoop
Charting JS libraries (CanvasJS, chartJS, etc.)
Audio, Video Audio5js, MP4box, etc.
To evaluate this feature, we concentrate on strategies that are used to
store local or remote services' information such as heterogeneity, flexi-
bility, human intervention level required in the process, the number of
recommended for many constrained devices. features that supported by the middleware (e.g. communication pro-
We cope with a simulated WSN over the internet through cooja tocols, data formative, services orchestration… etc.). A configuration
simulator; this simulator looks like a sensor application deployed in real effort is needed to register services and their response time… etc.
environment to generate huge number of data. In our system, we have to
determine the interaction of each component in real scenario using some b) Service discovery:
microservice configuration. To start with, we have to indicate the needed
device services and collected data models, then, we enable the proxy We evaluate the discovery strategies while considering the following
microservice presented as border router; cooja tool aims to establish an criteria: autonomy support, quality of discovering and conformity. We
interconnection between the simulator (sensors) and the system on also study the level of human intervention in the process, the required
which the simulator is installed. Next, when the middleware system effort to discover services, reliability and the response time of a number
recognizes the data model, it will select the appropriate microservice in of different services (in our study we use a range from 5 to 1000 services),
order to get data from the proxy service and setup both the suited and intelligence, adaptability and other features that are presented in Table 4.
required data conversion and structuration. According to the application
and the user configuration, a set of data processing microservices extracts 4.1. Intelligence
the useful data and forwards it to the next application service (e.g.
monitoring or storing). Finally, as desired by the end user, an application Intelligence is an important feature in our middleware. Both Link-
service manager shows the collected data using the monitoring Smart and OpenIoT cannot handle it. However, MsM provides the ability
microservice. to exploit different benefits and advantages of ANN, especially when
Fig. 13 illustrates the architecture of the data collection scenario dealing with smart devices in smart environments. This allows MsM
using cooja simulator as WSN environment and the microservice chart as middleware to select the best microservices according to determined
web application to display the received sensor data. criteria. The multitude of microservices leads to create a big problem of
We have several testing strategies to demonstrate each property. The overloading, which causes more energy consumption, wasting memory
qualitative and the quantitative evaluation are used to demonstrate the and bandwidth and the increase of communication delays… etc. Conse-
middleware's advantages. We compare the performances and capabilities quently, optimization strategies are desired to handle those issues, au-
of MsM with two well-known middleware, namely OpenIoT (Fleisch thors in Bhardwaj and Sharma (2015) propose ant colony algorithms to
et al., 2015) and LinkSmart (Kostelník et al., 2011). optimize route discovering. These can be used to optimize number of
Table 4 describes the nominated qualitative evaluation metrics. We micro services and build complex ones. In our work, the adoption of
classify them into three classes of requirements (middleware, IoT and neural network strategies limits these problems, where it resolves
WSN infrastructure, and the user/application). As mentioned in Razza- software-testing problem perfectly with small pieces of microservices. It
que et al. (2016), most of the studied requirements are directly related to is mentioned in Al-Masri and Mahmoud (2009) and Honamore et al.
one or more characteristics of the IoT. Considering the middleware re- (2016) that the discovering of the best services was successful for 95% of
quirements, we classified their metrics into three sub classes, the general cases using ANN mechanism. By adopting the same strategies in our
architecture requirements and the functional or non-functional ones. The middleware, we achieve various objectives, such as the selection of best
second category (infrastructures) presents networks and device re- microservices with the use of different parameters to avoid service
quirements. The last one is dedicated to end-users and the application overloading as illustrated in Fig. 14.
147
A. Benayache et al. Journal of Network and Computer Applications 144 (2019) 138–154
148
Fig. 12. Application development using blocky programming API.
Table 4
Qualitative comparison and evaluation results.
150
A. Benayache et al. Journal of Network and Computer Applications 144 (2019) 138–154
OpenIoT middleware do not check the reliability of the discovered ser- important role to switch intelligently between supported protocols ac-
vices, but it is still possible with our middleware while using cording to the desired QoS parameters. Fig. 17 shows our middleware
software-testing mechanism and dedicated neural network algorithms latency evaluation with different message size (8, 32, 128, 512, and 2048
like the back-propagation one. Other possible strategy consists in Kbytes) for the following protocols (mqtt, coap, http, web-socket, DDS,
selecting the best microservice that attains the highest accuracy like it intra communication, 0MQ (TCP)). Most of the used protocols increase
was mentioned in Bhanot et al. (2018), where authors have proposed a slightly the latency when the payload size increases, but with large
mechanism that recognizes the ratio of data division to get the maximum amount of data exchanging, the mentioned problems appear and thus our
accuracy. ANN strategy shows its maximum effectiveness.
Discovery response time is presented in Fig. 16; it demonstrates that
both LinkSmart and our middleware have stable convergence and high 5. Conclusion and future work
performance compared with OpenIoT. This latter does not support
scaling challenge, which limits its usage to the applications that require a In this paper, we proposed new middleware architecture for suitable
large number of devices. These results are obtained using different and easy integration of WSNs and IoT. Many limitations and great
numbers of services (i.e.50, 100, 200, 500 and 1000 simulated services challenges appeared on both fields and need to be tackled with innova-
and microservices). tive solutions. Consequently, we propose the new microservice approach
that provides high loosely coupled services, scalability, heterogeneity
4.4. Latency evaluation and other features.
Microservice allows the design of high-performing middleware to
Our middleware exploits different communications protocols for data achieve the targeted objectives. The global architecture is inspired from
exchanging and service sharing. Hence, the middleware latency depends artificial neural network; it allows the connection of smart microservices
on the used protocol that has dynamic state and performance according with all the components of the system. The combination of ANN and
to the network environment, packet size, nodes and network over- microservices provides a uniform definition for all IoT micro-services and
loading, service load balancing, etc. Therefore, our ANN strategy plays an leads to the design of a lightweight middleware that handles various IoT
151
A. Benayache et al. Journal of Network and Computer Applications 144 (2019) 138–154
152
A. Benayache et al. Journal of Network and Computer Applications 144 (2019) 138–154
Sustain. Comput. Inf. Syst. 20, 14–33. https://doi.org/10.1016/j.suscom.2018.08.00 Martonosi, M., Liu, T., 2003. Impala : a middleware system for managing autonomic,
8. parallel sensor systems. ACM Sigplan Not. 38, 107–118. https://doi.org/10.1145/
Bhardwaj, T., Sharma, S.C., 2018b. An autonomic resource provisioning framework for 966049.781516.
efficient data collection in cloudlet-enabled wireless body area networks: a fuzzy- Microsoft, 2017. Microsoft Azure Cloud Computing Platform & Services. Microsoft
based proactive approach. Soft Comput. https://doi.org/10.1007/s00500 Website [WWW Document]. https://azure.microsoft.com/en-us/. (Accessed 24 July
-018-3587-x. 2017).
Boonma, P., Suzuki, J., 2014. TinyDDS: an Interoperable and Configurable Publish/ Murphy, A., Heinzelman, W., 2002. Milan: Middleware Linking Applications and
Subscribe Middleware for Wireless Sensor Networks, pp. 206–231. https://doi.org/ Networks. Univ. Rochester, Tech. Rep. TR-795 1–16.
10.4018/978-1-60566-697-6.ch009. Murphy, A.L., Picco, G.P., Roman, G.-C., 2000. LIME: a middleware for physical and
Callanan, M., Spillane, A., 2016. DevOps: making it easy to do the right thing. IEEE Softw. logical mobility. In: Proceedings 21st International Conference on Distributed
33, 53–59. https://doi.org/10.1109/MS.2016.66. Computing Systems, pp. 524–533. https://doi.org/10.1109/ICDSC.2001.918983.
Cerami, B.E., 2002. The WSDL Specification Chapter 6 WSDL Essentials Basic WSDL Namiot, D., Sneps-Sneppe, M., 2014. On micro-services architecture. Int. J. Open Inf.
Example : HelloService. wsdl WSDL Invocation Tools , Part I, pp. 4–10. Technol. 2, 24–27.
Chaitanya Jawale, n.d. From The CEO's Desk: To Microservice or Not To Microservice Is Ngu, A.H., Gutierrez, M., Metsis, V., Nepal, S., Sheng, Q.Z., 2017. IoT middleware: a
Not The Question… - Opcito Technologies [WWW Document]. URL https:// survey on issues and enabling technologies. IEEE Internet Things J. 4, 1–20. htt
www.opcito.com/microservice-not-microservice-not-question/ (Accessed 29 May ps://doi.org/10.1109/JIOT.2016.2615180.
2018). Pahl, C., Zhu, Y., 2006. A semantical framework for the orchestration and choreography
Cockburn, A., Highsmith, J., 2001. Agile software development: the people factor. of web services. Electron. Notes Theor. Comput. Sci. 151, 3–18. https://doi.org/10
Computer (Long. Beach. Calif) 34, 131–133. https://doi.org/10.1109/2.963450. .1016/j.entcs.2005.07.033.
Corsaro, A., Roma, S., Querzoni, L., Scipioni, S., Tucci-piergiovanni, S., Virgillito, A., Palade, A., Cabrera, C., Li, F., White, G., Razzaque, M.A., Clarke, S., 2018. Middleware for
La, R., 2006. Quality of Service in Publish/Subscribe Middleware, pp. 1–22. internet of things: an evaluation in a small-scale IoT environment. J. Reliab. Intell.
Curino, C., Giani, M., Giorgetta, M., Giusti, A., Murphy, A.L., Picco, G. Pietro, 2005. Environ. https://doi.org/10.1007/s40860-018-0055-4.
Mobile data collection in sensor networks: the tinylime. Percom 1, 446–469. Picco, G. Pietro, Zachariadis, S., 2005. Reconfigurable component-based approach to
Draskovic, D., Isidorovic, J., 2017. Mainflux Open Source Internet of Things Platform networked embedded systems. Discovery 806–810. https://doi.org/10.1109
[WWW Document]. Mainflux - Internet Things Solut. https://www.mainflux.com/. /PIMRC.2005.1651554.
(Accessed 24 July 2017). Rayes, A., Salam, S., 2016. Internet of Things-From Hype to Reality: the Road to
Durmaz, C., Challenger, M., Dagdeviren, O., 2017. Modelling contiki-based IoT systems. Digitization, Internet of Things from Hype to Reality: the Road to Digitization. htt
In: 6th Symp. Lang. Appl. Technol. (SLATE 2017), pp. 1–13. https://doi.org/ ps://doi.org/10.1007/978-3-319-44860-2.
10.4230/OASIcs.SLATE.2017.5. Razzaque, M.A., Milojevic-Jevric, M., Palade, A., Cla, S., 2016. Middleware for internet of
FAQ sur AWS IoT – Amazon Web Services [WWW Document], n.d. URL https://aws.ama things: a survey. IEEE Internet Things J. 3, 70–95. https://doi.org/10.1109/JIOT.201
zon.com/fr/iot-platform/faqs/ (Accessed 24 July 2017). 5.2498900.
Fleisch, E., Weinberger, M., Wortmann, F., 2015. Business models and the internet of Redbooks, I., 2015. Microservices from Theory to Practice, Ibm.
things. In: Business Models and the Internet of Things, pp. 6–10. https://doi. Richards, C., 2018. Microservices Patterns With Examples in Java.
org/10.1007/978-3-319-16546-2. Salem, H., Nader, M., 2006. Middleware challenges and approaches for wireless. Sensor
Fok, C.-L., Roman, G.-C., Lu, C., 2009. Agilla: a mobile agent middleware for self-adaptive Netw. 7, 1–23. https://doi.org/10.1109/MDSO.2006.19.
wireless sensor networks. ACM Trans. Autonom. Adapt. Syst. 4, 1–26. https://doi.o Shelby, Z., Hartke, K., Bormann, C., 2014. The Constrained Application Protocol (CoAP).
rg/10.1145/1552297.1552299. https://doi.org/10.17487/rfc7252.
Guidi, C., Lanese, I., Mazzara, M., Montesi, F., 2017. Microservices : a Language-Based Silva, J.R., Delicato, F.C., Pirmez, L., Pires, P.F., Portocarrero, J.M.T., Rodrigues, T.C.,
Approach, pp. 1–8. Batista, T.V., 2014. PRISMA: a publish-subscribe and resource-oriented middleware
Guinard, Dominique D., Trifa, V., 2016. Building the Web of Things. for wireless sensor networks. In: Adv. Int. Conf. Telecommun. AICT 2014–July,
Guinard, D., Trifa, V., Wilde, E., 2010. A resource oriented architecture for the web of pp. 87–97.
things. In: 2010 Internet of Things (IOT). IEEE, pp. 1–8. https://doi.org/10.11 Snyder, B., Bosanac, D., Davies, R., 2011. ActiveMQ in Action. Online, p. 406.
09/IOT.2010.5678452. Souto, E., Guimar~aes, G., Vasconcelos, G., Vieira, M., Rosa, N., Ferraz, C., Kelner, J., 2006.
Hagan, M.T., Demuth, H.B., Beale, M.H., 1995. Neural network design. Bost. Mires: a publish/subscribe middleware for sensor networks. Personal Ubiquitous
Massachusetts PWS 2, 734. https://doi.org/10.1007/1-84628-303-5. Comput. 10, 37–44. https://doi.org/10.1007/s00779-005-0038-3.
Hamida, A. Ben, Kon, F., Lago, N., Zarras, A., Pilios, D., Vassiliadis, P., Georgantas, N., Stanford-Clark, A., Truong, H.L., 2013. MQTT for Sensor Networks (MQTT-SN) Protocol
Issarny, V., Mathioudakis, G., 2013. QoS-aware Adaptive Choreographies to Cite This Specification. IBM.
Version : HAL Id : Hal-00912882 Integrated CHOReOS Middleware - Enabling Large- Sun, L., Li, Y., Memon, R.A., 2017. An open IoT framework based on microservices
Scale , QoS-Aware Adaptive Choreographies. architecture. China Commun. 14, 154–162. https://doi.org/10.1109/CC.2017.78681
Honamore, S., Dev, K., Honmore, R., 2016. Reliability prediction of web services using 63.
HMM and ANN models. Procedia Comput. Sci. 93, 41–47. In: https://doi.org/10.10 Valley, S., Group, P., Partner, G., Partners, M., n.d. The Art of Scalability Scalable Web
16/j.procs.2016.07.179. Architecture, Processes, and Organizations for the Modern Enterprise Martin.
Huebscher, M.C., McCann, J.A., 2004. Adaptive middleware for context-aware Vanmali, M., Last, M., Kandel, A., 2002. Using a neural network in the software testing
applications in smart-homes. In: Proc. 2nd Work. Middlew. Pervasive Ad-Hoc process. Int. J. Intell. Syst. 17, 45–62. https://doi.org/10.1002/int.1002.
Comput, pp. 111–116. https://doi.org/10.1145/1028509.1028511. Velinov, A., Mileva, A., 2016. Running and testing applications for Contiki OS using cooja
Karagiannis, V., Chatzimisios, P., Vazquez-Gallego, F., Alonso-Zarate, J., 2015. A survey simulator. In: Int. Conf. Inf. Technol. Dev. Educ, pp. 279–285.
on application layer protocols for the internet of things. Trans. IoT Cloud Comput. 3, Villamizar, M., Garces, O., Castro, H., Verano, M., Salamanca, L., Gil, S., 2015. Evaluating
11–17. https://doi.org/10.5281/ZENODO.51613. the Monolithic and the Microservice Architecture Pattern to Deploy Web Applications
Katasonov, A., Cochez, M., 2012. UBIWARE Platform - RAB Overview. Industirial Ontol. in the Cloud Evaluando el Patr on de Arquitectura Monolítica y de Micro Servicios
Gr. Univ. Jyv€askyl€
a, p. 42. Para Desplegar Aplicaciones en la Nube. In: 10th Comput. Colomb. Conf,
Koshy, J., Pandey, R., 2005. VMSTAR: synthesizing scalable runtime environments for pp. 583–590. https://doi.org/10.1109/ColumbianCC.2015.7333476.
sensor networks. In: Proc. 3rd Int. Conf. Embed. Networked Sens. Syst, pp. 243–254. Vresk, T., Cavrak, I., 2016. Architecture of an interoperable IoT platform based on
https://doi.org/10.1145/1098918.1098945. microservices. In: 2016 39th Int. Conv. Inf. Commun. Technol. Electron.
Kostelník, P., Sarnovský, M., Furdík, K., 2011. The semantic middleware for networked Microelectron. MIPRO 2016 - Proc, pp. 1196–1201. https://doi.org/10.1109
embedded systems applied in the internet of things and services domain. Scalable /MIPRO.2016.7522321.
Batna2 12, 307–315. https://doi.org/10.12694/scpe.v12i3.726. W3C, 2000. Simple Object Access Protocol (SOAP) 1.1. W3C Work. Gr.
Krylovskiy, A., Jahn, M., Patti, E., 2015. Designing a smart city internet of things platform Zimmermann, O., 2016. Microservices tenets: agile approach to service development and
with microservice architecture. In: Proc. - 2015 Int. Conf. Futur. Internet Things deployment. Comput. Sci. Res. Dev. 1–10. https://doi.org/10.1007/s00450-016-0
Cloud, FiCloud 2015 2015 Int. Conf. Open Big Data, OBD 2015 25–30. https://doi.o 337-0.
rg/10.1109/FiCloud.2015.55. Zte, H.Z., Engineer, S., Management, N., Ptl, O.C.S., n.d. Microservice Powered
Kübert, R., Katsaros, G., Wang, T., 2011. A RESTful implementation of the WS-agreement Orchestration Why Microservice at OPEN-O Challenges of Microservice MSB (
specification. In: Proc. Second Int. Work. RESTful Des. (WS-REST ’11), pp. 67–72. Microservice Bus ) Solution.
https://doi.org/10.1145/1967428.1967444.
Lelylan Dev Center. Building the Connected Home. [WWW Document], n.d. URL http
Ayoub Benayache is a PhD student in Computer systems and networks at Batna 2 Uni-
://dev.lelylan.com/ (Accessed 24 July 2017).
versity. Ayoub received his Master's degree and License's degree at the same university, His
Luzuriaga, J.E., Perez, M., Boronat, P., Cano, J.C., Calafate, C., Manzoni, P., 2015.
research interest in how to integrate heterogonous devices, wireless networks and pro-
A comparative evaluation of AMQP and MQTT protocols over unstable and mobile
tocols in the internet of things.
networks. In: 2015 12th Annu. IEEE Consum. Commun. Netw. Conf. CCNC 2015,
pp. 931–936. https://doi.org/10.1109/CCNC.2015.7158101.
Maamar, Z., Mostefaoui, S.K., Yahyaoui, H., 2005. Toward an agent-based and context- Azeddine Bilami received his Ph.D. from the department of computer science at the
oriented approach for Web services composition. IEEE Trans. Knowl. Data Eng. 17, university of Batna, Algeria in 2005. He is currently serving as a full professor at the same
686–697. https://doi.org/10.1109/TKDE.2005.82. department. Prof. Bilami has published papers in many international journals and con-
Madden, S.R., Franklin, M.J., Hellerstein, J.M., 2004. TinyDB : an Acquisitional Query ferences (IJSNet, IJCA, Robotics and Autonomous Systems, IJIIC, IAJIT, NGNS, IASTED,
Processing System for Sensor Networks, vol. 1. PPAM…) His research Interests are wireless and mobile networks, high-performance in-
terconnects for parallel architectures and multiprocessors, system-on-chip architectures,
TCP/IP and Internet.
153
A. Benayache et al. Journal of Network and Computer Applications 144 (2019) 138–154
Sami Barkat is a PhD student in Computer systems and networks at Batna 2 University., Technical Committee on Information Infrastructure and Networking (2016–2017). He has
Sami obtained his Master's degree and License's degree at the same university, His research served as Co-Program Chair of IEEE WCNC0 2012 and ICC0 2004, Executive Vice-Chair of
interest in heterogeneous communication interfaces, wireless networks and protocols in ICC0 2017, Panel sessions co-chair for Globecom'16, tutorial chair of VTC0 2013 Spring and
machine-to-machine and the internet of things WCNC0 2010, track chair of PIMRC0 2012 and WCNC0 2014, symposium Co-Chair at
Globecom 2007–2011, ICC 2008–2010, ICC0 2014 and '2016. He has served as Co-Guest
Editor for special issues of IEEE Communications Magazine, Networks Magazine, Wire-
Pascal Lorenz ([email protected]) received his M.Sc. (1990) and Ph.D. (1994) from the
less Communications Magazine, Telecommunications Systems and LNCS. He is associate
University of Nancy, France. Between 1990 and 1995 he was a research engineer at
Editor for International Journal of Communication Systems (IJCS-Wiley), Journal on Se-
WorldFIP Europe and at Alcatel-Alsthom. He is a professor at the University of Haute-
curity and Communication Networks (SCN-Wiley) and International Journal of Business
Alsace, France, since 1995. His research interests include QoS, wireless networks and
Data Communications and Networking, Journal of Network and Computer Applications
high-speed networks. He is the author/co-author of 3 books, 3 patents and 200 interna-
(JNCA-Elsevier).
tional publications in refereed journals and conferences. He was Technical Editor of the
IEEE Communications Magazine Editorial Board (2000–2006), IEEE Networks Magazine
since 2015, IEEE Transactions on Vehicular Technology since 2017, Chair of IEEE ComSoc Hafnaoui Taleb obtained his license and master degree in network and systems at the
France (2014–2018), Financial chair of IEEE France (2017–2019), Chair of Vertical Issues University of Batna in Algeria, now he is preparing his PhD at the university of Haute-
in Communication Systems Technical Committee Cluster (2008–2009), Chair of the Alsace in France and at the University of Batna 2 in Algeria. His research interests centre
Communications Systems Integration and Modeling Technical Committee (2003–2009), around the intersection of integrating Wireless Networks in the Cloud Computing, which
Chair of the Communications Software Technical Committee (2008–2010) and Chair of the involves other research domains.
154