{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,10]],"date-time":"2025-10-10T01:34:37Z","timestamp":1760060077979,"version":"build-2065373602"},"reference-count":50,"publisher":"MDPI AG","issue":"8","license":[{"start":{"date-parts":[[2025,7,31]],"date-time":"2025-07-31T00:00:00Z","timestamp":1753920000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Future Internet"],"abstract":"<jats:p>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\u2019s usability, development efficiency, and potential for adoption in web application development.<\/jats:p>","DOI":"10.3390\/fi17080346","type":"journal-article","created":{"date-parts":[[2025,8,4]],"date-time":"2025-08-04T13:11:11Z","timestamp":1754313071000},"page":"346","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":0,"title":["RestRho: A JSON-Based Domain-Specific Language for Designing and Developing RESTful APIs to Validate RhoArchitecture"],"prefix":"10.3390","volume":"17","author":[{"given":"Enrique","family":"Chavarriaga","sequence":"first","affiliation":[{"name":"Departament I+D+i, UGround Global S.L., 28003 Madrid, Spain"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Luis","family":"Rojas","sequence":"additional","affiliation":[{"name":"Facultad de Ingenier\u00eda, Universidad San Sebasti\u00e1n, Santiago 8420524, Chile"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-3354-4819","authenticated-orcid":false,"given":"Francy D.","family":"Rodr\u00edguez","sequence":"additional","affiliation":[{"name":"Computer Engineering Department, Universidad Polit\u00e9cnica de Madrid, 28223 Madrid, Spain"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-6560-8998","authenticated-orcid":false,"given":"Kat","family":"Sorbello","sequence":"additional","affiliation":[{"name":"The Stella Way, Brisbane 4118, Australia"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-7559-8236","authenticated-orcid":false,"given":"Francisco","family":"Jurado","sequence":"additional","affiliation":[{"name":"Department of Computer Engineering, Universidad Aut\u00f3noma de Madrid, 28049 Madrid, Spain"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"1968","published-online":{"date-parts":[[2025,7,31]]},"reference":[{"key":"ref_1","unstructured":"Fowler, M., and White, T. (2010). Domain-Specific Languages, Addison-Wesley Professional."},{"key":"ref_2","doi-asserted-by":"crossref","first-page":"316","DOI":"10.1145\/1118890.1118892","article-title":"When and How to Develop Domain-Specific Languages","volume":"37","author":"Mernik","year":"2005","journal-title":"ACM Comput. Surv. (CSUR)"},{"key":"ref_3","unstructured":"Ghosh, D. (2010). DSLs in Action, Manning Publications."},{"key":"ref_4","doi-asserted-by":"crossref","first-page":"1073","DOI":"10.1002\/spe.863","article-title":"Grammar-Driven Generation of Domain-Specific Language Debuggers","volume":"38","author":"Wu","year":"2008","journal-title":"Softw. Pract. Exp."},{"key":"ref_5","unstructured":"Kelker, R.D. (2013). Clojure for Domain-Specific Languages, Packt Publishing."},{"key":"ref_6","doi-asserted-by":"crossref","first-page":"196","DOI":"10.1145\/242224.242477","article-title":"Building Domain-Specific Embedded Languages","volume":"28","author":"Hudak","year":"1996","journal-title":"ACM Comput. Surv."},{"key":"ref_7","unstructured":"Voelter, M. (2013). DSL Engineering: Designing, Implementing and Using Domain-Specific Languages, Springer."},{"key":"ref_8","unstructured":"Pierantonio, A. (2019). Domain-Specific Languages in Practice: With JetBrains MPS, Springer."},{"key":"ref_9","unstructured":"Fawcett, J., Quin, L.R.E., and Ayers, D. (2012). Beginning XML, Wrox Press. [5th ed.]."},{"key":"ref_10","unstructured":"(2021, September 02). ECMA ECMA-404: The JSON Data Interchange Syntax. Available online: https:\/\/www.ecma-international.org\/publications-and-standards\/standards\/ecma-404\/."},{"key":"ref_11","unstructured":"(2023, December 12). W3C Recommendation JSON-LD 1.1: A JSON-Based Serialization for Linked Data (W3C Recommendation 16 July 2020). Available online: https:\/\/www.w3.org\/TR\/json-ld\/."},{"key":"ref_12","doi-asserted-by":"crossref","first-page":"101203","DOI":"10.1016\/j.cola.2023.101203","article-title":"An Approach to Build JSON-Based Domain-Specific Languages Solutions for Web Applications","volume":"75","author":"Chavarriaga","year":"2023","journal-title":"J. Comput. Lang."},{"key":"ref_13","first-page":"45","article-title":"Xanui: A Textual Platform-Independent Model for Rich User Interfaces","volume":"15","author":"Hermida","year":"2016","journal-title":"J. Web Eng."},{"key":"ref_14","doi-asserted-by":"crossref","unstructured":"Barisic, A., Amaral, V., Goulao, M., and Barroca, B. (2014). Evaluating the Usability of Domain-Specific Languages. Software Design and Development, IGI Global.","DOI":"10.4018\/978-1-4666-4301-7.ch098"},{"key":"ref_15","unstructured":"ISO.org (2023). Ergonomics of Human-System Interaction\u2014Part 210: Human-Centred Design for Interactive Systems. Online Browsing Platform (OBP), ISO."},{"key":"ref_16","doi-asserted-by":"crossref","first-page":"4205","DOI":"10.1007\/s10664-020-09872-1","article-title":"Systematic Mapping Study on Domain-Specific Language Development Tools","volume":"25","author":"Iung","year":"2020","journal-title":"Empir. Softw. Eng."},{"key":"ref_17","unstructured":"do Nascimento, L.M., Viana, D.L., Neto, P.A.S., Martins, D.A., Garcia, V.C., and Meira, S.R. (2012, January 18\u201323). A Systematic Mapping Study on Domain-Specific Languages. Proceedings of the Seventh International Conference on Software Engineering Advances (ICSEA 2012), Lisbon, Portugal."},{"key":"ref_18","doi-asserted-by":"crossref","first-page":"180","DOI":"10.1007\/s10664-022-10210-w","article-title":"An Empirical Evaluation of a Novel Domain-Specific Language\u2014Modelling Vehicle Routing Problems with Athos","volume":"27","author":"Hoffmann","year":"2022","journal-title":"Empir. Softw. Eng."},{"key":"ref_19","unstructured":"Bojinov, V. (2018). RESTful Web API Design with Node.Js 10, Third Edition: Learn to Create Robust RESTful Web Services with Node.Js, MongoDB, and Express.Js, Packt Publishing. [3rd ed.]."},{"key":"ref_20","unstructured":"Wexler, J. (2019). Get Programming with Node.Js, Simon and Schuster."},{"key":"ref_21","doi-asserted-by":"crossref","first-page":"3069","DOI":"10.9734\/BJAST\/2014\/10548","article-title":"Software quality factors and software quality metrics to enhance software quality assurance","volume":"7","author":"Lee","year":"2014","journal-title":"Br. J. Appl. Sci. Technol."},{"key":"ref_22","doi-asserted-by":"crossref","first-page":"e5802","DOI":"10.1002\/cpe.5802","article-title":"Toward a Domain-Specific Language for Scientific Workflow-Based Applications on Multicloud System","volume":"33","author":"Cordasco","year":"2021","journal-title":"Concurr. Comput. Pract. Exp."},{"key":"ref_23","doi-asserted-by":"crossref","first-page":"2206","DOI":"10.1007\/s10664-016-9483-z","article-title":"Effectiveness and Efficiency of a Domain-Specific Language for High-Performance Marine Ecosystem Simulation: A Controlled Experiment","volume":"22","author":"Johanson","year":"2017","journal-title":"Empir. Softw. Eng."},{"key":"ref_24","doi-asserted-by":"crossref","first-page":"1531","DOI":"10.1002\/spe.2733","article-title":"Ranking Open Source Application Integration Frameworks Based on Maintainability Metrics: A Review of Five-Year Evolution","volume":"49","author":"Frantz","year":"2019","journal-title":"Softw. Pract. Exp."},{"key":"ref_25","doi-asserted-by":"crossref","first-page":"967","DOI":"10.1002\/spe.3045","article-title":"Evaluating the Semantic Transparency of Guaran\u00e1: A Domain-Specific Language for Enterprise Application Integration","volume":"52","author":"Bocanegra","year":"2022","journal-title":"Softw. Pract. Exp."},{"key":"ref_26","unstructured":"Kurosu, M. (2017). Usability Evaluation of Domain-Specific Languages: A Systematic Literature Review. Proceedings of the Human-Computer Interaction, User Interface Design, Development and Multimodality, Springer International Publishing."},{"key":"ref_27","unstructured":"Subramanian, H., and Raj, P. (2019). Hands-On RESTful API Design Patterns and Best Practices: Design, Develop, and Deploy Highly Adaptable, Scalable, and Secure RESTful Web APIs, Packt Publishing Ltd."},{"key":"ref_28","doi-asserted-by":"crossref","first-page":"59","DOI":"10.15407\/pp2018.04.059","article-title":"Modern RESTful API DLs and Frameworks for RESTful Web Services API Schema Modeling, Documenting, Visualizing","volume":"4","author":"Malakhov","year":"2018","journal-title":"Probl. Program."},{"key":"ref_29","doi-asserted-by":"crossref","unstructured":"Ferguson, R. (2019). JavaScript and Development Tools. Beginning JavaScript: The Ultimate Guide to Modern JavaScript Development, Apress.","DOI":"10.1007\/978-1-4842-4395-4"},{"key":"ref_30","unstructured":"(2025, July 10). API BluePrint. Available online: https:\/\/apiblueprint.org\/."},{"key":"ref_31","unstructured":"Flanagan, D. (2020). JavaScript: The Definitive Guide: Master the World\u2019s Most-Used Programming Language, O\u2019Reilly Media. [7th ed.]."},{"key":"ref_32","doi-asserted-by":"crossref","unstructured":"Czech, G., Moser, M., and Pichler, J. (2018, January 29\u201331). Best Practices for Domain-Specific Modeling. A Systematic Mapping Study. Proceedings of the 2018 44th Euromicro Conference on Software Engineering and Advanced Applications (SEAA), Prague, Czech Republic.","DOI":"10.1109\/SEAA.2018.00031"},{"key":"ref_33","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/2460383.2460386","article-title":"A Measurement Study of Insecure Javascript Practices on the Web","volume":"7","author":"Yue","year":"2013","journal-title":"ACM Trans. Web (TWEB)"},{"key":"ref_34","doi-asserted-by":"crossref","unstructured":"Rani, F., Diez, P., Chavarriaga, E., Guerra, E., and de Lara, J. (2020, January 16\u201323). Automated Migration of Eugenia Graphical Editors to the Web. Proceedings of the 23rd ACM\/IEEE International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings, Virtual.","DOI":"10.1145\/3417990.3420205"},{"key":"ref_35","unstructured":"Chavarriaga, E. (2017). Modelo Programable para la Serializaci\u00f3n y Evaluaci\u00f3n de Modelos Heterog\u00e9neos en Clientes Web. [Ph.D. Thesis, Repository Autonomous University of Madrid]."},{"key":"ref_36","doi-asserted-by":"crossref","unstructured":"Tahir, A., and MacDonell, S.G. (2012, January 23\u201328). A Systematic Mapping Study on Dynamic Metrics and Software Quality. Proceedings of the IEEE International Conference on Software Maintenance (ICSM), Trento, Italy.","DOI":"10.1109\/ICSM.2012.6405289"},{"key":"ref_37","doi-asserted-by":"crossref","unstructured":"Riaz, M., Mendes, E., and Tempero, E. (2009, January 15\u201316). A Systematic Review of Software Maintainability Prediction and Metrics. Proceedings of the 2009 3rd International Symposium on Empirical Software Engineering and Measurement, Lake Buena Vista, FL, USA.","DOI":"10.1109\/ESEM.2009.5314233"},{"key":"ref_38","doi-asserted-by":"crossref","unstructured":"Jatain, A., and Mehta, Y. (2014, January 7\u20138). Metrics and Models for Software Reliability: A Systematic Review. Proceedings of the 2014 International Conference on Issues and Challenges in Intelligent Computing Techniques (ICICT), Ghaziabad, India.","DOI":"10.1109\/ICICICT.2014.6781281"},{"key":"ref_39","first-page":"63","article-title":"Object Oriented Metrics for Prototype Based Languages","volume":"9","author":"Ahsan","year":"2012","journal-title":"Life Sci. J."},{"key":"ref_40","unstructured":"Nguyen, V., Deeds-Rubin, S., Tan, T., and Boehm, B. (2007). A SLOC Counting Standard, University of Southern California, Center for Systems and Software Engineering."},{"key":"ref_41","doi-asserted-by":"crossref","first-page":"308","DOI":"10.1109\/TSE.1976.233837","article-title":"A Complexity Measure","volume":"SE-2","author":"McCabe","year":"1976","journal-title":"IEEE Trans. Softw. Eng."},{"key":"ref_42","unstructured":"Halstead, M. (1977). Elements of Software Science, Elsevier."},{"key":"ref_43","unstructured":"Oman, P.W., Hagemeister, J., and Ash, D. (1991). A Definition and Taxonomy for Software Maintainability, University of Idaho, Software Engineering Test Laboratory."},{"key":"ref_44","first-page":"133","article-title":"An Approach to Build XML-Based Domain Specific Languages Solutions for Client-Side Web Applications","volume":"49","author":"Chavarriaga","year":"2017","journal-title":"Comput. Lang. Syst. Struct."},{"key":"ref_45","doi-asserted-by":"crossref","first-page":"1284","DOI":"10.1109\/32.106988","article-title":"Cyclomatic Complexity Density and Software Maintenance Productivity","volume":"17","author":"Gill","year":"1991","journal-title":"IEEE Trans. Softw. Eng."},{"key":"ref_46","first-page":"3","article-title":"Measuring Usability with the Use Questionnaire12","volume":"8","author":"Lund","year":"2001","journal-title":"Usability Interface"},{"key":"ref_47","doi-asserted-by":"crossref","first-page":"319","DOI":"10.2307\/249008","article-title":"Perceived Usefulness, Perceived Ease of Use, and User Acceptance of Information Technology","volume":"13","author":"Davis","year":"1989","journal-title":"MIS Q."},{"key":"ref_48","doi-asserted-by":"crossref","first-page":"267","DOI":"10.1080\/014492997119833","article-title":"A Proposed Index of Usability: A Method for Comparing the Relative Usability of Different Software Systems","volume":"16","author":"Lin","year":"1997","journal-title":"Behav. Inf. Technol."},{"key":"ref_49","unstructured":"(2025, July 10). MySQL. Employees Sample Database. MySQL Documentation, Oracle Corporation. Available online: https:\/\/dev.mysql.com\/doc\/employee\/en\/."},{"key":"ref_50","unstructured":"Rojas, P.L.A., Truyol, M.E., Calderon Maureira, J.F., Orellana Qui\u00f1ones, M., and Puente, A. (2020, January 19\u201324). Qualitative Evaluation of the Usability of a Web-Based Survey Tool to Assess Reading Comprehension and Metacognitive Strategies of University Students. Proceedings of the Social Computing and Social Media. Design, Ethics, User Behavior, and Social Network Analysis: 12th International Conference, SCSM 2020, Held as Part of the 22nd HCI International Conference, HCII 2020, Proceedings, Copenhagen, Denmark,."}],"container-title":["Future Internet"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/1999-5903\/17\/8\/346\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,9]],"date-time":"2025-10-09T18:19:44Z","timestamp":1760033984000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/1999-5903\/17\/8\/346"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,7,31]]},"references-count":50,"journal-issue":{"issue":"8","published-online":{"date-parts":[[2025,8]]}},"alternative-id":["fi17080346"],"URL":"https:\/\/doi.org\/10.3390\/fi17080346","relation":{},"ISSN":["1999-5903"],"issn-type":[{"type":"electronic","value":"1999-5903"}],"subject":[],"published":{"date-parts":[[2025,7,31]]}}}