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

被引:3
|
作者
Suljkanovic, Alen [1 ]
Milosavljevic, Branko [2 ]
Indic, Vladimir [2 ]
Dejanovic, Igor [2 ]
机构
[1] Typhoon HIL, Novi Sad 21000, Serbia
[2] Univ Novi Sad, Fac Tech Sci, Novi Sad 21000, Serbia
来源
APPLIED SCIENCES-BASEL | 2022年 / 12卷 / 13期
关键词
domain-specific languages; microservice architecture; model-driven engineering; software architecture; ARCHITECTURE;
D O I
10.3390/app12136679
中图分类号
O6 [化学];
学科分类号
0703 ;
摘要
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 inexperienced 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.
引用
收藏
页数:40
相关论文
共 50 条
  • [1] Transparent Tracing of Microservice-based Applications
    Santana, Matheus
    Sampaio, Adalberto, Jr.
    Andrade, Marcos
    Rosa, Nelson S.
    [J]. SAC '19: PROCEEDINGS OF THE 34TH ACM/SIGAPP SYMPOSIUM ON APPLIED COMPUTING, 2019, : 1252 - 1259
  • [2] A Domain-Specific Language for the Specification of Gesture-based Applications
    Viana, Daniel Leite
    de Medeiros Santos, Andre Luis
    [J]. PROCEEDINGS OF THE 21ST BRAZILIAN SYMPOSIUM ON PROGRAMMING LANGUAGES (SBLP 2017), 2017,
  • [3] MaGiC: a DSL Framework for Implementing Language Agnostic Microservice-based Web Applications
    Bucchiarone, Antonio
    Ciumedean, Claudiu
    Soysal, Kemal
    Dragoni, Nicola
    Pech, Vaclav
    [J]. JOURNAL OF OBJECT TECHNOLOGY, 2023, 22 (01): : 1 - 21
  • [4] Engineering Microservice-Based Applications Using an Integration Platform as a Service
    Schneider, Michael
    Abeck, Sebastian
    [J]. 2023 IEEE INTERNATIONAL CONFERENCE ON SERVICE-ORIENTED SYSTEM ENGINEERING, SOSE, 2023, : 124 - 129
  • [5] Overview of a Domain-Driven Design Approach to Build Microservice-Based Applications
    Steinegger, Roland H.
    Giessler, Pascal
    Hippchen, Benjamin
    Abeck, Sebastian
    [J]. THIRD INTERNATIONAL CONFERENCE ON ADVANCES AND TRENDS IN SOFTWARE ENGINEERING (SOFTENG 2017), 2017, : 79 - 87
  • [6] An Advanced DevOps Environment for Microservice-based Applications
    Throner, Stefan
    Huetter, Heiko
    Saenger, Niklas
    Schneider, Michael
    Hanselmann, Simon
    Petrovic, Patrick
    Abeck, Sebastian
    [J]. 2021 15TH IEEE INTERNATIONAL CONFERENCE ON SERVICE-ORIENTED SYSTEM ENGINEERING (SOSE 2021), 2021, : 134 - 143
  • [7] Towards a Reference Dataset of Microservice-Based Applications
    Brogi, Antonio
    Canciani, Andrea
    Neri, Davide
    Rinaldi, Luca
    Soldani, Jacopo
    [J]. SOFTWARE ENGINEERING AND FORMAL METHODS, SEFM 2017, 2018, 10729 : 219 - 229
  • [8] Extending the SEMAT Kernel for the practice of designing and implementing Microservice-based applications using Domain Driven Design
    Ray, Parthasarathi
    Pal, Pinakpani
    [J]. 2020 IEEE 32ND CONFERENCE ON SOFTWARE ENGINEERING EDUCATION AND TRAINING (CSEE&T), 2020, : 305 - 308
  • [9] Modelling and Prototyping of Business Applications Based on Multilevel Domain-Specific Language
    Pergl, Robert
    [J]. ENTERPRISE AND ORGANIZATIONAL MODELING AND SIMULATION, 2011, 88 : 173 - 191
  • [10] Detecting Artifact Anomalies in Microservice-Based Financial Applications
    Fahmi, Faisal
    Huang, Pei-Shu
    Wang, Feng-Jian
    [J]. 2020 IEEE 13TH INTERNATIONAL CONFERENCE ON SERVICES COMPUTING (SCC 2020), 2020, : 418 - 421