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 条
  • [31] Topology-Aware Continuous Experimentation in Microservice-Based Applications
    Schermann, Gerald
    Oliveira, Fabio
    Wittern, Erik
    Leitner, Philipp
    [J]. SERVICE-ORIENTED COMPUTING (ICSOC 2020), 2020, 12571 : 19 - 35
  • [32] AutoMAP: Diagnose Your Microservice-based Web Applications Automatically
    Ma, Meng
    Wang, Ping
    Xu, Jingmin
    Wang, Yuan
    Chen, Pengfei
    Zhang, Zonghua
    [J]. WEB CONFERENCE 2020: PROCEEDINGS OF THE WORLD WIDE WEB CONFERENCE (WWW 2020), 2020, : 246 - 258
  • [33] Using a Domain-Specific Language to Enrich ETL Schemas
    Belo, Orlando
    Gomes, Claudia
    Oliveira, Bruno
    Marques, Ricardo
    Santos, Vasco
    [J]. NEW TRENDS IN DATABASES AND INFORMATION SYSTEMS (ADBIS 2015), 2015, 539 : 28 - 35
  • [34] Developing Domain-Specific Language for Wireless Sensor Network Application Development
    Salman, Aymen J.
    Al-Yasiri, Adil
    [J]. 2016 11TH INTERNATIONAL CONFERENCE FOR INTERNET TECHNOLOGY AND SECURED TRANSACTIONS (ICITST), 2016, : 301 - 308
  • [35] Toward a domain-specific language for scientific workflow-based applications on multicloud system
    Cordasco, Gennaro
    D'Auria, Matteo
    Negro, Alberto
    Scarano, Vittorio
    Spagnuolo, Carmine
    [J]. CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2021, 33 (18):
  • [36] A domain-specific language for cryptographic protocols based on streams
    Juerjens, Jan
    [J]. JOURNAL OF LOGIC AND ALGEBRAIC PROGRAMMING, 2009, 78 (02): : 54 - 73
  • [37] A Domain-Specific Language for Aviation Domain Interoperability
    Comitz, Paul
    [J]. 2013 INTEGRATED COMMUNICATIONS, NAVIGATION AND SURVEILLANCE CONFERENCE (ICNS), 2013,
  • [38] JAMOOS: A domain-specific language for language processing
    Gil, Joseph Yossi
    Tsoglin, Yuri
    [J]. 2001, University of Zagreb, Faculty of Political Sciences (09)
  • [39] RoboSC: a domain-specific language for supervisory controller synthesis of ROS applications
    Wesselink, Bart
    de Vos, Koen
    Kuertev, Ivan
    Reniers, Michel
    Torta, Elena
    [J]. 2023 IEEE INTERNATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION (ICRA 2023), 2023, : 9090 - 9096
  • [40] An Extensible Fault Tolerance Testing Framework for Microservice-based Cloud Applications
    Wu, Na
    Zuo, Decheng
    Zhang, Zhan
    [J]. PROCEEDINGS OF THE 4TH INTERNATIONAL CONFERENCE ON COMMUNICATION AND INFORMATION PROCESSING (ICCIP 2018), 2018, : 38 - 42