Citation: Kuruoglu Dolu, B.;
Cetinkaya, A.; Kaya, M.C.; Nazlioglu,
S.; Dogru, A.H. MSDeveloper: A
Variability-Guided Methodology for
Microservice-Based Development.
Appl. Sci. 2022, 12, 11439. https://
doi.org/10.3390/app122211439
Academic Editors: Sanjay Misra,
Robertas Damaševiˇcius and Bharti
Suri
Received: 18 October 2022
Accepted: 8 November 2022
Published: 11 November 2022
Publisher’s Note: MDPI stays neutral
with regard to jurisdictional claims in
published maps and institutional affil-
iations.
Copyright: © 2022 by the authors.
Licensee MDPI, Basel, Switzerland.
This article is an open access article
distributed under the terms and
conditions of the Creative Commons
Attribution (CC BY) license (https://
creativecommons.org/licenses/by/
4.0/).
Article
MSDeveloper: A Variability-Guided Methodology for
Microservice-Based Development
Betul Kuruoglu Dolu
1,2,
* , Anil Cetinkaya
2,3
, M. Cagri Kaya
2,4
, Selma Nazlioglu
5
and Ali H. Dogru
6
1
ASELSAN, Ankara 06200, Türkiye
2
Department of Computer Engineering, Middle East Technical University, Ankara 06800, Türkiye
3
Department of Computer Engineering, Iskenderun Technical University (ISTE),
˙
Iskenderun 31200, Türkiye
4
Department of Computer Engineering, Ardahan University, Ardahan 75002, Türkiye
5
Department of Software Engineering, Atilim University, Ankara 06830, Türkiye
6
Department of Computer Science, The University of Texas at San Antonio, San Antonio, TX 78249, USA
* Correspondence: bkdolu@aselsan.com.tr or betul.kuruoglu@ceng.metu.edu.tr
Abstract:
This article presents a microservice-based development approach, MSDeveloper (Microser-
vices Developer), employing variability management for product configuration through a low-code
development environment. The purpose of this approach is to offer a general-purpose environ-
ment for the easier development of families of products for different domains: a domain-oriented
development environment is suggested, where domain developers and product developers can
utilize the environment as a software ecosystem. Thus, genericity is offered through supporting
different domains. A domain is populated with feature and process models and microservices in
a layered architecture. Feature models drive the product configuration, which affects the process
model and the microservice layer. An experimental study was conducted to validate the applica-
bility of the approach and the usability of the development environment. Students from different
courses were assigned system modeling projects where they utilized helper tools supporting the
provided methodology. Furthermore, professional software developers were consulted about this
recommended domain-oriented development environment. Feedback from student projects and
professionals’ remarks are analyzed and discussed.
Keywords: low-code development; microservices architecture; model-driven engineering; software
development; variability modeling; process modeling
1. Introduction
With the changing world, software is rapidly being included in every aspect of our
lives in an indispensable way. Therefore, low-cost, consistent, error-free, and user-friendly
software production has become very important. Low-code development intends to serve
these purposes and allows the fast development of products supported by visual modeling
that will achieve needs by writing little to no code [
1
]. It is a development approach
that responds quickly to customers’ needs with reduced costs. However, most of the
existing studies in this field are tool
-
centric, references are scarce [
2
] and less inclusive
about conceptual frameworks, and are methodologies especially lacking.
In the world of software development, which transforms, develops, and evolves every
day, software development approaches are also being improved, renewed, and expanded.
With a background of almost 10 years, low-code development is a software development
approach that has become quite popular. Its practical use is supported by visual modeling,
which allows quick development, especially leveraging on mature domains with low
costs. Low-code development environments are easy to use in a product-oriented way,
even for users without a programming background, which relieves them from mundane
“infrastructural” tasks. These environments are being further established in the IT sector
day by day [2].
Appl. Sci. 2022, 12, 11439. https://doi.org/10.3390/app122211439 https://www.mdpi.com/journal/applsci