Comp 1809

Download as pdf or txt
Download as pdf or txt
You are on page 1of 31

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/344777451

A Systematic Review on Software Architectures for IoT Systems and Future


Direction to the Adoption of Microservices Architecture

Article in SN Computer Science · November 2020


DOI: 10.1007/s42979-020-00359-w

CITATIONS READS

31 2,047

1 author:

Abdul Razzaq
Zhejiang University
14 PUBLICATIONS 89 CITATIONS

SEE PROFILE

All content following this page was uploaded by Abdul Razzaq on 20 October 2020.

The user has requested enhancement of the downloaded file.


SN Computer Science (2020) 1:350
https://doi.org/10.1007/s42979-020-00359-w

REVIEW ARTICLE

A Systematic Review on Software Architectures for IoT Systems


and Future Direction to the Adoption of Microservices Architecture
Abdul Razzaq1

Received: 5 August 2020 / Accepted: 10 September 2020


© Springer Nature Singapore Pte Ltd 2020

Abstract
The Internet of Things-based systems and software allow computations anywhere at any time by interconnecting individuals,
networks, services, computers and artefacts that allow autonomous systems to form digitized communities. As the blueprint
for software-intensive applications, and software architecture that precise the complexity of a network’s planning, develop-
ment, and changing phases to effectively and efficiently build complex IoT-driven applications. In any case, there exists no
comprehensive analysis in the state of the research on the adoption of MSA for IoT systems. This study effort is needed to
explore architectural concepts and practices for designing and developing IoT software to excel state-of-the-art for IoTs along
with suggestions and recommendations for IoT software to the adoption of MSA to fulfil the identified gaps. A systematic
analysis was coordinated, covering up the literature on existing IoT solutions by studying 140 qualitatively selected articles
performed between 2005 and Jan 2020. One hundred forty articles were comprised in this SLR. The findings of this study
demonstrated different research topics including software architectural styles, patterns, and models to build IoT software.
This research presents cloud-based computing environments, autonomous, software-defined networking, and responsive
applications, and IoT-driven agent-based systems, (1) thirteen MSA architectural and design patterns for IoTs and classifica-
tion of patterns, (2) classification of software architectures for IoTs into nine main categories and their sub-categories, (3)
twenty-three most investigated IoT challenges, and (4) mapping of IoT challenges with software architectural solutions. The
study revealed the innovative work on IoT software architecture and trends that help in the creation and dynamic adaptation
of IoT software for reusability, automation and human decision-making. The outputs of this SLR are useful in revealing
many recommendations to the software industry, software engineering community, and computer sciences community with
over the past 15 years of research into the adoption of MSA. This study reflects a distilled awareness of architectural prac-
tices and principles to assist researchers and practitioners in promoting information sharing software architectural roles and
responsibilities for the Internet of Things software.

Keywords Internet of Things · IoT · Software architecture · Microservices architecture · Cloud computing · Systematic
study

Introduction

When technology becomes a key differentiator, business


executives are continually engaged in strategic conversa-
tions with IT leaders to better understand how their business
This article is part of the topical collection “Advances in needs are to be addressed by the technologies they create.
Computational Approaches for Artificial Intelligence, Image Software architecture refers to a distributed system being
Processing, IoT and Cloud Applications” guest-edited by Bhanu logically structured into software components. A system’s
Prakash K. N. and M. Shivakumar.
software architecture represents the organisation or structure
* Abdul Razzaq of the system and offers a description of how it is working.
[email protected]; [email protected] A device represents the component collection that performs
a specific function or set of functions.
1
Marine Information Science and Engineering, Zhejiang
University, Zhoushan 316000, China

SN Computer Science
Vol.:(0123456789)
350 Page 2 of 30 SN Computer Science (2020) 1:350

A technological concept that defines the possibility that the microservices approach valuable since it permits the
organized physical objects are connected to the network and group and software associations to grow productivity [12].
have the volume to identify itself as dissimilar objects. IoT It circumvents the current software architecture because of
involves a growing number of smart objects, interconnected its more successful results that are the reason there is a reno-
tools and sensors that are mostly non-intrusive, quick and vation of microservices in industries everywhere throughout
undetectable [1]. IoT links devices that allow people to com- the world. At some point or another, it will end up being the
municate with one another and access data and processes best-adapted architectural style to its adaptable environment
online [2]. The key task of IoT devices is to produce real- for IoT software. There is a great deal of research right now
time data, which we can then analyse and use to generate that should be addressed.
desired business results [3, 4]. These IoT systems are a com-
bination of different sets including hardware (sensors, com-
ponents) control and operated by using software (programs/ Contributions of This Research Work
source code) communicates through the network (connectiv-
ity/protocols) to allow things for collecting, processing, and This study reveals, there is not sufficient systematic litera-
data exchanging [4]. ture on software architectural solutions for IoT software and
A continuing study on the IoT’s current state reveals awareness to adapt the microservices architecture for IoT
that connected devices would be around 25 billion by 2020 software. There is a need for precise, systematic literature
[5]. On a fundamental level, IoT systems help to connect to cover this hole. This investigation encounters the current
all of the things to make financial opportunities and techni- literature on awareness and importance of software architec-
cal through integration between computer software and the tural solutions for IoT software. The information is available
physical world [6]. However, with regard to IoT software in different formats and necessities to assemble for system-
developments [7], various challenges exist which we have atic literature.
discussed in detail.
• Researchers: A new hypothesis impact of existing
Microservices Architecture for IoT research is a state of the art and analysis in software
architectural role for IoT software.
Software architecture is the primary artefact, which enables • Practitioners: Awareness and understanding the use of
straightforward and predictive development of complex software architectural solutions as a best practice and
software systems [8]. MSA supports to develop the compli- scaling the IoT software.
cated system application, and it conveys the system applica- • MSA architectural and design patterns for IoT software
tion into pieces or decomposing the system application [9]. and pattern classification.
Microservices are becoming the heart of IoT as an independ- • Software architecture classification into main and sub-
ent services provider. There is no negating element that the categories for IoT software.
regularly changing transformative strategy of styles of cor- • Mapping of software architectural solutions with IoT
respondence and combination has appeared to be cyclical. challenges.
Applications need to be put together from a collection of tiny • A list of most investigated IoT challenges.
[10], independent services within the IoT. The microservices
architecture is opted for due to its feasibility for IoT and dis-
tributed computing. A microservice-based large-scale pro- Overview of the Study
gramming platform to empower disseminated information
directing and preparing over the Internet of Things devices, The rest part of this study is organized as follows. The next
edges, and central cloud [11]. section gives the literature of related studies followed by
which the execution of a systematic process with RQs is
Motivation for Systematic Study presented. The subsequent section presents the results of
this systematic study and draws attention to the scale, form
Significant progress has been made in terms of develop- and classification of the published work. Before the final sec-
ment and published research for architecting software of IoT tion, the problems IoTs face and their design approaches and
from the past few years. Software-based architecture solu- emerged software architectural solutions with IoT challenges
tion leverages to develop advanced IoT applications, mobile are given, it further talks about the emerging research trends
and cloud computing technologies that support software and futuristic research to adopt the MSA for IoT software
from smart cities based on software ecosystems and edge and study results with their suggestions for researchers, and
computing. In the past, a couple of years, the product item offers thread to validity. The final section finishes this work
organizations, and software organizations have discovered by concluding it.

SN Computer Science
SN Computer Science (2020) 1:350 Page 3 of 30 350

Related Study consolidating the general concept, technology and archi-


tecture of the word and its applications [21]. The general
Analysis from this study illuminates the value of device architecture of IoT shows the layered structure according
design for IoT applications. Nonetheless, this literature to the IEEE principles and accessible reference models.
review indicates some basic issues that require architec- This layered structure has included 3 layers, application
tural software solutions for IoT applications. The discus- layer is the 1st one, communication layer is 2nd, and the
sion about literature refers to the question raised by this 3rd is sensor device layer (see Fig. 1). Figure 1 presents
research paper. It displays all the problems related to IoT the high-level overview of IoT with its corresponding soft-
applications. ware architecture.
The most highlighted issues which IoT face interop- Using architectural models, IoT device design and
erability, scalability, data volume, mobility, security and implementation problems can be minimised. Additionally,
privacy, implementation and competency [13, 14]. The IoT material and its interconnections can also be linked
important issue is security and privacy of the data which to connectors and components of software architecture
need serious attention [15]. The data observing challenge to effectively describe, build, scale, manage and deploy
is to formulate the standards and practices, it empowers IoT software [22]. A technique can be used for automated
sensor data integration through devices, domains and users generation of code as model-driven engineering from the
to enable services and new types of applications that pro- architecture components and their connectors [23]; also,
mote significantly more detailed ecosystem analysis and architecture can be recovered from this existing source
understanding [16]. As indicated by [17], the enormous code. We intend to explore the software architecture’s role
variety of IoT applications, devices and implementations in development, management, and operations of IoT sys-
can result in a highly heterogeneous collection of informa- tems. Styles and patterns are considered compatible con-
tion data with consistency, data, frequency and timing of cepts and are commonly used to refer to interchangeable
information data configuration and interpretation. Inter- expertise and practice guidelines in software architecture
operability is, therefore, an essential factor to be consid- [23, 24].
ered in IoT solutions that allow devices to share data and Based on this current research study, we are closer
collaborate. to conclude the research of architecting the IoT has sig-
The architecture of IoT and solution models must inter- nificantly grown. We see there is no proper investigation
face the heterogeneous communities to work together and of research on software architecture for IoT with future
for understanding. Software engineering for IoT presents direction.
issues considering new applications, services and devices. The study aims to conduct this systematic way to classify
User-centric development, electronic services, mobility, the available research which helps to understand the solu-
smart devices, electronic health, and implantable devices tions of architecture and challenges. We identify the most
present indicating challenges for determining requirements useful patterns of microservices and mapped with IoT (see
of the software, and developing reliable safe software [18]. Table 9). To architecture the IoT software, we identify the
IoT architectures are fragmented which cannot coordi- available patterns as the best practices. From a scientific
nate the information or integrate the data from various viewpoint, this systematic study establishes the architecture
storehouses and this is the main cause that creates many of IoT in terms of practices and principle of design [22],
problems in information data sharing, upgrading system, including with reusability and design knowledge [23, 25]
and technology multiplexing. The architectures’ need is to analyse the impact and future direction. To the current
to integrate multiple resources and functions into larger research, this study focuses on IoT challenges (see Table 7)
systems [19]. Due to the increased use of IoT system, there and solution by mapping of software architecture (see
arises a need for a well-defined software architecture that Table 8, Fig. 10). Rest of contribution detail is discussed
must be flexible for smart devices and data integrations in the paper.
over different environments [20]. Layer1 is architectural user interface layer allows the user
to interact by their devices and communicate through the
Layer2. Layer2 is the logical layer for communicating with
IoT and Software Architecture storage (database) Layer3. It can read state and communicate
to all connected things to it. Figure 1 shows the abstract
IoT term sometimes referred to the web of things [3, 21]. level architectural model and showing the reduction of com-
IoT as an idea comes up short on a brought together under- plexities of IoT system implementation and its configura-
standing and its definition still also fluffy because of the tion. Moreover, IoT things can be mapped with connectors
different applications of IoT. An IEEE effort aimed at and components of architecture which effectively maintain,
develop and deploy the IoT systems [22].

SN Computer Science
350 Page 4 of 30 SN Computer Science (2020) 1:350

Fig. 1  Overview of software architecture for IoT systems

Research Process of Systematic Study Search Strategy

The study goal, expressed using goal-question-metric In the beginning, we distinguished the search terms
approach [26, 27], is to analyse the software architec- dependent on the topic of the study (software architec-
ture, and IoT software use for exploration and analysis tural solutions for IoTs and futuristic MSA adoption) and
concerning architectural solutions for IoT software and the RQs. We followed the “Kitchenham and Charters”
MSA importance, then architectural and design patterns, [28], and listed the selected architectural software for IoT
IoT challenges, architecture classifications according to systems that are commonly used in current literature stud-
IoT software, mapping of architectural solutions with IoT ies, IoT challenges (see Table 7), mapping architectural
challenges and awareness of software architecture in the solutions with IoT challenges (see Table 8, Mapping of
context of understanding for IoT software. Our goal is to IoT challenges with software architectural solutions), and
decompose into main RQs and sub RQs (see Table 1). architectural trends and design patterns for the MSA (see
Systematic analysis is used to identify and map the cur- Table 9). Terms of interference apply to architecture. At
rent research to explain the effect, resolve the research first, we incorporated "Software Architecture" & "IoT,"
gaps and the direction of future studies [7, 23]. Through- which are identified with architectural solutions, styles of
out systematic studies, the relevance of research questions architecture and design patterns as a search term in trail
is important for an unbiased investigation of the viable search. In the initial search, we experimented with a few
theme according to the rules for conducting systematic mixtures of search terms. We could not exploit a similar
studies (Table 2). combination of search terms. An inappropriate search will
produce several unessential outcomes. We tried to find an
acceptable method by checking each database with trail
Study Search queries. The terms of the search are given in population
and intervention below:
Period The time is set between 2005 and 2019 and also early Population Architecture, software architecture, IoT, Inter-
2020 when we started this systematic study search. net of Things, microservices architecture, MSA, SOA.

