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...

ver descrição completa

Detalhes bibliográficos
Autores: Chavarriaga, Enrique, Rojas, Luis, Rodríguez, Francy D., Sorbello, Kat, Jurado Monroy, Francisco
Formato: artículo
Fecha de publicación:2025
País:España
Recursos:Universidad Autónoma de Madrid
Repositorio:Biblos-e Archivo. Repositorio Institucional de la UAM
Idioma:inglés
OAI Identifier:oai:dnet:biblosearchi::cda4268dc9f943859bd21c4d7989eacc
Acesso em linha:https://hdl.handle.net/10486/767980
https://dx.doi.org/10.3390/fi17080346
Access Level:acceso abierto
Palavra-chave:domain‑specific languages
JSON
JSON‑DSL
API RESTful
Rho architecture
templates engine
Informática
Descrição
Resumo: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