RestRho: A JSON-Based Domain-Specific Language for Designing and Developing RESTful APIs to Validate RhoArchitecture

Domain‑Specific Languages with JSON grammar (JSON‑DSLs) are specialized programming languages tailored to specific problem domains, offering higher abstraction levels and simplifying software implementation through the JSON standard. RhoArchitecture is an approach for designing and executing JSON‑DS...

Full description

Bibliographic Details
Authors: Chavarriaga, Enrique, Rojas, Luis, Rodríguez, Francy D., Sorbello, Kat, Jurado Monroy, Francisco
Format: article
Publication Date:2025
Country:España
Institution:Universidad Autónoma de Madrid
Repository:Biblos-e Archivo. Repositorio Institucional de la UAM
Language:English
OAI Identifier:oai:dnet:biblosearchi::cda4268dc9f943859bd21c4d7989eacc
Online Access:https://hdl.handle.net/10486/767980
https://dx.doi.org/10.3390/fi17080346
Access Level:Open access
Keyword:domain‑specific languages
JSON
JSON‑DSL
API RESTful
Rho architecture
templates engine
Informática
Description
Summary:Domain‑Specific Languages with JSON grammar (JSON‑DSLs) are specialized programming languages tailored to specific problem domains, offering higher abstraction levels and simplifying software implementation through the JSON standard. RhoArchitecture is an approach for designing and executing JSON‑DSLs, incorporating a modular programming model, a JSON‑based evaluation engine, and an integrated web development environment. This paper presents RestRho, a RESTful NodeJS server developed using two JSON‑DSLs designed with RhoArchitecture: SQLRho and DBRestRho. These languages enable declarative specification of database operations and HTTP requests, respectively, supporting modularity, reuse, and template‑based transformations. We validate the RestRho implementation through a dual approach. First, we apply software metrics to assess code quality, maintainability, and complexity. Second, we conduct an empirical study involving 39 final‑year computer engineering students, who completed 18 structured tasks and provided feedback via questionnaires. The results demonstrate the tool’s usability, development efficiency, and potential for adoption in web application development