SN Computer Science
SN Computer Science (2020) 1:350 Page 5 of 30 350

Intervention Software architecture, architectural supports logic OR and AND, we may search in digital data-
approaches, Boolean OR are used to link alternative terms, bases using the following query expression (see Table 3):
and Boolean AND is used to combine key population and We have not used these keywords (limitation, challenges,
intervention terms. For example, if the digital search engine issues, problems) in the search string, but if we use these

Table 1  RQs and description


Research questions and rationale

RQ1.1: What is the frequency of the publication in software architecture and IoT software over the years?
We focused on how software architecture is important and becoming more familiar and also growing up years IoT software
RQ1.2: How many publications per year are found in the research area of software architecture for IoT software?
This research question will help to understand the need and demand of software architecture for IoT. We will see how software architecture for
IoT is becoming more familiar and growing up years in academics and industry
RQ1.3: Which are the foremost venues of the research area for publications?
We found the most publication venues which help in the importance of journals related to IoT and software architecture. We see the current
publication progress of publication type like (Journal, Conference, or Workshop)
What are the main contributions of the selected articles?
RQ2.1: What are the current challenges reported in the literature of IoT software?
We identify emerging challenges of IoT. These challenges help us to understand the difficulties of IoTs. We briefly discussed these challenges
RQ2.2: What software architectural solutions have been proposed for IoT software?
This RQ aims to identify and categorize architectural solutions for IoT software. We organized architectural solutions according to problems in
IoT software. These software architectural solutions are being used to mitigate the challenges of IoT software. This answer provides informa-
tion to practitioners which architectural solution they can use to develop the IoT software, help researcher to identify the research gaps and it
will also provide help to researchers to adapt the existing or develop new solutions
RQ2.3: What type of MSA based software architecture and design patterns are available for IoT software?
We identify software architectural styles, architectural patterns, and design patterns. We also mapped these styles and patterns with IoT based on
its requirements
RQ3: What are the primary inspirations to adopt the MSA for IoT software in the Ocean?
We have discussed the MSA for IoT software in the field of Ocean. There is very less work of using software architecture in the Ocean IoT

Table 2  Generic and specific screening criteria for the selected articles

Code Generic screening Evaluation Scale

GS1 Is it duplicate? Yes No


GS2 Is it in English? Yes No
GS3 Is it being empirical, peer-reviewed, or experience report? Yes No
GS4 Secondary study? (i.e., survey, SMS, SLR, review) Yes No
GS5 Is it a book? Yes No
GS6 Is the study published between 2010 and 2019? Yes No
Code Specific screening Evaluation Scale

SS1 Does the study present software architecture, styles, patterns, challenges of IoT? Yes No

Table 3  Search string and search keywords of this study


Searching by query string Searching by keywords

((((Software Architect*) OR (microservices) OR (MSA)) OR ((Service Oriented 1. IoT Architecture


Architecture) OR (SOA)) OR (Ocean)) AND ((IoT) OR (Internet of Things))) 2. Software architecture for Internet Of Things/IoT
3. Service-oriented architecture for IoT/Internet of Things
4. Microservices architecture for IoT/Internet of Things
5. SOA for IoT/Internet of Things
6. MSA for IoT/Internet of Things
7. Service-oriented architecture or SOA in Ocean
8. Microservices architecture of MSA in Ocean
9. Ocean IoT/Internet of Things

SN Computer Science
350 Page 6 of 30 SN Computer Science (2020) 1:350

keywords with search string, it makes a different string and small sets is that outcomes have different definitions, and the
we do not get the right results. We have used different key- returned outcomes have to go beyond any acceptable length
words to locate the missing articles to get more articles that to conclude in a sensible time frame based on execution of
we have made the general search string. SLR process (Fig. 2).
For example, in the IEEEXplore database, we use the
option of advanced search to elaborate the terms and Selection Criteria
Boolean operators in real queries. We use the term "Inter-
net of things OR IoT" and the second field with the term The researchers described and got a steady understand-
software architecture OR SA OR arhitect* OR microservices ing of the criteria for consideration and elimination
architecture OR MSA within the IEEEXplore search inter- mentioned before selecting the articles (see Table 5).
face. The rationale we split the outcome expressions into The researcher also conducted a pilot test on the test

Fig. 2  Execution of this SLR


process Start

Study Search
(Selected Database)

Keyword Search Preliminary Search

A=8984 (J/C)

Duplication Remove

Legend

Filtering by Title
Start/End

Filtering by Abstract Main Step

Full Text Filtering Paper Detail

Iteration
Selected Studies Process

FLOW
A = 140
ACRONYM

A = Article
Quality Assessment
J = Journal
C = Conference

Data Extraction

Data Synthesis

End

SN Computer Science
SN Computer Science (2020) 1:350 Page 7 of 30 350

Fig. 3  Research motif grouping


procedure

Table 4  Digital databases # Digital database Search terms Web address


included in the systematic study
D-Db1 IEEE Xplore Abstract, title, keywords IEEE library
D-Db2 Scopus Keywords, title Scopus library
D-Db3 ISI Web of Science Abstract, title, keywords ISI library
D-Db4 ACM digital library Abstract, title ACM library
D-Db5 SpringerLink Keywords, title Springer library
D-Db6 Science Direct Keywords, title Science Direct library
D-Db7 Wiley Title Wiley library

alternative using these criteria and further addressed any Table 5  Inclusion and exclusion criteria in the systematic study
contradictions and incorrect assumptions regarding them.
Figure 3 presents the brainstorming procedure which we Inclusion criteria
used to make the relevant groups of articles. Peer reviewed
Discuss software architecture and IoT
Published in journals, conferences, and workshops
First‑Round Study Selection Published after 2005
Exclusion criteria
We used query techniques to classify selected articles. We Not written in English
followed the classification criteria for selected articles Previous version is excluded if a paper is extended
by name. We kept selected articles for the next round of Excluded if it is grey literature (i.e., technical report, work in
progress)
selection if we were unable to pick by names. We grouped
Editorials, posters tutorials, slides, keynotes
the articles with titles, keywords, and abstracts in dif-
Not accessed electronically
ferent digital libraries like ISI Web of Science, IEEE
Explore, and Science Direct. In other online libraries, i.e.
ACM Digital Library, Wiley, SpringerLink (see Table 4). Second Round
Inquiry terms were arranged with titles and abstracts due
to database constraints. We studied the abstract of selected articles in the second
round as specified by selection criteria (see Table 5). Results

SN Computer Science
350 Page 8 of 30 SN Computer Science (2020) 1:350

were reviewed, and any differences among all researchers Study Results
were identified and settled. The analysis was kept for the
next round, on the off chance that a target was difficult to Search and Selection Results
make.
As shown (see Fig. 4), 8984 papers were first obtained by
Third Round applying the search terms before the first. According to
the second round 1660 articles were held. There were 168
In last phase, we read the complete articles to determine and 146 of software architectures comments held prior to
it that this article should be included or not. The writers the third round. In this SLR, 140 articles have finally been
have debated and agreed on whether or not a paper will be selected.
published finally.
Classification of Studies
Data Extraction
This section describes the demographic details of selected
We extracted the significant information that appeared (see papers, such as research classifications by category, place of
Table 6) from each selected study to react to this systematic publishing and year of publication. We also classified and
study and its four main RQs and eight sub RQs. For further arranged their leading publication according to them. Until
synthesis, the separate information was stored in an MS presenting the findings from the synthesis and review of the
Excel spreadsheet. related data derived from the studies included in this system-
atic study, we report demographic details on the included
Data Synthesis studies: the publishing locations and forms, the citation sta-
tus and the chronological view. All research included are
We answer the RQs in this section, our goal is to decompose set out in Appendix. A paper’s citation status will partially
into main RQs and sub-RQs (see Table 1). The results of
the RQs can be easily related to this study’s target: identi-
fied most investigated emerging challenges of IoT systems
(RQ2.1, see Table 7), and identified architectural solutions
Search
for IoTs (RQ2.2, see Table 8), which mapped with archi-
tectural solutions to mitigate these challenges of IoT (see 8984
Fig. 10), classification of architectures for IoT (see Fig. 9), Study selection in 1st round
discussed the benefits of software architecture for IoTs
and impact of software architectures on IoT systems, and 1660

explored architectural patterns and design patterns of MSA Study selection in 2nd round

for IoT software (RQ2.3, see Table 9). Later, we will address 168+146
and highlight the current and evolving research trends that
Study selection in 3 round
rd

suggest future aspects of futuristic IoT system architecture.


We used the taxonomy of study classification and article evi-
dence by categorizing published work into distinct phases to 140

systematically analyse the historical history of the research


and identify promising areas for future research. Fig. 4  Results of the study search and selection

Table 6  Data items to be ID Data items Brief Relevant RQ


extracted from primary articles
(do an extract from mapping 1 Title The title of the paper Demography
and map from Excel columns
2 Year Year of published paper Demography
with data item column)
3 Authors type Researcher or practitioner or both Demography
4 Summary The main content of the paper Demography
5 Type of publication Workshops, conferences, journals Demography
6 Validation type Case study, experimental study, survey, and others Demography
7 IoT challenges Investigated the monolithic challenges in IoT studies RQ2.1
8 Architectural solutions IoT challenges mapping with Software architectural solutions RQ2.2
9 Design patterns Patterns for IoT software RQ2.3

SN Computer Science
SN Computer Science (2020) 1:350 Page 9 of 30 350

Fig. 5  The selected articles over 35


the years
30

25

20

15

10

0
2004 2006 2008 2010 2012 2014 2016 2018 2020 2022

Journal Conference Workshop

Fig. 6  Selected article distribu-


tion over the years 42
27 27
16
11
7
2 2
1 1 1 1 1 1 1
0

2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020

indicate the consistency of the recorded work as well as the


sophistication of the proposed techniques within a review.
This may also show the effect of an analysis on the topic
under examination. We spread the selected articles over the Journal Conference Workshop
places of publication and present the total number of articles
(see Table 10). One hundred forty-nine articles are included.
RQ1.1: What is the frequency of the publication in soft- 5%
ware architecture and IoT software over the years? 19%
The published articles during the years of publication
and summarized all the studies (see Table 10). The most
critical launches are in 2017 and 2019. The papers mostly
produced come from the conferences (see Fig. 7). Several
studies selected published per year within the 2005–2020
review period. This trend has been rising since 2005, and
we have noticed that over the past 5 years, one hundred and
eleven studies (88%) have been published in the context of
software architecture and IoT to support software architec-
ture processes are gaining more interest and attention (see 76%
Fig. 5).
RQ1.2: How many publications per year are found in the
research area of software architecture for IoT software? Fig. 7  Publication venues

SN Computer Science
350 Page 10 of 30 SN Computer Science (2020) 1:350

