Developing Microservice-Based Applications Using the Silvera Domain-Specific Language

Microservice Architecture (MSA) is a rising trend in software architecture design. Applications based on MSA are distributed applications whose components are microservices. MSA has already been adopted with great success by numerous companies, and a significant number of published papers discuss it...

Full description

Bibliographic Details
Main Authors: Dejanović, I. (Author), Indić, V. (Author), Milosavljević, B. (Author), Suljkanović, A. (Author)
Format: Article
Language:English
Published: MDPI 2022
Subjects:
Online Access:View Fulltext in Publisher
LEADER 02735nam a2200217Ia 4500
001 10.3390-app12136679
008 220718s2022 CNT 000 0 und d
020 |a 20763417 (ISSN) 
245 1 0 |a Developing Microservice-Based Applications Using the Silvera Domain-Specific Language 
260 0 |b MDPI  |c 2022 
856 |z View Fulltext in Publisher  |u https://doi.org/10.3390/app12136679 
520 3 |a Microservice Architecture (MSA) is a rising trend in software architecture design. Applications based on MSA are distributed applications whose components are microservices. MSA has already been adopted with great success by numerous companies, and a significant number of published papers discuss its advantages. However, the results of recent studies show that there are several important challenges in the adoption of microservices such as finding the right decomposition approach, heterogeneous technology stacks, lack of relevant skills, out-of-date documentation, etc. In this paper, we present Silvera, a Domain-Specific Language (DSL), and a compiler for accelerating the development of microservices. Silvera is a declarative language that allows users to model the architecture of microservice-based systems. It is designed so that it can be used both by inexperi-enced and experienced developers. The following characteristics distinguish Silvera from similar tools: (i) lightweight and editor-agnostic language, (ii) built with heterogeneity in mind, (iii) uses microservice-tailored metrics to evaluate the architecture of the designed system, and (iv) automatically generates the documentation. Silvera’s retargetable compiler transforms models into runnable code and produces the documentation for each microservice in the model. The compiler can produce code for any programming language or framework since code generators are registered as plugins. We present a case study that illustrates the use of Silvera and also discuss some current limitations and development directions. To evaluate Silvera, we conducted a survey based on A Framework for Qualitative Assessment of DSLs (FQAD), where we focused on the following DSL characteristics: functional suitability, usability, reliability, productivity, extendability, and expressiveness. Overall, the survey results show that Silvera satisfies these characteristics. © 2022 by the authors. Licensee MDPI, Basel, Switzerland. 
650 0 4 |a domain-specific languages 
650 0 4 |a microservice architecture 
650 0 4 |a model-driven engineering 
650 0 4 |a software architecture 
700 1 |a Dejanović, I.  |e author 
700 1 |a Indić, V.  |e author 
700 1 |a Milosavljević, B.  |e author 
700 1 |a Suljkanović, A.  |e author 
773 |t Applied Sciences (Switzerland)