SPLC 2020 Challenge

Variability Management meets Microservices: Six Challenges of Re-Engineering Microservice-Based Webshops

Wesley K. G. Assunção, Rio de Janeiro, Brazil
Jacob Krüger, University of Toronto, Canada
Willian D. F. Mendonça,Federal University of Paraná, Brazil
A microservice implements a small unit of functionality that it provides through a network using lightweight protocols. So, microservices can be combined to fulfill tasks and implement features of a larger software system—resembling a variability mechanism in the context of a software product line (SPL). Microservices and SPLs have similar goals, namely facilitating reuse and customizing, but they are usually employed in different contexts. Any developer who has access to the network can provide a microservice for any task, while SPLs are usually intended to implement features of a single domain. Due to their different concepts, using microservices to implement an SPL or adopting SPL practices (e.g., variability management) for microservices is a challenging cross-area research problem. However, both techniques can complement each other, and thus tackling this problem promises benefits for organizations that employ either technique. In this paper, we reason on the importance of advancing in this direction, and sketch six concrete challenges to initiate research, namely (1) feature identification, (2) variability modeling, (3) variable microservice architectures, (4) interchangeability, (5) deep customization, and (6) re-engineering an SPL. We intend these challenges to serve as a starting point for future research in this cross-area research direction—avoiding that the concepts of one area are reinvented in the other.

Solutions

Variability management: re-engineering microservices with delta-oriented software product lines

Maya R. A. Setyautami, Hafiyyan Sayyid Fadhlillah, Daya Adianto, Ichlasul Affan, Ade Azurat
SPLC 2020 Solution
Combining microservices and software product line engineering (SPLE) is a challenge in variability management. This paper proposes a solution to that challenge by re-engineering existing webshop systems into a product line application. We first perform feature identification to analyze the features of subject systems. We introduce a mechanism that models the variability and designs a software product line architecture based on existing features. We use a UML diagram with the UML-DOP profile to abstract microservice variability in SPLE. Then, a transformation into a product line application is conducted to generate running applications based on selected features. We utilize a preliminary framework of microservice variability based on delta-oriented programming.
Solution paper

Can microservice-based online-retailers be used as an SPL?: a study of six reference architectures

Benjamin Benni, Sébastien Mosser, Jean-Philippe Caissy, Yann-Gaël Guéhéneuc
SPLC 2020 Solution
Microservices are deployable software artifacts that combine a set of business features and expose them to other microservices. Ideally, the reuse and interchanging of microservices should be easy as they are supposed to be independent of each other, both conceptually and technologically. Selecting a service to fulfill a given feature (e.g., managing a cart in a website) recalls the way Software Product Lines (SPL) allow variability. However, in practice, interchanging microservices requires knowing the features that the services propose, how they communicate with other services and their types. In this work, we propose to analyze service dependencies as feature dependencies, at the feature, structural, technological, and versioning level, to assess the interchangeability of services. We analyze six community-selected use-cases and report that services are non-interchangeable systematically.
Solution paper

Discussion

No discussion section for the moment.