We listed the articles in the context of software architec- guidelines and analysis are about the challenges concerning
ture and IoT which are published over the years (see Fig. 6). data integration and scalability the most highlighted that
RQ1.3: What are the leading venues of research for primary studies describe. Software architectural solutions
publications? maybe help to address these challenges as we mapped and
An effort to classify the styles and locations for a spe- discussed in detail (see Table 8). According to our mapping
cific topic’s publications may potentially be very useful for of software architectural solutions with IoT challenges, it can
researchers involved in performing work on a related sub- help with several advantages for handling these challenges
ject. That is why the demographic details about the papers of IoT (Fig. 10).
included in the SLR are one of the silent reporting compo- RQ2.2: What software architectural solutions have been
nents of this comprehensive review. Several selected studies proposed for IoT software?
are mentioned, published between 2010 and 2019. Figure 7 We identified thirty-three architectural solutions. We
present the most published venues (e.g., Journal, Confer- discussed these solutions in detail (see Table 8 Mapping
ence, Workshop). Figure 8 describes the research classifica- of IoT challenges with Software Architectural Solutions)
tion based on articles distribution. These research investiga- which help to mitigate the problems (e.g., Data integra-
tions help to make the grouping of articles. tion, Interoperability, Scalability) of IoT software. But most
We pose challenges to engineers and build IoT applica- of the studies do not explain how they handle these chal-
tions and their architectural solutions. The problems and lenges which can be addressed based on these architectural
architectural approaches are extracted from the current solutions.
research taxonomic classification (see Fig. 9) and organized. RQ2.3: What type of MSA-based software architectural
RQ2.1: What are the current challenges reported in the and design patterns are available for IoT software?
literature of IoT software? Typical approaches to growing issues with software
From the literature, we identified twenty-three chal- design include design patterns. Each pattern is like a blue-
lenges and IoT limitations (see Table 7). A detailed over- print you can customize in your code to solve a particular
view of each IoT challenge is given in Table 7. However, the design problem. Development patterns for microservices

Fig. 8  Distribution of selected


articles over research methods

SN Computer Science
SN Computer Science (2020) 1:350 Page 11 of 30 350

Architecture
Secure IoT
A123, A19, A79,
A13, A113, A118, systems Critical Data
A120, A131, A139 Analytics A72, A68, A124,
Private and A93, A107, A129,
Security and Privacy A173
A146, A126, of Systems Secure IoT Data Streams
A147, A130 Big Data Systems Processing A74, A14, A114,
Securing Edge A95, A49, A16
Computing Systems Sensing as a
A94
Service A104, A18, A140,

A14, A17, A68, A73, A75,


Smart City A141

A78, A80, A111, A116, A118, Architecture


A119, A124, A127, A129,
A134, A136, A143, A145 Agent Based Software Agents
Middleware for Reference Systems Architecture A11, A69, A78,
A4, A12, A16, A67, A68, A69,
the IoTs Architecture for A121
A71, A72, A74, A78, A79, A81, IoT
A102, A106, A107, A111, A112,
A114, A144
Client Architecture Service
A10
for IoT Composition A12, A15, A121,
Semantic and Discovery A81, A82, A86,
Architecture A88, A97, A144
A97, A117 Autonomous and
Adaptive Self Organization
Software Systems and Healing
A48, A142
Architectures
Knowledge Classification Service
Management Evolution
A15, A34, A43,
Approach A133
A47, A57, A63,
A85, A123 Development
Architecture Approaches for
A38, A45, A50, Integration IoT
Edge and Fog
A92
Architecture Computing A8, A22, A65,
A125, A135
Platform for IoT
A75
Cloud based Web of Things
Database Software A20, A56, A138
Architecture Ecosystems
A9 Cloud Computing
Web Patterns
Architectures for A77, A81, A109

A9, A66, A90, IoT Blockchain based


A97, A103 Software cloud architecture A14, A15, A17,
Architecture for A19, A70, A84,
A71, A90, A105, IoT A120, A128

A106, A143
fault-tolerant Architectural Interconnecting
architecture Styles for IoT Software Services
A11, A12, A14, A71, A71, A109,
A74, A75, A89, A107, in IoTs
A119, A145,
A143 Service based Software Degined A146
Architecture Security for IoT
A103, A87, A89, Networks A83, A84
A98, A110 Layered
Architecture for Software Defined Resource Efficient
IoT Networks IoT Networks A24, A66, A115,
A12, A74, A97 A148
Architectural
Styles and Networking of
Patterns for IoTs Industrial IoTs A82, A91, A149
A7, A12, A23, A52, A54,
A59, A61, A67, A70,
A73, A100, A137, A144 Context-Aware A12, A13, A76,
IoT architecture A78, A85, A86,
A105, A107,
A116

Fig. 9  Taxonomical Software Architectures Classification for the Internet of Things

are design patterns for applications that produce reus- list of architectural and design patterns based on MSA
able autonomous services. The goal for developers who for IoT software. We mapped these patterns with IoT
use microservices is to speed up releases of applications. problems which help to mitigate the problems in IoT. We
Developers can deploy every single microservice indepen- also briefed about MSA patterns by giving examples (see
dently, if needed, using microservices. We identified the Table 9).

SN Computer Science
350 Page 12 of 30 SN Computer Science (2020) 1:350

Table 7  IoT challenges


Challenge Brief Ref.

Integration Application, data, and various technology integration. Integra- A1, A26, A30, A31, A33, A2, A3, A36, A38, A42, A44,
tion is one of the most difficult challenges due to multidimen- A5, A61, A12, A83
sionality it throws at enterprises. The integration of the data
in IoT is the biggest problem to the adoption of IoT in the
business world that are experiencing with continued propaga-
tion of technologies
Data handling The problem of handling unstructured data is increasing due to A27, A53, A8
growing connected devices. However, for the organizations,
the major challenge is to determine the valuable data which is
actionable data
Data sharing API security concerns to pass access to others. The rise of IoT A28, A41, A78
devices, the ability to share the data of connected devices
makes an increasing concern
Data interoperation Data interoperability is one of the key challenges in IoT. The A32, A35, A37, A9, A2, A40, A56, A101
data format and data distribution are also issues. Fast integra-
tion and improvement of machine-generated data with data
from business applications like Salesforce and Market, for
example, and other data repositories is hard
Data managing Big data: data management is a broad term that refers to the A42, A62, A63, A64, A68, A72, A93, A98, A100, A104
architectures, processes, and practices needed by a given
framework for proper management of the data lifecycle
Interoperability Interoperability helps the industries to create and operate A43, A5
solutions and services between software and hardware. Most
areas of technical standards are still disjointed. It needs to be
converged which will help to create a shared IoT application
architecture and standard. The standardization process also
lacks interoperability with the legacy IoT tools. It must be
considered a critical challenge
Data storage IoT requires large storage but also rises the payload for com- A5, A71, A75
munication
Deployability IoT deployment is one of the key concerns due to changing tech- A29
nologies. IoT solutions are deployed across the world markets
which need the single platform to enable effective control of
IoT for connectivity across multiple markets. The connectivity
of IoT devices and their management is a critical part
Data complexity Data, devices: Its complex nature is another challenge to the A6, A58, A83
preparation of IoT data. This complexity is only multiplied
when the rate at which these data are generated is factored. A
common challenge that companies face is the complexity to
deal with various parties when it comes to IoT connectivity
needs
Scalability Poor scalability due to the monolithic style. Billions of internet A46, A6, A7, A51, A55, A56, A64, A87, A100
devices get connected in a large network and the big data
volumes which are needed to be processed. The system where
the data stores, and analyses from the IoT devices, it needs to
be scalable
Reliability The dependability is the capacity of an estimating particular to A67, A72, A11, A15
keep up an explicit dimension of execution each IoT applica-
tions and sensor gadgets which are diverse conditions. The set-
ting information can make the status of the earth information
and gives an administration of information. The dependability
of the fits the requirements of a client to execute an explicit
assignment on the IoT applications
Efficient The productivity trademark identifies with the ability of a test A10, A80, A15
detail to give satisfactory execution as far as speed and asset
utilization. The effectiveness of time and asset conduct is
recognized

SN Computer Science
SN Computer Science (2020) 1:350 Page 13 of 30 350

Table 7  (continued)
Challenge Brief Ref.

Service distribution IoT requires a particular approach to the problem that can offer A51
adequate performance and scalability. It refers to the allocation
of effort between a large number of specialized and limited
services
Interdependencies Interdependency refers that how the different services can be A54, A59
managed independently in IoT and also rely on each other. It
gives great advantages to access services and application from
any place, anytime and from any device
Data connectivity Data connectivity has vastly improved, but still loopholes where A58, A64, A71, A75
the connectivity of data is a challenge of IoT implementation.
It tells about the communication of device with gateway, and
cloud
Standardization IoT has also standardization problem because the different A68, A136, A107, A108
objects might have different requirements and various com-
munication technologies
Risk Risk management is a collection of procedures and processes A65, A66, A134
which are used to define possible adverse consequences,
potential threats and limitations. In particular, the rapid growth
of the IoT has intensively increased the number of companies
facing risk management and security challenges
Security The most important and potentially unsolvable problem is A71, A13
security or, more accurately, cybersecurity, as it applies to IT.
Not only is the data link vulnerable but anything connected to
the actual hardware is vulnerable. Due to a large number of
IoT devices which send data to a network without encryption,
unreliable communication. This is one of the greatest threats
to IoT security that exist out there
Data fault tolerance Fault tolerance is used to make better adaption for build-up A74, A11
trustworthy redundancy and changing environments
Interconnectivity IoT is called in other word interconnectivity, whether wireless A85
or wired of devices at the physical level and services which
transform bits into value
Portability Movability is capacity of progress another condition framework, A74, A89
introduce capacity and supplant capacity (the ability of the
item to be substituted by another for a similar reason for exist-
ing) are excessively concrete
Maintainability Many system integrators are currently struggling to build A100, A36, A46
maintainable. Maintainability should be considered in the IoT
design phase. It refers to the capacity for an intelligent system
to be consistently and loosely coupled, modification without
making a cause in the system. To evaluate the IoT system’s
maintainability property, the system must be flexible to
replace any faulty components without impacting on others
Functionality The usefulness is required to interoperate crosswise over [14]
interconnected IoT sensor gadget, implies that the interoper-
ability for the IoT device chips associated different things.
In the event of IoT applications, the practical prerequisite is
characterized in attributes of IoT applications necessities to
determine specific consequences of IoT applications

Discussion them to relay data and automate tasks, without the need for
manual input. An IoT system may be as basic as wearable
The Internet is a major component of IoT. IoT defines the health monitoring, or as complex as a smart city with sen-
network of physical objects (things) embedded with soft- sors across all its regions.
ware, sensors and rest technologies that communicate and The software architecture relates to the fundamental
share information over the Internet between devices and software system structures and the process of design-
systems. IoT makes everyday objects ’smart’ by allowing ing frameworks and applications. Software architecture

SN Computer Science
350 Page 14 of 30 SN Computer Science (2020) 1:350

Table 8  Mapping of IoT challenges with software architectural solutions


IoT challenge type Architectural solution Ref.

Interoperability Solution: client architecture, interoperability A10, A134, A96


indicates the availability of various system
which need to exchange services and data.
Different communication systems with vari-
ous hardware require software architecture
to interoperate. The first step is requirements
engineering (RE) to achieve the interoper-
ability of the system. It provides the basis for
high-level design of software architecture
Solution: web-enabled IoT architecture, it pro-
vides the interoperability between systems,
that utilizes data standards and established
communication
Risk Solution: agile fog architectural design, A65
architectural patterns are built to classify and
manage the risk at a different view of levels.
Architectural design is the best to design
before risk analysis which can be judged the
effectiveness of risk
Scalability Solution: architectural patterns are called best A66, A68, A108, A78, A12, A14, A81, A87,
practices and analyse whether industry-scale A89, A60, A128, A102, A136
IoT software and academic research solutions
can be leveraged for practical development
Security, reliability, safety, functionality Solution: IoT test architecture A134, A78, A12,
Limitations
Privacy and security regulations and standards
Distribution and heterogeneous systems
Data analytics with real-time
Predictive maintenance
Big data Solution: software architecture is built to A68, A69, A72, A107, A81, A95, A98, A99,
deal with the processing, ingestion, and A104
data analysis that is complex or huge for
monolithic database systems. The big data
challenge on software architecture can relate
to security, scale, integrity, concurrency,
performance, dependability, and parallelism,
amongst others. Big data handling needs to
rethink architectural solutions to meet the
requirements functional and non-functional
Standardization Solution: architectural model is used to deal A68, A136, A107, A108
with standardization problem of IoT
Heterogeneous Solution: distributed flexible architecture, A69, A78, A12, A115, A119, A19
heterogeneous styles can be combined in
a single design. This also supports desired
IoT object and device characteristics. This
can also address numerous technological
problems such as complexity, scalability,
interoperability and so on
Limitation: need to develop the design guid-
ance for heterogeneity
The operational and manufactural issue for the Solution: software architecture design A71
developer
Requirements Solution: requirements guidelines A71
Supportability A71
Design challenges Solution: content-oriented architecture A71, S80
Data fault tolerance Solution: fault-tolerant architecture A74

SN Computer Science
SN Computer Science (2020) 1:350 Page 15 of 30 350

Table 8  (continued)
IoT challenge type Architectural solution Ref.

Data authentication Solution: network-based architecture is one the A79


