Have a personal or library account? Click to login

CRUDyLeaf: A DSL for Generating Spring Boot REST APIs from Entity CRUD Operations

Open Access
|Sep 2020

Abstract

Domain-Specific Languages (DSLs) are programming languages designed specifically to express solutions to problems in a particular domain. It is said they foster productivity and quality. In this work we describe CRUDyLeaf, a DSL focused on the generation of Spring Boot REST APIs from entity CRUD operations. Spring Boot is an open source Java-based framework used to implement the REST architecture style. It has gained popularity among developers mainly because it allows to build stand-alone and production ready software applications (avoiding the use of an application server). Through seven proposed stages (domain immersion, golden application implementation, syntax definition, meta model generation, code generator implementation, deployment, and refinement) we describe the development of this DSL. We also exemplify and evaluate the proposed DSL. Our findings suggest a yield automation rate of 32.1 LOC (Lines Of Code) for each LOC written in this DSL, among other observed benefits.

DOI: https://doi.org/10.2478/cait-2020-0024 | Journal eISSN: 1314-4081 | Journal ISSN: 1311-9702
Language: English
Page range: 3 - 14
Submitted on: Mar 27, 2020
Accepted on: Jul 22, 2020
Published on: Sep 13, 2020
Published by: Bulgarian Academy of Sciences, Institute of Information and Communication Technologies
In partnership with: Paradigm Publishing Services
Publication frequency: 4 issues per year

© 2020 Omar S. Gómez, Raúl H. Rosero, Karen Cortés-Verdín, published by Bulgarian Academy of Sciences, Institute of Information and Communication Technologies
This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 License.