Abstracción de tecnología subyacente y gestión de dominios en frameworks de desarrollo: revisión sistemática de literatura
Resumen
Tanto las compañías de desarrollo de software como las empresas que implementan sus aplicativos in house suelen enfocar el diseño de sus productos de software utilizando diversos frameworks de desarrollo que facilitan, out of the box, la rápida implementación de los requisitos funcionales orientados a nichos específicos, como es el caso de aplicaciones web. No obstante, estos suelen perder el foco en la correcta gestión del backend en lo que respecta a la gestión de dominios de aplicación y el encapsulamiento y abstracción de las tecnologías subyacentes, es decir, no brindar herramientas o mecanismos de diseño para facilitar dicha abstracción. En este artículo, se pretende, a través de una revisión sistemática de literatura, analizar la existencia de investigaciones académicas que arrojen como resultado metodologías o protocolos válidos para el modelado de frameworks orientados al diseño de backends que permitan el encapsulamiento y la abstracción de la tecnología subyacente, a través del uso de dominios de aplicación válidos desde la perspectiva ontológica.
Descargas
Citas
Aliyu, M. (2017). Efficiency of Boolean search strings for information retrieval. American Journal of Engineering Research, 6(11), 216-222. https://www.ajer.org/papers/v6(11)/ZA0611216222.pdf
Alonso, D., Sánchez-Ledesma, F., Sánchez, P., Pastor, J. A., & Álvarez, B. (2014). Models and frameworks: A synergistic association for developing component-based applications. The Scientific World Journal, 2014(1), 687346. https://doi.org/10.1155/2014/687346
Alrumaih, H., Mirza, A., & Alsalamah, H. (2020). Domain ontology for requirements classification in requirements engineering context. IEEE Access, 8, 89899-89908. https://doi.org/10.1109/ACCESS.2020.2993838
Asaad, J., & Avksentieva, E. (2024). A review of approaches to detecting software design patterns. 2024 35th Conference of Open Innovations Association (FRUCT), 142-148. https://doi.org/10.23919/FRUCT61870.2024.10516345
ASP.NET Boilerplate. (s. f.). Web application framework. https://aspnetboilerplate.com/
BibTeX. (s. f.). Your BibTeX resources. https://www.bibtex.org/
Bjørner, D. (2006). Software engineering. 3: Domains, requirements, and software design. Springer.
Braun, G. A., Estevez, E., & Fillottrani, P. (2019). A reference architecture for ontology engineering web environments. Journal of Computer Science and Technology, 19(01), e03. https://doi.org/10.24215/16666038.19.e03
Cambarieri, M., Difabio, F., & García Martínez, N. (2020). Implementación de una arquitectura de software guiada por el dominio. En XXI Simposio Argentino de Ingeniería de Software (ASSE 2020) - JAIIO 49 (Modalidad virtual) [Simposio]. http://sedici.unlp.edu.ar/handle/10915/115198
Cockburn, A. (2005, 4 de enero). The hexagonal (ports & adapters) architecture. Alistair Cockburn. https://alistair.cockburn.us/hexagonal-architecture/
Cockburn, A., & Garrido de Paz, J. M. (2024). Hexagonal architecture explained. How the ports & adapters architecture simplifies your life, and how to implement it. Humans and Technology Inc.
Evans, E. (2004). Domain-driven design: Tackling complexity in the heart of software. Addison-Wesley.
Freitas, V. (s. f.). Parsifal [Registro de datos]. GitHub. https://github.com/vitorfs/parsifal
Gamma, E., Helm, R., Johnson, R., & Vlissides, J. (2011). Design patterns: Elements of reusable object-oriented software. Addison-Wesley.
Garousi, V., Felderer, M., & Mäntylä, M. V. (2019). Guidelines for including grey literature and conducting multivocal literature reviews in software engineering. Information and Software Technology, 106, 101-121. https://doi.org/10.1016/j.infsof.2018.09.006
Gašević, D., Djurić, D., & Devedžić, V. (2006). Model driven architecture and ontology development. Springer.
Greenhalgh, T., & Peacock, R. (2005). Effectiveness and efficiency of search methods in systematic reviews of complex evidence: Audit of primary sources. BMJ, 331(7524), 1064-1065. https://doi.org/10.1136/bmj.38636.593461.68
Heineman, G. T., & Councill, W. T. (Eds.). (2001). Component-based software engineering: Putting the pieces together. Addison-Wesley.
Hinderks, A., Domínguez Mayo, F. J., Thomaschewski, J., & Escalona, M. J. (2022). Approaches to manage the user experience process in agile software development: A systematic literature review. Information and Software Technology, 150, 106957. https://doi.org/10.1016/j.infsof.2022.106957
Iyer, V., Sanagavarapu, L. M., & Reddy, R. (2021). A framework for syntactic and semantic quality evaluation of ontologies. En R. Krishnan, H. R. Rao, S. K. Sahaym, S. Samtani & Z. Zhao (Eds), Secure knowledge management in the artificial intelligence era (pp. 73-93). https://doi.org/10.1007/978-3-030-97532-6_5
Johnson, R. E., & Foote, B. (1988). Designing reusable classes. Journal of Object-Oriented Programming, 1(2), 22-35.
Jurišić, M., & Kermek, D. (2014). Application framework development and design patterns: Current state and prospects. Central European Conference on Information and Intelligent Systems, 306-344.
Kitchenham, B. A., & Charters, S. (2007). Guidelines for performing systematic literature reviews in software engineering version 2.3. Keele University. https://www.elsevier.com/__data/promis_misc/525444systematicreviewsguide.pdf
Lei, G., Yu, F., & Shulin, P. (2011). Software framework construction based on plug-in technology. En 2011 International Conference on Computational and Information Sciences (pp. 762-764). IEEE. https://doi.org/10.1109/ICCIS.2011.255
Lo, K. W. K., Tang, W. W. W., Ngai, G., Chan, S. C. F., & Tse, J. T. P. (2010). Introduction to a framework for multi-modal and tangible interaction. 2010 IEEE International Conference on Systems, Man and Cybernetics (pp. 3001-3007). IEEE. https://doi.org/10.1109/ICSMC.2010.5641977
Lopez, G., Servetto, A. C., Echeverría, A., Jeder, I., Grossi, M. D., & Jiménez Rey, E. M. (2011). Ontologías en arquitecturas dirigidas por modelos. En XIII Workshop de Investigadores en Ciencias de la Computación. Repositorio Institucional de la UNLP. http://sedici.unlp.edu.ar/handle/10915/20065
Martin, R. C. (2000). Design principles and design patterns. Object Mentor, 1(34), 597. http://labs.cs.upt.ro/labs/ip2/html/lectures/2/res/Martin-PrinciplesAndPatterns.PDF.
Martin, R. C., Grenning, J., Brown, S., & Henney, K. (2018). Clean architecture: A craftsman’s guide to software structure and design. Prentice Hall.
Martins, J. M. (2024, 26 de febrero). The technological evolution at Mercado Libre. Mercado Libre Tech. https://medium.com/mercadolibre-tech/the-technological-evolution-at-mercado-libre-fb269776a4e8
Negrin, J. (2024, mayo 7). Construyendo una RESTful API con Spring Boot: integración de DDD y arquitectura hexagonal. Medium. https://medium.com/@juannegrin/construyendo-una-restful-api-con-spring-boot-integraci%C3%B3n-de-ddd-y-arquitectura-hexagonal-af824a3a4d05
Ramirez, M. O. G., De-la-Torre, M., & Monsalve, C. (2019). Methodologies for the design of application frameworks: Systematic review. En 2019 8th International Conference On Software Process Improvement (CIMPS) (pp. 1-10). IEEE. https://doi.org/10.1109/CIMPS49236.2019.9082427
Reynares, E., Caliusco, L., & Galli, R. (2012). EDON: A method for building an ontology as software artefact. En XIII Argentine Symposium on Software Engineering (ASSE 2012) (XLI JAIIO, La Plata, 27 al 31 de agosto de 2012) (pp. 324-338). http://sedici.unlp.edu.ar/handle/10915/124015
Richards, M., & Ford, N. (2020). Fundamentals of software architecture: An engineering approach. O’Reilly.
Riehle, D. (2000). Framework design: A role modeling approach [Tesis de doctorado, Swiss Federal Institute of Technology Zurich]. Research Collection ETH Zurich. https://doi.org/10.3929/ethz-a-003867001
Shafranovich, Y. (2005). RFC 4180: Common format and MIME type for comma-separated values (CSV) files. IETF Datatracker. https://datatracker.ietf.org/doc/html/rfc4180
Simoncini, N. (2024). TFEHelper: A tool for the collection and curation of academic articles references [Registro de datos]. GitHub. https://github.com/nicolassimoncini/TFEHelper
Spring. (s. f.). Spring framework [Software]. https://spring.io/
Standards Development Organization. (s. f.). MDA Specifications. http://www.omg.org/mda/specs.htm
Stanford Center for Biomedical Informatics Research. (s. f.). Protégé [Software]. Universida de Standford. https://protege.stanford.edu/
Stanojevic, V., Vlajic, S., Milic, M., & Ognjanovic, M. (2011). Guidelines for framework development process. 2011 7th Central and Eastern European Software Engineering Conference (CEE-SECR), 1-9. https://doi.org/10.1109/CEE-SECR.2011.6188465
Swacha, J., & Kulpa, A. (2023). Evolution of popularity and multiaspectual comparison of widely used web development frameworks. Electronics, 12(17), 3563. https://doi.org/10.3390/electronics12173563
Szyperski, C., Gruntz, D. W., & Murer, S. (2009). Component software: Beyond object-oriented programming (2.a ed.). Addison-Wesley.
Van Gurp, J., & Bosch, J. (2001). Design, implementation and evolution of object oriented frameworks: Concepts and guidelines. Software: Practice and Experience, 31(3), 277-300. https://doi.org/10.1002/spe.366
W3C. (s. f.). OWL. Web ontology language. Overview. https://www.w3.org/TR/owl-features/
Wohlin, C. (2014). Guidelines for snowballing in systematic literature studies and a replication in software engineering. En M. Shepperd, T. Hall & I. Myrtveit (Eds.), Proceedings of the 18th International Conference on Evaluation and Assessment in Software Engineering (pp. 1-10). Association for Computing Machinery. https://doi.org/10.1145/2601248.2601268
Zotero. (s. f.). Your personal research assistant. Digital Scholarship. https://www.zotero.org/

Esta obra está bajo licencia internacional Creative Commons Reconocimiento 4.0.
Los autores/as que publiquen en esta revista aceptan las siguientes condiciones:
Los autores/as conservan los derechos de autor y ceden a la revista el derecho de la primera publicación, con el trabajo registrado con la licencia de atribución de Creative Commons, que permite a terceros utilizar lo publicado siempre que mencionen la autoría del trabajo y a la primera publicación en esta revista.
Los autores/as pueden realizar otros acuerdos contractuales independientes y adicionales para la distribución no exclusiva de la versión del artículo publicado en esta revista (p. ej., incluirlo en un repositorio institucional o publicarlo en un libro) siempre que indiquen claramente que el trabajo se publicó por primera vez en esta revista.
Se permite y recomienda a los autores/as a publicar su trabajo en Internet (por ejemplo en páginas institucionales o personales) antes y durante el proceso de revisión y publicación, ya que puede conducir a intercambios productivos y a una mayor y más rápida difusión del trabajo publicado (vea The Effect of Open Access).
Última actualización: 03/05/21