sub-area of software architectures that handle
the software systems with the conceptual
structure on networks
Functionalities separation or Distribution, Solution: network architecture designed with A80, A115, A86
integration eight layers. This architecture is used and
embedded in individual layers according to
technologies that have separate function-
alities. It makes an IoT system’s analysis,
scalability, and modularity that simplifies
and makes it more efficient standardizes,
identifies, clarifies, and organizes the key
component of IoT systems for the future
Security, privacy, cost, performance Solution: SDN based architectural design A13, A14, A15, A17, A113, A81, A115, A85,
A124, A139, A19
Data sharing Solution: software-defined network (SDN), A113
SDN separates the data forwarding plane and
the control plane gives IoT security problems
a new and resolution
Limitation: architecture model of IoT is com-
plex and the data transmission is huge, its
security protection is weak
Deployment, cost, data handling Solution: reference architecture, it can be A81, A82, A117
designed to enable automatic device param-
eterization and controller commissioning.
It gives the guidance that How recently
released standards can make PnP attainable
Feasibility Solution: SDN docker-based Architecture, this A116
architecture is used to manage the heteroge-
neity of the networks and the devices
Connectivity, lightweight services Solution: REST architecture style, this A16
architecture style is used to integrate a new
application and also use the REST principles
to define the extensible interface for building
comprehensive applications
Maintenance and security Solution: SDN-based secure and distributed A137
architecture, used to interconnect multiple
domains and enhanced the security of each
domain

describes how to organize/assemble the components of This study explores in depth software architectural solutions
a software system, how they interact with each other and to IoT software challenges that performed to categorize various
what are the constraints that control the entire system. A current research. This part presents some of our study’s most
software architect takes decisions on corporate software important reflections including the results of this systematic
design. study which reveals a notable variance. This study applies to
One of the areas of research on the Internet of Things is several architectural software solutions (see Table 8) mapping
software architecture. Software architecture help to design challenges with IoT software. We are reviewing the empirical
complex IoT and other applications. Real-world objects results for several research questions from our report.
interact gradually with mechanisms of information technol-
ogy which are part of information systems. This advance,
reflected in some key terms of digitalization, such as smart
houses, smart cities and smart vehicles, would be subsumed
under the Things Internet heading. IoT poses architectural
software challenges to organizations that wish to use soft-
ware architecture to connect these smart objects.

SN Computer Science
350 Page 16 of 30 SN Computer Science (2020) 1:350

Fig. 10  Mapping of IoT Agile Fog


Risk
challenges with architectural Architectural

IoT Challenge
Design
solutions
Architectural Standardization
Model

Architectural
Scalability

IoT Challenge
patterns

Client
Architecture Interoperability

Design
Content-
challenges
Oriented

IoT Challenge
Architecture
Heterogeneity,
interoperability,
Distributed scalability and
flexible security
architecture Heterogeneous

Fault Tolerant
Architecture Data fault

IoT Challenge
tolerance

IoT Test
Security,
Architecture reliability, safety,
functionality
MSA framework
Big data,

IoT Challenge
interpretability,
integration,
automation
Architectural Solutions

Network
Functionalities
Architecture separation or
Mapping designed distribution,
Integration
Network-based
architecture Data

IoT Challenge
authentication

IoT application
Reference
deployment, System
Architecture Cost, Data handling,
and Data sharing

Requirements Requirements,
IoT Challenge

Guidelines Supportability

REST Connectivity issue


Architecture style and lightweight
services

SDN based
Security, privacy,
Architectural
Cost, performance
IoT Challenge

design

SDN based secure Maintenance


and distributed and security
architecture

SDN Docker Feasibility of


based Architecture IoT systems
IoT Challenge

Software Big data


Architecture

Software Operational and


architecture manufactural
IoT Challenge

design issue for


developer
Software
Defined
Network (SDN) Data sharing

SN Computer Science
Table 9  MSA architectural and design patterns for IoT
Pattern type Pattern name Problem type Description Ref.

Decomposition Decomposing application How to decompose an application into services The application is decomposed to manage new change A51, A54
without affecting other services. The new changes
can be caused to make the development slow down
SN Computer Science

because of the coordination across the multiple teams


Decompose by subdomain Service must be sufficiently smaller that can be devel- A75
oped and tested by a small team. Domain-driven
design refers to request problems as a domain. A
domain which includes several subdomains
(2020) 1:350

Self-contained service What should a service work with several other services Design service because it can react to an asynchro- A9
when it processes an asynchronous request nous query without any other service waiting for the
response. One approach to self-contain a service is to
incorporate the necessary features as a service module
rather than as a separate unit
Deployment Service deployment platform How are services packaged and deployed Using the automated infrastructure of deployment plat- A55, A59
form for deploying an application. It offers a services
abstraction set of highly accessible that is also called
load-balanced service instances
Communication style Remote Procedure Invocation How do services in a microservices architecture com- The client makes requests to a service using a request A55, A59
municate / reply-based protocol. They must use a protocol for
communication between processes
Messaging How do services in a microservices architecture com- Utilizing asynchronous messaging for communication of A106
municate inter-service, services can communicate by exchanging
message over channels
Communication pattern Service must be used to handle the coming requests A106, A51
from a client application
External API API gateway How will microservices app consumers connect with the The single entry point for clients is the execution of an A106, A75, A56, A9
individual services API gateway. API gateway deals the requests singly.
Requests can be routed or proxied to appropriate
services and deals with other requests by multiple ser-
vices. Using API gateway security is also implemented
to authorized the client
REST design pattern A7
Service discovery Client-side discovery How does the application client-the API gateway or A customer gets the location via requesting service by A9
another tool find out where an application instance is querying a service list that has all of the location’s
located service instances
Service registry How do clients of service know about the available The service registry is a database service to dispatch the A50
instances of service in the case of and/or routers service instances. Service register is used to register
the instance of service. Routers query and service
client, the service registry is used to find the available
Page 17 of 30

service instances
350

SN Computer Science
350 Page 18 of 30 SN Computer Science (2020) 1:350

IoT ChallÍd Findings

A34, A51, A58


A55, A59, A9 1‑Big Data Systems of IoT

How to capture and analyze real-world data on distributed


Ref.

devices and interconnected in the IoT software for decision


support systems?
operates an electrical circuit breaker in a similar man-
How to prevent a network or service failure from cascad- Client service invokes a remote service via a proxy that

Elucidation: Data sensors in installed devices can commu-


ner. For all attempts to invoke the remote device, the
number of consecutive faults over a threshold would

send the token in the form of JSON, which securely


identify the requestor in each service of the request
How to communicate the identity of the requestor to the API gateway is used to authenticates the request and

nicate with the backend server. Cloud-based backend serv-


ers process and store the data for communication between the
backend server and frontend server.
Findings: Sensing as a Service: Autonomous web services
loosely coupled collect the data from sensors and devices.
Critical Data Analytics: IoT sensors manage the data stream
processing that can be deployed at any different location of the
network for processing and collecting the live data streams.
Data Streams Processing: IoT devices manage the critical data
analytics which is deployed on the edge for processing the
critical data.
instantly fail
Description

2‑IoT Agent‑Based Systems

How to make the IoT system to develop adaptive and autono-


mous agents which are interconnected and accessible by web?
Elucidation: The agents (adaptive, independent compo-
nents, and autonomous) can be linked with IoT software to
play their job.
Findings: Software Agents Architecture: Software agents
which are interconnected support a collaborative agent’s net-
services that handle the request

work and coordinate to complete the given task in the IoT


system.
ing to other services

3‑Adaptive and Autonomous IoTs

How can be used architectural models for enabling the adap-


Problem type

tive and autonomous IoT systems at runtime?


Elucidation: Adaptation process-based framework is used
for autonomic computing.
Findings: Composition of services ansd discovery: it is
used to support the composition of IoT software services and
dynamic discovery which enable the dynamic system based on
contextual requirements. Self-organization: it is called fault-
tolerant in IoT software to continue its operations, evolution
Circuit breaker

Access token
Pattern name

and frequent maintenance. Evolution of service: is reconfig-


ured with dynamical services in IoT systems and time to time
it changes based on technical and business requirements also
depends on operational environments.
Table 9  (continued)
Pattern type

Reliability

Security

SN Computer Science
SN Computer Science (2020) 1:350 Page 19 of 30 350

4‑Software Architecture for Cloud‑Based Software of connected things, devices, and also make ensure the IoT
system security.
How to support the cloud-based heterogeneous software Findings: Secure edge computing systems which sup-
systems as a service which are provided by other cloud port trustable computation, communication, and storage of
service subscribers? nodes in architectural configuration based on IoT. Privacy
Elucidation: The solution can be based on IoT which and security of business programs promoting information
supports the communication among interconnected things security infrastructures and data protection in enterprise
of multiple clouds. It produces the data of cloud hub which applications focused in the IoT industry. The secure archi-
can facilitate the interaction of various cloud that connect tecture of IoT systems provides the framework and reference
and collaborate as a part of heterogeneous systems [29]. architecture as guidelines and methods for developing and
Findings: Fog Computing and Edge Computing: deeds designing secured IoT systems.
architectural configurations for pushing the device storage
and computation to the network edge for improving the 7‑Models and Reference Architectures for IoT
IoT performance. Web of Things (WoT): enabling con- Software
nected objects and devices network effectively to enable
freely available IoTs. Cloud Computing Patterns: Patterns The most highlighted concern that how to make frameworks
normally are used to reuse the knowledge and practices so and guidelines which can provide the blueprint and tem-
cloud computing patterns support reuse in development, plates for designing and developing the real-world applica-
maintainability by software architecture for IoT based tions of IoT?
cloud systems. Blockchain-based architectures: are capa- Elucidation: The general solution is to provide the refer-
ble of sharing the ledger and gets update each time of the ence architecture at high-level design for IoT systems.
transaction. Findings: Semantic Architecture: Business and Enterprise
systems are developed by reference architectures which sup-
port the enterprise system to enable the IIoT systems. Smart
5‑Enabling SDN for IoTs City Architecture: For digitizing urban services, smart city
architectures are used to make the smart and autonomous
How to allow software-driven logic-based coordina- infrastructures which are enabled by interconnected IoT
tion of things and dynamic interconnection in IoT-based devices. IoT Middleware is used to provide hardware and
applications? software complexity layer infrastructure to support IoT
Elucidation: The solution is to integrate a software con- devices.
troller which manages the required logic and monitor it in
the IoT system for a runtime of interconnections. 8‑Architectural Styles for IoTs
Findings: Interconnected services of IoT software sup-
port the coordination runtime and software security as a ser- How to make the system shareable, reusable, and flexible as
vice in IoT systems. Software Designed Security Networks: per requirements? Why do we need to use software architec-
Software-driven management and monitoring of security ture and how to select useful existing software architecture
are enabled by software-defined IoT security networks for for IoT systems?
IoT systems. IoT Networks efficient resources: It enables Elucidation: Software architectural styles as general and
software systems to sustain the data, energy, processing and abstract level solutions which can help to develop the holis-
communication capacity of the IoT network. Industrial IoT tic design of IoT systems and flexible.
Networking: industrial IoT networking supports dynamically Findings: Architectural styles and patterns are used
configured software services which automate the devices in as the best practices and reuse of knowledge to design,
IIoT. Context-aware computing through IoT connects the develop, and reuse of functionality with increasing the
information to real-world intelligence. reusability and efficiency for IoT systems. Database archi-
tecture can increase data scalability and reduce data com-
plexity. Web architecture can reduce the complexity and
6‑Private and Secured IoTs increase the scalability of data. It reduces the effort form
of data of deployed sensors to users. General Software
The challenge is how to enable the data privacy and data architecture helps to reduce the complexity of IoT sys-
security which interconnected things produce or share to tems. Fault-tolerant help to identify potential failures and
the IoT systems? systems can encounter it early. The service-based system
Elucidation: The solution is an architectural pattern which communicates over a network through SOAP and XML
introduces a security hub that mediates the communication data which can be accessed independently and share the

SN Computer Science
350 Page 20 of 30 SN Computer Science (2020) 1:350

interface to other. IoT layered architecture is normally Discussion of IoT Challenges and Mapping
divided into three layers which are the network layer, with Software Architectural Solutions
perception layer, and application layer. It is a traditional
architectural style to develop with well-known or fixed We identify the most emerging challenges in IoT (see
requirements. Table 7). IoT software challenges that recognize unique
issues related to engineering, development, implementation
and maintenance Architectural solutions offer a solution to
9‑Multiple Development Approaches for IoTs unique problems in the architecture field. We mapped the
challenges of IoT with software architecture solutions (see
How to understand the different development scenarios of Table 8) and discussed in detail. The architectural solutions
IoT systems? are adopted in literature and resulted in the problems were
Elucidation: The solutions provide the different software reduced. We have reported the details on ongoing problems
development approaches which help to understand the soft- and their design approaches that can solve those problems.
ware development for IoT systems.
Findings: AKM is used to manage general knowledge Current and Futuristic Architectural Research for IoT
related to architectural development. Architecture integra- Software
tion facilitates to integrate the components. An architecture
framework is a manufactured structure which organizes the As per our selection criteria, we define the range from 2005
enterprise system design. to 2020. Research on software architecture and development
Emerging Research Trends: IoTs and Big Data of IoT software has facilitated fundamental research. We
The company’s considerable need for architecture has highlighted futuristic work on IoT architectures. Research
become important, with the increasingly increasing num- and development have enabled on architectural styles of soft-
ber of activities moving towards institutionalized structures. ware, patterns, and recent trends that requires systematic
These activities are designed to facilitate interoperability, identification. By which, architectural language can help to
streamline development and simplify implementation [18]. enable architecture styles and patterns for IoT software.
Complexity is rising day by day in the IoT. The IoT needs
architecture to optimize the interoperability of various sys- Monolithic Architecture in IoT
tems and resources [30]. Another big problem with new
technologies is the interoperability and scalability of the IoT. Because of large-scale IoT systems and connected devices,
IoT faces architecture, scalability and interoperability issues companies are struggling to build, deploy, implement and
as IoT has a hug of devices attached to it. IoT systems are scale. Using monolithic architecture, it’s very difficult to
more complex and unable to be reused; interoperability is scale the system, if there is need to make some changes in
also hampered by the emergence of new technologies [31]. code so it can impact on the whole system and redeploy the
Increased efficiency may also be the interoperability issue whole system again (see Fig. 11).
if several systems are connected without clear architecture-
based design criteria. Service‑Oriented Architecture in IoT

SOA is a natural choice in the IoT because of its hetero-


Ocean IoTs and Big Data geneity and distribution of architecture. Though usually
used in the business domain, full-blown RESTful HTTP
To managing and analysing oceanography, big data is diffi- implementations frequently weigh heavily on devices and
cult due to increasing the growth of big data [32] and devices networks that are limited. The devices profile for web ser-
heterogeneity issue [33]. In IoT, Scalability, Mobility, Inter- vices [34] allow for plug and play to network objects as
operability, Data volume, Security, privacy, Implementation, well as the constrained application protocol [35]. Although
and competency issues have highlighted [13]. The integra- the SOA is an acceptable solution for such requirements,
tion challenge of data from devices, sensors, new applica- SOA leaves a great deal of confusion about services work.
tions, and services in the ocean has increased and more It is where the development of ecosystems and structures
complexed [16]. IoT needs architecture, which ought to be starts to explain the use of certain technologies. Frameworks
adaptable to provide for cases, for example, smart devices, restrict technology choices which facilitate the creation of
intelligent objects (equipment and programming solutions), IoT or CPS applications. On a technological level, one may
and information integrations over various environments [1]. speculate that the interoperability of frameworks increases.
There is very less research work in this area and it is one of The services’ behaviour is still up to the developer, however,
the emerging research areas which need to fulfil this gap. and the gain in interoperability can be neglected as there

SN Computer Science
SN Computer Science (2020) 1:350 Page 21 of 30 350

Monolithic Service Oriented Microservice


Architecture Architecture (SOA) Architecture (MSA)

Nomenclature
UI = User Interface
BLL = Business
Logic Layer
DAL = Database
UI UI UI Access Layer
Db = Database
MS = Microservice

MS Db

ESB
BLL
Mulple
Services MS Db

MS Db

DAL DAL

Fig. 11  Monolithic VS SOA VS MSA

are numerous frameworks out there. Therefore, the use of indecently for each sensor which can communicate with dif-
frameworks will promote the creation of individual services. ferent database as per requirements (see Fig. 12). Results of
a comprehensive analysis of state-of-the-art microservices as
Future Direction: Importance and Need of MSA building blocks for IoT and cloud computing are presented
for IoT Systems Instead of SOA or Monolithic by the investigators [12]. The outcomes of this systematic
study show how modular implementations play a role in sup-
Monolithic architecture is tightly coupled due to the use of porting microservices architectures in IoT applications.
shared hardware and software. The distributed application
scenarios require high degree shared resources to provide Mapping of MSA Design Patterns with IoT
low dependency (see Fig. 11). The microservices-based Challenges
design model is currently a highly promising approach to
the design for distributed applications. 1. As the IoT continues to expand and grow, monolithic
IoT-based SOA provides more effective and high-speed implementation becomes even larger and much more
information for the user. The main problematic cause in complex in nature. It results in weak scalability, main-
SOA-based IoT system is that heterogeneous systems have tainability and extensibility. Because of its lightweight,
to interact as each device functions differently [S43], and flexibility and loose coupling, microservices architecture
One of the system’s main challenges is the security plan, was introduced in IoT application field which response
which needs high-security support, so lightweight commu- to these challenges. However, the existing microservice
nication, independent deployment, independent develop- IoT framework focuses primarily on a particular domain,
ment and a minimum of centralized management is required hence this greatly restricts its application [A6]
which can be provided by MSA. MSA is a style to produce 2. Data and machine understanding are gaining more sig-
and execute large and complex systems quickly and con- nificance nowadays in IoT and is the focal point rather
tinuously in terms of loosely coupled software services. than the artefacts that, due to inventions and their wear
Based on microservices architecture, services can be written and tears, produce frequent changes in data. To allow the

SN Computer Science
350 Page 22 of 30 SN Computer Science (2020) 1:350

Microservices Architecture & Internet of Things

Database

Db Db Db Database
Microservices

M-service M-service M-service Microservices


Sensors

Fig. 12  Microservices architecture and IoT sensors

machine to understand, exchange and share information scalability and efficiency, which points to distribution of
and knowledge; these objects would need a lightweight effort among a large number of specialized and smaller
and novel architecture to provide potential IoT services services [A44].
[A50]. 8. The current smart home systems are built in advance by
3. Applications must be compiled from a smaller collec- the engineers, and may not meet the users’ individual
tion, independent services within the IoT. The develop- needs. A proposed framework for the design of light-
ment of value-added services would thus entail the spon- weight IoT business processes for ordinary end-users
taneous combination of services from various providers [A43].
to make full use of the heterogeneity of IoT [A48]. 9. The value of gathering this data is focused on the fact
4. IoT devices and services cloudification, virtualization that it can provide useful information and make deci-
and software are used extensively to design, develop sion-making smarter and quicker. This enables compa-
and deploy new IoT End-to-End apps. The challenges of nies to react rapidly to changes in the process, minimize
scalability, extensibility and interoperability regarding downtimes and increase production capacity and boost
new IoT services and platforms are now at the forefront overall operating performance. Nonetheless, the issue is
[A49]. that all of these Industrial IoT (IIoT) applications can be
5. Developing apps and services bring challenges in mar- significantly affected by the composition of the REST-
kets including scalability, delivery, efficiency, usability, Ful APIs and the microservices architecture they intro-
interoperability and integration. Recent work shows duce. Second, implementation of IIoT does not reflect
that microservices have been introduced in a variety of the dynamism and weaknesses of service-based environ-
regions, such as IoT [A54]. ments [A45].
6. One of IoT’s challenges concerns the resources needed
to store and measure the enormous amount of data Threats to Validity
resulting from connections between devices. Cloud com-
puting tackles IoT problems; it offers services that can be This research has major validity threats: bias in selecting the
quickly accessed on request. Being a recently designed sample, and bias in extracting the data. Since the selection of
paradigm and while its principles are established, avail- the sample and the extraction of data are very subjective, the
able research solutions based on microservices are dif- bias of researchers may influence this study’s performance.
ficult to see [A55]. To eliminate the potential bias in choosing the sample as
7. Because of the need to support a big quantity of users much as possible, the analysis protocol was developed and
and high data processing capacity, the IoT needs a par- validated in the following way. The findings of this study
ticular approach to the problem of providing adequate may be influenced by critical studies not recovered. To

SN Computer Science
SN Computer Science (2020) 1:350 Page 23 of 30 350

minimize this risk, we looked at the most popular software • We classified the software architectures into main nine
engineering online repositories, with 140 articles collected. categories and their sub-categories for IoT software
Bias in the extraction of data and information may lead (see Fig. 9).
to errors in the collection of information data and can fur- • As state of the art, we investigated twenty-three chal-
ther influence the effects of data synthesis. Three protocols lenges of IoT and discussed in detail (see Table 7).
moderated the bias: Most of the challenges are emerging which need to be
addressed. We mapped these challenges of IoT with
1. A pilot study to extract the data and understand the software architectural solutions (see Fig. 10, Table 8).
theme.
2. A list of data detail has been uploaded which we have Concluding the findings and giving the recommenda-
extracted. tions to adopting MSA for IoT software, we discussed in
3. A brainstorming session was one of the most important detail the importance of MSA for IoT and its characteris-
to classify the data. tics too.
The aim of the proposed systemic analysis is to incorpo-
Internal validity The focus of this validity is the extrac- rate mutual knowledge to gain in terms of research perfor-
tion of data by a study [36]. Since the data analyses use mance, impacts and limitations:
only descriptive statistics in this comprehensive analysis, Researchers theoretically involved in producing, learning,
the internal challenges to validity are minimal. and exploring the knowledge base for IoT software that is
External validity that selected papers are generalizable focused on architecture-centred solution research and devel-
with respect to the overall purpose of this analysis [36]. opment. In terms of the database of research taxonomy and
Consideration was given to the findings of this study review architectural solutions, systematized and structured knowl-
regarding the software architectural solutions and IoT chal- edge can help researchers gain insight into the advance-
lenges. While the summary of the selected papers presented ment of science in formulating new ideas and developing
and the findings obtained are only important within the study new hypotheses that need to be tested. The comprehensive
context. analysis will help researchers identify: (1) pace and proof
of progress in research; (2) challenges in recent research;
and (3) the technical difficulties involved in creating a wide
Conclusions variety of IoT solutions.
The interest of practitioners could be in understanding
This systematic study presents in both contexts of research and developing realistic solutions to existing engineering
and practices and based on software architectural solu- research and its consequences. The visualization of prob-
tions for IoT software. For nearly a decade, a lot of work lems and architectural solutions will demonstrate the future
has advanced on software architectural solutions for IoT areas and methods for industrial solutions where applied
software. We identified the published research articles research and technology can be used. Current and emerging
between 2005 and Jan 2020 from the seven-digital data- research trends highlight the need for technologies that can
base. We collected the data from selected 140 articles, and make use of patterns and languages for industrial-scale IoT
this systematic study presents a comprehensive research construction.
overview state of the art on software architectural solu-
tions for IoT software and adoption of MSA. Core points
of this study are the following: Compliance with Ethical Standards

• Increasing selected articles over the time and consid- Conflict of interest The authors declare that they have no conflict of
interest.
ering software architectural solutions for IoT software
gaining attention (see Fig. 6). Over the last 5 years, the
use of software architectures for IoT software research
is gaining interest (123 out of 140 articles). Appendix
• We identified thirteen architectural and design patterns
based on MSA for IoT software (see Table 9). This See Table 10.
identification of patterns is useful to reuse the knowl-
edge, importance and understanding of MSA for IoT
software. We also classified those patterns according
to problems in IoT.

SN Computer Science
350 Page 24 of 30 SN Computer Science (2020) 1:350

Table 10  Selected articles


Study ID Title Publication type Year Citation

A1 del Río, Joaquín, Daniel Mihai Toma, Enoc Martínez, Thomas C. O’Reilly, Eric Delory, Jay S. Journal 2018 16
Pearlman, Christoph Waldmann, and Simon Jirka. “A Sensor Web Architecture for Integrating
Smart Oceanographic Sensors Into the Semantic Sensor Web”
A2 Jiang, Yongguo, Jinfeng Dou, Zhongwen Guo, and Keyong Hu. “Research of Marine Sensor Web Journal 2015 3
Based on SOA and EDA”
A3 Tiburski, Ramão Tiago, Leonardo Albernaz Amaral, Everton De Matos, and Fabiano Hessel. “The Journal 2015 55
Importance of a Standard Security Architecture for SOA-based IoT Middleware”
A4 Mohamed, Amin Salih, and Chiai Al-Atroshi. “Adaptability of SOA in IoT Services—An Empiri- Journal 2018 7
cal Survey”
A5 Zhang, Yang, Jun-Liang Chen, and Bo Cheng. “Integrating Events into SOA for IoT Services” Journal 2017 15
A6 Sun, Long, Yan Li, and Raheel Ahmed Memon. “An Open IoT Framework Based on Microser- Journal 2017 62
vices Architecture”
A7 Alam, Muhammad, Joao Rufino, Joaquim Ferreira, Syed Hassan Ahmed, Nadir Shah, and Yuan- Journal 2018 29
fang Chen. “Orchestration of Microservices for IoT Using Docker and Edge Computing”
A8 Mena, Manel, Antonio Corral, Luis Iribarne, and Javier Criado. “A Progressive Web Application Journal 2019 2
Based on Microservices Combining Geospatial Data and the Internet of Things”
A9 Taivalsaari, Antero, and Tommi Mikkonen. “A Taxonomy of IoT Client Architectures” Journal 2018 20
A10 Grover, Jitendcr, and Rama Murthy Garimella. “Reliable and Fault-Tolerant IoT-Edge Architec- Journal 2018 5
ture”
A11 Sarkar, Chayan, Akshay Uttama Nambi SN, R. Venkatesha Prasad, Abdur Rahim, Ricardo Neisse, Journal 2015 122
and Gianmarco Baldini. “DIAT: A Scalable Distributed Architecture for IoT”
A12 Zarca, Alejandro Molina, Jorge Bernal Bernabe, Ruben Trapero, Diego Rivera, Jesus Villalobos, Journal 2019 12
Antonio Skarmeta, Stefano Bianchi, Anastasios Zafeiropoulos, and Panagiotis Gouvas. “Security
Management Architecture for NFV/SDN-Aware IoT Systems”
A13 Sharma, Pradip Kumar, Mu-Yen Chen, and Jong Hyuk Park. “A Software Defined Fog Node Based Journal 2018 265
Distributed Blockchain Cloud Architecture for IoT”
A14 Harjula, Erkki, Pekka Karhula, Johirul Islam, Teemu Leppänen, Ahsan Manzoor, Madhusanka Journal 2019 3
Liyanage, Jagmohan Chauhan, Tanesh Kumar, Ijaz Ahmad, and Mika Ylianttila. “Decentralized
Iot Edge Nanoservices architecture for Future Gadget-Free Computing”
A15 Cheng, Bo, Shuai Zhao, Junyan Qian, Zhongyi Zhai, and Junliang Chen. “Lightweight Service Journal 2018 15
Mashup Middleware With REST Style Architecture for IoT Applications”
A16 Pourvahab, Mehran, and Gholamhossein Ekbatanifard. “An Efficient Forensics Architecture in Journal 2019 6
Software-Defined Networking-IoT Using Blockchain Technology”
A17 Al Mhdawi, Ammar K., and Hamed S. Al-Raweshidy. “SDQ-6WI: Software Defined Quadcopter- Journal 2018 3
Six Wheeled IoT Sensor Architecture for Future Wind Turbine Placement”
A18 Yazdinejad, Abbas, Reza M. Parizi, Ali Dehghantanha, Qi Zhang, and Kim-Kwang Raymond Journal 2020 4
Choo. “An Energy-efficient SDN Controller Architecture for IoT Networks with Blockchain-
based Security”
A19 Cirani, Simone, Luca Davoli, Gianluigi Ferrari, Rémy Léone, Paolo Medagliani, Marco Picone, Journal 2014 200
and Luca Veltri. “A Scalable and Self-Configuring Architecture for Service Discovery in the
Internet of Things”
A20 Bures, Tomas, Frantisek Plasil, Michal Kit, Petr Tuma, and Nicklas Hoch. “Software Abstractions Journal 2016 24
for Component Interaction in the Internet of Things”
A21 Linthicum, David. “Responsive Data Architecture for the Internet of Things” Journal 2016 22
A22 Jacob, Pramod Mathew, and Prasanna Mani. “Software architecture pattern selection model for Journal 2018 6
Internet of Things based systems”
A23 Kim, Doohwan, Jae-Young Choi, and Jang-Eui Hong.”Evaluating energy efficiency of Internet of Journal 2017 18
Things software architecture based on reusable software components”
A24 Manogaran, Gunasekaran, Ramachandran Varatharajan, Daphne Lopez, Priyan Malarvizhi Kumar, Journal 2018 171
Revathi Sundarasekar, and Chandu Thota. “A new architecture of Internet of Things and big data
ecosystem for secured smart healthcare monitoring and alerting system”
A25 Yang, Yang, Xianghan Zheng, Wenzhong Guo, Ximeng Liu, and Victor Chang. “Privacy-preserv- Journal 2019 96
ing smart IoT-based healthcare big data storage and self-adaptive access control system. Informa-
tion Sciences”
A26 Kobusińska, Anna, Carson Leung, Ching-Hsien Hsu, S. Raghavendra, and Victor Chang. “Emerg- Journal 2018 24
ing trends, issues and challenges in Internet of Things, Big Data and cloud computing”

SN Computer Science
SN Computer Science (2020) 1:350 Page 25 of 30 350

Table 10  (continued)
Study ID Title Publication type Year Citation

A27 Zheng, Xitao, Junsheng Zhong, and Yongwei Zhang. “A SOA-based Fish Recognition System Conference 2011 4
Prototype”
A28 Issarny, Valérie, Georgios Bouloukakis, Nikolaos Georgantas, and Benjamin Billet. “Revisiting Conference 2016 47
Service-Oriented Architecture for the IoT: A Middleware Perspective”
A29 Jiang, Yuwu, Xin Zhang, Huasheng Hong, and Tianhe Chi. “Ocean Observing Data Web Services Conference 2007 5
and Application in Shipwreck Salvation of Taiwan Strait”
A30 Bogden, Philip, Gabrielle Allen, Greg Stone, Jon MacLaren, Gerald Creager, Larry Bogden, Conference 2006 15
Philip, Gabrielle Allen, Greg Stone, Jon MacLaren, Gerald Creager, Larry Flournoy, Wei Zhao.,
“The SURA Coastal Ocean Observing and Prediction Program (SCOOP) Service-Oriented
Architecture”
A31 Abidi, Syed SR, Ashraf Abusharek, Ali Daniyal, Mei Kuan, Farrukh Mehdi, Samina Abidi, Faisal Conference 2010 4
Abbas, Philip Yeo, Farhan Jamal, and Reza Fathzadeh. “A Service Oriented E-Research Platform
for Ocean Knowledge Management”
A32 Ibrahim, Naseem, and Brandon Bench. “Service-oriented Architecture for the Internet of Things” Conference 2017 5
A33 Vujovic, Vladimir, Mirjana Maksimovic, Dijana Kosmajac, and Branko Perisic. “Resource: A con- Conference 2015 12
nection between Internet of Things and Resource-Oriented Architecture”
A34 Masmoudi, Maroua, Hela Taktak, Sana Ben Abdallah Ben Lamine, Mohamed Hedi Karray, Hajer Conference 2018 1
Baazaoui Zghal, Bernard Archimede, Michael Mrissa, and Chirine Ghedira Guegan. “A semantic
service-oriented platform for data interoperability and linking in earth observation and disaster
prediction”
A35 Clement, Stephen J., David Wesley McKee, and Jie Xu. “Service-Oriented Reference Architecture Conference 2017 38
for Smart Cities”
A36 Marotta, Marcelo Antonio, Cristiano Bonato Both, Juergen Rochol, Lisandro Zambenedetti Gran- Conference 2014 11
ville, and Liane Margarida Rochenbach Tarouco. “Evaluating Management Architectures for
Internet of Things Devices”
A37 Monika Bharti; Rajesh Kumar; Sharad Saxena. “Architectural Survey on Internet-of-Things” Conference 2019 0
A38 Zhang, Yang, Li Duan, and Jun Liang Chen. “Event-driven SOA for IoT Services” Conference 2014 40
A39 Gupta, Poonam, Trupti P. Mokal, D. D. Shah, and K. V. V. Satyanarayana. “Event-Driven SOA- Conference 2018 6
Based IoT Architecture”
A40 Kumar, Krishna, Chandra Mouli, and Udaya Kumar. “A Survey on the Internet of Things-Based Conference 2017 2
Service Orientated Architecture”
A41 Chitre, Mandar. “DSAAV—A Distributed Software Architecture for Autonomous Vehicles” Conference 2008 24
A42 Lima-Monteiro, Pedro, Guilherme Brito, Andre Dionisio Rocha, Jose Barata, Paulo Ilheu, Joao Conference 2017 1
Freire, and Claudio Cenedese. “ProSEco as a Data Processing Platform-A Service-Oriented
Architecture for Data Analysis”
A43 Wang, Ying, Bo Cheng, and Meng Niu. “An End-user Microservice-Based Lightweight Architec- Conference 2018 1
ture for IoT”
A44 Vresk, Tomislav, and Igor Čavrak. “Architecture of an Interoperable IoT Platform Based on Conference 2016 49
Microservices”
A45 Al-Masri, Eyhab. “Enhancing the Microservices Architecture for the Internet of Things” Conference 2018 2
A46 Giallorenzo, Saverio, Fabrizio Montesi, Larisa Safina, and Stefano Pio Zingaro. “Ephemeral Data Conference 2019 1
Handling in Microservices”
A47 Yu, Ruozhou, Vishnu Teja Kilari, Guoliang Xue, and Dejun Yang. “Load Balancing for Interde- Conference 2019 5
pendent IoT Microservices”
A48 Butzin, Björn, Frank Golatowski, and Dirk Timmermann. “Microservices Approach for the Inter- Conference 2016 111
net of Things”
A49 Datta, Soumya Kanti, and Christian Bonnet. “Next-Generation, Data Centric and End-to-End IoT Conference 2018 14
Architecture Based on Microservices”
A50 Jarwar, Muhammad Aslam, Sajjad Ali, Muhammad Golam Kibria, Sunil Kumar, and Ilyoung Conference 2017 25
Chong. “Exploiting Interoperable Microservices in Web Objects Enabled Internet of Things”
A51 Xiao, Zhongxiang, Inji Wijegunaratne, and Xinjian Qiang. “Reflections on SOA and Microser- Conference 2016 50
vices”
A52 Innerbichler, Johannes, Suat Gonul, Violeta Damjanovic-Behrendt, Benjamin Mandler, and Felix Conference 2017 19
Strohmeier. “NIMBLE Collaborative Platform: Microservices architectural Approach to Feder-
ated IoT”

SN Computer Science
350 Page 26 of 30 SN Computer Science (2020) 1:350

Table 10  (continued)
Study ID Title Publication type Year Citation

A53 Santana, Cleber, Brenno Alencar, and Cássio Prazeres. “Microservices: A Mapping Study for Conference 2018 7
Internet of Things Solutions”
A54 Vandikas, Konstantinos, and Vlasios Tsiatsis. “Microservices in IoT clouds” Conference 2016 14
A55 Campeanu, Gabriel. “A Mapping Study on Microservices architectures of Internet of Things and Conference 2018 7
Cloud Computing Solutions”
A56 Galletta, Antonino, Lorenzo Carnevale, Alina Buzachis, Antonio Celesti, and Massimo Villari. “A Conference 2018 1
microservices-based platform for efficiently managing Oceanographic Data”
A57 Farhan, Laith, Rupak Kharel, Omprakash Kaiwartya, Marcela Quiroz-Castellanos, Ali Alissa, and Conference 2018 12
Mohamed Abdulsalam. “A Concise Review on Internet of Things (IoT)—Problems, Challenges
and Opportunities”
A58 Gouthaman, P., and Suresh Sankaranarayanan. “Agile Software Risk Management Architecture for Conference 2018 2
IoT-Fog based systems”
A59 Miladinovic, Igor, and Sigrid Schefer-Wenzl. “NFV Enabled IoT Architecture for an Operating Conference 2018 9
Room Environment”
A60 Wang, Shulong, Yibin Hou, Fang Gao, and Songsong Ma. “A Novel Clock Synchronization Archi- Conference 2016 4
tecture for loT Access System”
A61 Kakiz, Muhammet Talha, Ercüment Öztürk, and Tuğrul Çavdar. “A Novel SDN-Based IoT Archi- Conference 2017 10
tecture for Big Data”
A62 Shamsan, Ali Haider, and Arman Rasool Faridi. “SDN-Assisted IoT Architecture: A Review” Conference 2018 2
A63 Ikram, Mohammed Abdulaziz, Mohammad Dahman Alshehri, and Farookh Khadeer Hussain. Conference 2015 18
“Architecture of an IoT-based System for Football Supervision”
A64 Krishnan, Janitha, and Shriram K. Vasudevan. “An Extensive Survey on IoT Smart Gateways, Conference 2019 0
Software Architecture, Related Protocols and Challenges”
A65 Kanstrén, Teemu, Jukka Mäkelä, and Pekka Karhula. “Architectures and Experiences in Testing Conference 2018 4
IoT Communications”
A66 Kearney, Paul, and Rasool Asal. “ERAMIS: A Reference Architecture-based Methodology for IoT Conference 2019 0
Systems”
A67 Javed, Asad, Keijo Heljanko, Andrea Buda, and Kary Främling. “CEFIoT: A Fault-Tolerant IoT Conference 2018 12
Architecture for Edge and Cloud”
A68 Mijić, Dejan, and Ervin Varga. “Unified IoT Platform Architecture Platforms as Major IoT Build- Conference 2018 6
ing Blocks”
A69 Du, Ping, Pratama Putra, Shu Yamamoto, and Akihiro Nakao. “A Context-aware IoT Architecture Conference 2016 11
through Software-defined Data Plane”
A70 Yu, Yun-Shuai, Chin-Wei Chen, and Pin-Yuan Yu. “A Secure and Intuitive IoT Architecture for Conference 2019 0
Container Farm”
A71 Liu, Xiaoxue, Alberto Leon-Garcia, and Peidong Zhu. “A Distributed Software-Defined Multi- Conference 2017 3
Agent Architecture for Unifying IoT Applications”
A72 Karmakar, Kallol Krishna, Vijay Varadharajan, Surya Nepal, and Uday Tupakula. “SDN Enabled Conference 2019 5
Secure IoT Architecture”
A73 Rahimi, Hamed, Ali Zibaeenejad, and Ali Akbar Safavi. “A Novel IoT Architecture based on Conference 2018 4
5G-IoT and Next Generation Technologies”
A74 Ghantous, Georges Bou, and Asif Qumer Gill. “DevOps Reference Architecture for Multi-Cloud Conference 2018 2
IOT Applications”
A75 Koziolek, Heiko, Andreas Burger, and Jens Doppelhamer. “Self-commissioning Industrial IoT- Conference 2018 22
Systems in Process Automation: a Reference Architecture”
A76 Hail, Mohamed Ahmed. “IoT-NDN: An IoT Architecture via Named Data Netwoking (NDN)” Conference 2019 1
A77 Pahl, Claus, Nabil El Ioini, Sven Helmer, and Brian Lee. “An Architecture Pattern for Trusted Conference 2018 36
Orchestration in IoT Edge Clouds”
A78 Guner, Aykut, Kaan Kurtel, and Ufuk Celikkan. “A message broker based architecture for context Conference 2017 4
aware IoT application development”
A79 Yamakami, Toshihiko. “A Migration-oriented Partial Adaptation Architecture for IoT-empowered Conference 2017 1
City Platform as a Service”
A80 Souza, Vitor Barbosa C., Xavi Masip-Bruin, Eva Marin-Tordera, Wilson Ramírez, and Sergio Conference 2015 8
Sánchez-López. “Towards the scalability of a Service-oriented PCE architecture for IoT sce-
narios”

SN Computer Science
SN Computer Science (2020) 1:350 Page 27 of 30 350

Table 10  (continued)
Study ID Title Publication type Year Citation

A81 Ramos, Edgar, and Roberto Morabito. “Intelligence Stratum for IoT. Architecture Requirements Conference 2018 1
and Functions”
A82 D’silva, Godson Michael, Sanket Thakare, and Vinayak Ashok Bharadi. “Real-time Processing of Conference 2016 7
IoT Events using a Software as a Service (SaaS) Architecture with Graph Database”
A83 Gupta, Hemant, and Paul C. Van Oorschot. “Onboarding and Software Update Architecture for IoT Conference 2019 1
Devices”
A84 Ungurean, Ioan, Nicoleta-Cristina Gaitan, and Vasile Gheorghita Gaitan. “An IoT Architecture for Conference 2014 86
Things from Industrial Environment”
A85 Marino, Francesco, Luca Maggiani, Laura Nao, Paolo Pagano, and Matteo Petracca. “Towards Conference 2017 3
Softwarization in the IoT: Integration and Evaluation of T-Res in the oneM2M Architecture”
A86 Bolic, Miodrag, and Shikharesh Majumdar. “A Performance Driven Micro Services-Based Archi- Conference 2019 0
tecture/System for Analyzing Noisy IoT Data”
A87 Nguyen, Binh, Nakjung Choi, Marina Thottan, and Jacobus Van der Merwe., “SIMECA: SDN- Conference 2017 11
based IoT Mobile Edge Cloud Architecture”
A88 Villari, Massimo, Antonio Celesti, Maria Fazio, and Antonio Puliafito. “AllJoyn Lambda: an Conference 2014 86
Architecture for the Management of Smart Environments in IoT”
A89 Desai, Pratikkumar, Amit Sheth, and Pramod Anantharam. “Semantic Gateway as a Services Conference 2015 260
architecture for IoT Interoperability”
A90 Mainetti, Luca, Vincenzo Mighali, Luigi Patrono, and Piercosimo Rametta. “A novel Rule-based Conference 2015 13
Semantic Architecture for IoT Building Automation Systems”
A91 Vrbaski, Mira, Miodrag Bolic, and Shikharesh Majumdar. “Complex Event Recognition Notifica- Conference 2018 2
tion Methodology for Uncertain IoT Systems Based on Micro-Services architecture”
A92 Young, Roger, Sheila Fallon, and Paul Jacob. “A Governance Architecture for Self-Adaption & Conference 2018 2
Control in IoT Applications”
A93 Lu, Duo, Dijiang Huang, Andrew Walenstein, and Deep Medhi.”A Secure Microservice Frame- Conference 2017 42
work for IoT”
A94 Pratik, T., Rakesh Kumar Lenka, Gopal Krishna Nayak, and Ankur Kumar. “An Architecture to Conference 2018 0
Support Interoperability in IoT Devices”
A95 Cristina, Gaitan Nicoleta, Gaitan Vasile Gheorghita, and Ungurean Ioan. “Gradual Development Conference 2015 8
of an IoT Architecture for Real-World Things”
A96 Azzarà, Andrea, Daniele Alessandrelli, Stefano Bocchino, Paolo Pagano, and Matteo Petracca. Conference 2012 9
“Architecture, functional requirements, and early implementation of an instrumentation grid for
the IoT”
A97 Palaiokrassas, Georgios, Ilias Karlis, Antonios Litke, Vassilios Charlaftis, and Theodora Var- Conference 2017 5
varigou. “An IoT architecture for personalized recommendations over big data oriented applica-
tions”
A98 Serra, Bruno, Luis Gomes, and Zita Vale. “Lightweight Architecture for IoT Devices with Context- Conference 2019 0
aware Autonomous Control”
A99 Shopov, M. P. “IoT Gateway for Smart Metering in Electrical Power Systems—Software Architec- Conference 2017 3
ture”
A100 Sassi, M. Saifeddine Hadj, Faiza Ghozzi Jedidi, and Lamia Chaari Fourati. “Computer-Aided Conference 2019 3
Software Engineering (CASE) Tool for Big Data and IoT Architecture”
A101 Alberti, Antonio Marcos, and Dhananjay Singh. “Developing a NovaGenesis Architecture Model Conference 2014 6
for Service Oriented Future Internet and IoT: An Advanced Transportation System Scenario”
A102 Balasubramanian, V., Nikolaos Kouvelas, Kishor Chandra, R. Venkatesha Prasad, Artemios G. Conference 2018 10
Voyiatzis, and William Liu. “A Unified Architecture for Integrating Energy Harvesting IoT
devices with the Mobile Edge Cloud”
A103 Hong, Sang Gi, Kyo-Hoon Son, Hyesun Lee, Myungnam Bae, and Kang Bok Lee. “Augmented Conference 2018 2
IoT Services architecture Assisting Safe Firefighting Operation”
A104 Ordoñez-García, Alfonso, Mario Siller, and Ofelia Begovich.”IoT Architecture for Urban Agron- Conference 2017 7
omy and Precision Applications.”
A105 Nguyen, Thi Minh Chau, Doan B. Hoang, and Thanh Dat Dang. “Toward a Programmable Conference 2017 6
Software-Defined IoT Architecture for Sensor Service Provision On Demand”
A106 Zheng, Shiji. “Research on SDN-based IoT Security Architecture Model” Conference 2019 3

SN Computer Science
350 Page 28 of 30 SN Computer Science (2020) 1:350

Table 10  (continued)
Study ID Title Publication type Year Citation

A107 Gelogo, Yvette E., Jung-Won Oh, Jin Woo Park, and Haeng-Kon Kim. “Internet of things (IoT) Conference 2015 13
Driven U-healthcare System Architecture”
A108 Neves, Carlos FOC, Ubirajara F. Moreno, and Adão Boava. “IoT-based Distributed Networked Conference 2018 3
Control Systems Architecture”
A109 Bedhief, Intidhar, Meriem Kassar, and Taoufik Aguili. SDN-based Architecture Challenging the Conference 2016 16
IoT Heterogeneity
A110 Carrez, Francois, Tarek Elsaleh, David Gómez, Luis Sánchez, Jorge Lanza, and Paul Grace. “A Conference 2017 24
Reference Architecture for Federating IoT Infrastructures Supporting Semantic Interoperability”
A111 Chakrabarty, Shaibal, and Daniel W. Engels. “A Secure IoT Architecture for Smart Cities” Conference 2016 69
A112 Tomovic, Slavica, Walter Cerroni, Franco Callegati, Roberto Verdone, Igor Radusinovic, Milica Conference 2017 2
Pejanovic, and Chiara Buratti. “An Architecture for QoS-aware Service Deployment in Software-
Defined IoT Networks”
A113 Al-Sakran, Hasan, Yaser Alharbi, and Irina Serguievskaia. “Framework Architecture for Securing Conference 2019 0
IoT Using Blockchain, Smart Contract and Software Defined Network Technologies”
A114 Kitagami, Shinji, Tadashi Ogino, Takuo Suganuma, and Norio Shiratori. “Proposal of A Multi- Conference 2017 8
agent Based Flexible IoT Edge Computing Architecture Harmonizing Its Control with Cloud
Computing”
A115 Yashiro, Takeshi, Shinsuke Kobayashi, Noboru Koshizuka, and Ken Sakamura. “An Internet of Conference 2013 105
Things (IoT) Architecture for Embedded Appliances”
A116 Islam, Md Jahidul, Md Mahin, Shanto Roy, Biplab Chandra Debnath, and Ayesha Khatun. “Dist- Conference 2019 2
BlackNet: A Distributed Secure Black SDN-IoT Architecture with NFV Implementation for
Smart Cities”
A117 Vakili, Mohammad Ghazi, Claudio Demartini, Mauro Guerrera, and Bartolomeo Montrucchio. Conference 2019 1
“Open Source Fog Architecture for Industrial IoT Automation Based on Industrial Protocols”
A118 Jaikla, Tinthid, Chalee Vorakulpipat, Ekkachan Rattanalerdnusorn, and Hoang Dang Hai. “A Conference 2019 0
Secure Network Architecture for Heterogeneous IoT Devices using Role-based Access Control”
A119 Kaur, Maninder Jeet, and Piyush Maheshwari. “Building Smart Cities Applications using IoT and Conference 2016 35
Cloud-based Architectures”
A120 Bai, He, Geming Xia, and Shaojing Fu. “A Two-Layer-Consensus Based Blockchain Architecture Conference 2019 1
for IoT”
A121 Tavares, Priscylla da S., and Emanuel B. Rodrigues. “IoT-Based Architecture for Data Analytics of Conference 2018 2
Arboviruses in Smart Cities”
A122 Fischer, Kai, and Jürgen Geßner. “Security Architecture Elements for IoT enabled Automation Conference 2012 25
Networks”
A123 Gonzalez, Carlos, Olivier Flauzac, Florent Nolot, and Antonio Jara. “A Novel Distributed SDN- Conference 2016 17
Secured Architecture for the IoT”
A124 Marosi, Attila Csaba, Attila Farkas, and Róbert Lovas. “An adaptive cloud-based IoT back-end Conference 2018 6
architecture and its applications”
A125 Dutta, Joy, and Sarbani Roy. “IoT-Fog-Cloud based architecture for Smart City: Prototype of a Conference 2017 31
Smart Building”
A126 Pandeeswari, S. Thiruchadai, and S. Padmavathi. “Role and Impact of Softwarization of Networks Conference 2018 0
and Network functions in Fog based IoT Application Architectures”
A127 Miladinovic, Igor, Sigrid Schefer-Wenzl, and Heimo Hirner. “IoT Architecture for Smart Cities Conference 2019 0
Leveraging Machine Learning and SDN”
A128 Navani, Deepika, Sanjeev Jain, and Maninder Singh Nehra. “The Internet of Things (IoT): A Study Conference 2017 19
of Architectural Elements”
A129 Oquendo, Flavio. “Software architecture of self-organizing systems-of-systems for the Internet-of- Conference 2017 10
Things with SosADL”
A130 Chen, Hongbo, Hongjun Dai, and Meikang Qiu. “A Multiple Layer Sercurity Architecture for Conference 2018 0
Internet of Things into MVC Design”
A131 Cecchinel, Cyril, Matthieu Jimenez, Sébastien Mosser, and Michel Riveill. “An Architecture to Conference 2014 142
Support the Collection of Big Data in the Internet of Things”
A132 Tracey, David, and Cormac Sreenan. “A Holistic Architecture for the Internet of Things, Sensing Conference 2013 77
Services and Big Data”

SN Computer Science
SN Computer Science (2020) 1:350 Page 29 of 30 350

Table 10  (continued)
Study ID Title Publication type Year Citation

A133 Ribeiro, Admilson de Ribamar Lima, Fernando Mendonça de Almeida, Edward David Moreno, Conference 2016 8
and Carlos AE Montesco. “A management architectural pattern for adaptation system in Internet
of Things”
A134 Hagar, Jon D. “Software Test Architectures and Advanced Support Environments for IoT” Workshops 2018 4
A135 Jazayeri, Bahar, and Simon Schwichtenberg. “On-The-Fly Computing Meets IoT Markets Towards Workshops 2017 9
a Reference Architecture”
A136 Ogawa, Hiromu, Hisayuki Ohmata, Masaya Ikeo, Arisa Fujii, and Hiroshi Fujisawa. “System Workshops 2019 1
Architecture for Content-Oriented IoT Services”
A137 Flauzac, Olivier, Carlos González, Abdelhak Hachani, and Florent Nolot. “SDN based architecture Workshops 2015 105
for IoT and improvement of the security”
A138 Gonçalves, Daniel GV, Francisco L. de Caldas Filho, Lucas MC E. Martins, Guilherme de O. Workshops 2019 0
Kfouri, Bruno V. Dutra, Robson de O. Albuquerque, and Rafael T. de Sousa. “IPS architecture
for IoT networks overlapped in SDN”
A139 Ojo, Mike, Davide Adami, and Stefano Giordano.”A SDN-IoT Architecture with NFV Implemen- Workshops 2016 77
tation”
A140 Bedhief, Intidhar, Luca Foschini, Paolo Bellavista, Meriem Kassar, and Taoufik Aguili. “Toward Workshops 2019 2
Self-Adaptive Software defined Fog Networking Architecture for IIoT and Industry 4.0”

References 11. Qiao Y, Nolani R, Gill S, Fang G, Lee B. ThingNet: a micro-


service based IoT macro-programming platform over edges and
cloud. In: 2018 21st Conference on innovation in clouds, internet
1. Chen S, Hui Xu, Liu D, Bo Hu, Wang H. A vision of IoT: applica-
and networks and workshops (ICIN). Paris; 2018, p. 1-4. https​://
tions, challenges, and opportunities with china perspective. IEEE
doi.org/10.1109/ICIN.2018.84016​26.
Internet Things J. 2014;1(4):349–59.
12. Alshuqayran N, Ali N, Evans R. A systematic mapping study in
2. H. F. Elyamany and A. H. AlKhairi. IoT-academia architecture: a
microservice architecture. In: 2016 IEEE 9th international con-
profound approach. In: 2015 IEEE/ACIS 16th international con-
ference on service-oriented computing and applications (SOCA).
ference on software engineering, artificial intelligence, networking
Macau; 2016, p. 44-51. https​://doi.org/10.1109/SOCA.2016.15.
and parallel/distributed computing (SNPD). Takamatsu; 2015, p.
13. Ninikrishna T, et al. Software defined IoT: issues and challenges.
1-5. https​://doi.org/10.1109/SNPD.2015.71762​75.
In: 2017 International conference on computing methodologies
3. Al-Fuqaha A, Guizani M, Mohammadi M, Aledhari M, Ayyash M.
and communication (ICCMC). Erode; 2017, p. 723-726. https​://
Internet of things: a survey on enabling technologies, protocols,
doi.org/10.1109/ICCMC​.2017.82825​60.
and applications. IEEE Commun Surv Tutor. 2015;17:2347–76.
14. Breivold HP, Sandström K. Internet of things for industrial auto-
4. Zanella A, Bui N, Castellani A, Vangelista L, Zorzi M. Internet
mation—challenges and technical solutions. In: 2015 IEEE inter-
of things for smart cities. IEEE Internet Things J. 2014;1:22–32.
national conference on data science and data intensive systems.
5. Evans D. The Internet of Things How the Next Evolution of the
Sydney, NSW; 2015. p. 532–539. https​://doi.org/10.1109/DSDIS​
Internet Is Changing Everything; White Paper; CISCO: San Jose
.2015.11.
CA USA, 2011.
15. Patra L, Rao UP. Internet of things—architecture, applications,
6. Abed AA. Internet of Things (IoT): architecture and design. In:
security and other major challenges. In: 2016 3rd International
2016 Al-Sadeq international conference on multidisciplinary in
conference on computing for sustainable global development
IT and communication science and applications (AIC-MITCSA).
(INDIACom). New Delhi; 2016. p. 1201–1206.
Baghdad; 2016, p. 1-3. https​://doi.org/10.1109/AIC-MITCS​
16. del Río J, Daniel MT, Enoc M, O’Reilly TC, Eric D, Jay SP,
A.2016.77599​58.
Christoph W, Simon J. A sensor web architecture for integrat-
7. Petersen K, Feldt R, Mujtaba S, Mattsson M. Systematic map-
ing smart oceanographic sensors into the semantic sensor web.
ping studies in software engineering. In: Proceedings of the 12th
IEEE J Ocean Eng. 2018;43(4):830–42. https​://doi.org/10.1109/
international conference on evaluation and assessment in software
JOE.2017.27681​78.
engineering (EASE’08). Swindon, GBR: BCS Learning & Devel-
17. Quinnell R. 10 Top Challenges Industrial IoT Must Overcome in
opment Ltd.; 2008, p. 68–77.
2015.
8. Manev D, Dimov A. Facilitation of IoT software maintenance via
18. Weyrich M, Christof E. Reference architectures for the Internet of
code analysis and generation. In 2017 2nd International multidis-
Things. IEEE Softw. 2016;33(1):112–6. https​://doi.org/10.1109/
ciplinary conference on computer and energy science (SpliTech).
MS.2016.20.
Split; 2017, p. 1-6.
19. Chen S, Hui X, Dake L, Bo H, Hucheng W. A vision of IoT:
9. Florio L, Nitto ED. Gru: an approach to introduce decentralized
applications, challenges, and opportunities with china perspec-
autonomic behavior in microservices architectures. In: 2016 IEEE
tive. IEEE Internet Things J. 2014;1(4):349–59. https​://doi.
international conference on autonomic computing (ICAC). Wurz-
org/10.1109/JIOT.2014.23373​36.
burg; 2016, p. 357-362. https​://doi.org/10.1109/ICAC.2016.25.
20. Jacob PM, Prasanna M. Software architecture pattern selec-
10. Ghayyur SA, Razzaq A, Ullah S, Ahmed S. Matrix clustering
tion model for Internet of Things based systems. IET Softw.
based migration of system application to microservices architec-
2018;12(5):390–6. https​://doi.org/10.1049/iet-sen.2017.0206.
ture. Int J Adv Comput Sci Appl. 2018;9:284–96.

SN Computer Science
350 Page 30 of 30 SN Computer Science (2020) 1:350

21. Wan J, Shenglong T, Zhaogang S, Di L, Shiyong W, Muhammad I-SMAC (IoT in Social, Mobile, Analytics and Cloud) (I-SMAC);
I, Athanasios VV. Software-defined industrial Internet of Things 2017. p. 583–587.
in the Context of Industry 4.0. IEEE Sens J. 2016;16:7373–80. 31. Kobusińska A, Leung C, Hsu C-H, Raghavendra S, Chang V.
22. Cavalcante E, Alves MP, Batista T, Delicato FC, Pires PF. An Emerging trends, issues and challenges in Internet of Things,
analysis of reference architectures for the internet of things. In: big data and cloud computing. Future Gener Comput Syst.
2015 1st International workshop on exploring component-based 2018;87:416–9. https​://doi.org/10.1016/j.futur​e.2018.05.021.
techniques for constructing reference architectures (CobRA). 32. Galletta A, Lorenzo C, Alina B, Antonio C, Massimo V. A
Montreal, QC; 2015. p. 1–4. Microservices-based platform for efficiently managing oceano-
23. Muccini H, Moghaddam MT. IoT architectural styles. In: Cuesta graphic data. In: 2018 4th international conference on big data
C, Garlan D, Pérez J, editors. Software architecture. ECSA 2018. innovations and applications (Innovate-Data). IEEE; 2018.
Lecture Notes in Computer Science, vol. 11048. Cham: Springer; 33. Farhan L, Kharel R, Kaiwartya O, Quiroz-Castellanos M, Alissa
2018. https​://doi.org/10.1007/978-3-030-00761​-4_5 A, Abdulsalam M. A concise review on internet of things (iot)
24. Capilla R, Anton J, Antony T, Paris A, Muhammad AB. 10 years -problems, challenges and opportunities. In: 2018 11th Interna-
of software architecture knowledgemanagement: practice and tional symposium on communication systems, networks & digital
future. J Syst Softw. 2016;116:191–205. signal processing (CSNDSP). Budapest; 2018, p. 1-6. https​://doi.
25. Campeanu G. A mapping study on microservice architectures of org/10.1109/CSNDS​P.2018.84717​62.
Internet of Things and cloud computing solutions. In: 2018 7th 34. Devices Profile for Web Services (DPWS), OASIS standard. https​
Mediterranean conference on embedded computing (MECO). ://docs.oasis​-open.org/ws-dd/ns/dpws/2009/01. Accessed 30 Mar
Budva; 2018. p. 1–4. https​://doi.org/10.1109/MECO.2018.84060​ 2020.
08. 35. The Constrained Application Protocol (CoAP), Internet Engineer-
26. Basili VR, Caldiera G, Rombach HD. The goal question metric ing Task Force (IETF) proposed standard RFC 7252. https​://datat​
approach. In: Encyclopedia of software engineering, vol. 1. John racke​r.ietf.org/doc/rfc72​52/. Accessed 25 Mar 2020.
Wiley & Sons; 1994, p. 528–532. ISBN 0-471-54004-8. 36. Easterbrook S, Singer J, Storey MA, Damian D. Selecting empiri-
27. Petersen K, Feldt R, Mujtaba S, Mattsson M. Systematic map- cal methods for software engineering research. In: Shull F, Singer
ping studies in software engineering. In: Proceedings of the 12th J, Sjøberg DIK, editors. Guide to advanced empirical software
international conference on evaluation and assessment in software engineering. London: Springer; 2008. p. 285–311. https​://doi.
engineering (EASE’08). Swindon, GBR: BCS Learning & Devel- org/10.1007/978-1-84800​-044-5_11.
opment Ltd.; 2008. p. 68–77.
28. Kitchenham BA, Charters S. Guidelines for performing system- Publisher’s Note Springer Nature remains neutral with regard to
atic literature reviews in software engineering. Technical report jurisdictional claims in published maps and institutional affiliations.
EBSE-2007-01. School of Computer Science and Mathematics,
Keele University; 2007.
29. Sharma S, Victor C, Tim US, Johnny W, Shashi G. Cloud and IoT-
based emerging services systems. Clust Comput. 2018;22:71–91.
30. Shahid N, Sandhya A. Internet of Things: Vision, application
areas and research challenges. In: International conference on

SN Computer Science

View publication stats

You might also like