Generation of POJOs and DAOs Classes from Metadata Database

Authors

Keywords:

Plain Old Java Objects, Data Access Objects, Object Relational Mapping, Database, Database Management System, Persistence Layer, ORM frameworks, EBNF, ANTLR, XML, METADATA

Abstract

Implementing the persistence layer is a task that the Object Relational Mapping (ORMs) tools have standardized through diverse frameworks and Application Programming Interfaces (APIs). However, these ORMs and APIs have some inconveniences related to their configuration process and the time and effort it takes to learn them, amongst others. For example, every time a database is used, a configuration process is realized to map the database to obtain Plain Old Java Objects (POJOs) and Data Access Objects (DAOs). In order to overcome those disadvantages, this work contributes by proposing a reusable and extensible process that supports the automatic generation of POJOs and DAOs from database scheme metadata, through the specification of an Extended Backus–Naur Form (EBNF) grammar. A tool named GenPOJO was developed in order to test the process. Unlike the existing ORMs, the proposed process does not require the configuration steps for each database. In addition, GenPOJO does not require time to learn since the only input it receives is a file in XML (eXtensible Markup Language) format containing the database scheme metadata.

Downloads

Download data is not yet available.

Author Biographies

Juan Rojas, IEEE member

Juan C. Rojas Pérez. Doctor en Ciencias de la Computación por el Centro Nacional de Investigación y Desarrollo Tecnológico (CENIDET), México. Sus áreas de interés son: Patrones de Diseño, Inteligencia de Negocios, Bases de Datos Aplicadas a Ingeniería de Software, Procesamiento de Lenguaje Natural e Ingeniería de Software Aplicada al Big Data.

Olivia Fragoso, TecNM/Centro Nacional de Investigación y Desarrollo Tecnológico

Fragoso Díaz Olivia Graciela. Licenciada en Informática egresada del Instituto Tecnológico de Durango, obtuvo el grado de maestría en UMIST UK en 1995 y el grado de Doctor en 2012 en el Centro Nacional de Investigación y Desarrollo Tecnológico (CENIDET), México. Desde Septiembre de 1995 es investigadora en el área de Ingeniería de Software en CENIDET. Actualmente sus áreas de investigación son: Ingeniería de Software, Tecnologías de Software para E- learning, Reusabilidad del Software, Clasificación y Recuperación de Servicios Web, Calidad de Software y Procesos de Software. Es miembro del Sistema Nacional de Investigadores nivel I y es Senior Member del IEEE desde 2004.

Rene Santaolaya, TecNM/Centro Nacional de Investigación y Desarrollo Tecnológico

Santaolaya Salgado René. Doctor en Ciencias de la Computación por el Centro de Investigación en Computación del Instituto Politécnico Nacional (CIC-IPM), México. Actualmente es investigador del Centro Nacional de Investigación y Desarrollo Tecnológico (CENIDET), México. Es Senior Member del IEEE y es responsable de gestión de negocios de la norma NMX-I-059/02-NYCE-2005. Su área de interés es la Ingeniería de Software, específicamente en: Modelos de Procesos de Software, Reingeniería de Software Legado, Reusabilidad de Software, Arquitecturas de Software, Arquitecturas Orientadas a Servicios, Servicios Web, Microservicios y Aplicaciones Novedosas de TI.

Juan Soto, TecNM/Centro Nacional de Investigación y Desarrollo Tecnológico

Soto Orduño Juan Carlos. Licenciado en Ingeniería de Sistemas Computacionales por el Instituto Tecnológico Superior de Cajeme, Ciudad Obregón, Sonora, México en 2015. Trabajó como analista desarrollador en diferentes compañías en la región noroeste de México. Actualmente es alumno del programa de maestría en ciencias de la computación en el Centro Nacional de Investigación y Desarrollo Tecnológico, Cuernavaca, Morelos, México.

References

D. Neha, A. Emad, and T. M. Hussein, “Review on JPA BaseORM Data Persistence Framework,” International Journal of Computer Theory and Engineering, vol. 9, no. 5, Oct. 2017.

S. Anuj, and P. N. Barwal, “JOOQ-JAVA OBJECT ORIENTED QUERYING,” International Journal of Research in Engineering and Technology, vol. 3, no. 9, pp. 315–319, 2014.

W. Quinglin, H. Yanzhong, and W. Yang., “Research on Data Persistence Layer Based on Hibernate Framework,” 2010 2nd International Workshop on Intelligent Systems and Applications, 2010, pp. 1-4.

R. M'hamed, M. Samir, “Model-Driven Generation of MVC2 Web Applications: From Models to Code,” International Journal of Engineering and Applied Computer Science (IJEACS), vol. 02, Issue: 07, 2017.

V. Crespín, and L. David, “Aplicación móvil de facturación electrónica para la empresa Bigdata C.A. a través de una arquitectura distribuida interoperable,” I.S. thesis, Dept. Ciencias Comp., Univ. de las Fuerzas Armadas, Ecuador, 2017.

R. Rajesh, “Specification of Data Access Objects and Persistence Layer for Problem-Specific Mobility Information Systems,” M.S. thesis, Tampere Technology Univ., Finland, 2016.

Y. K. Nassima, S. Michal, and M. Rachida, “Generating Database Access Code From Domain Models,” Proceedings of the Federated Conference on Computer Science and Information Systems, 2015, pp. 991–996.

J.C. Meng, C.D. Shi and L.M. Luo, “Performance Optimization of Teaching Web Application Based SSH Framework,” Software Engineering and Information Technology, 2015, pp. 93-98.

P. V. Rubén, C. C. Alejandro, R. S. Adriana, and C. R. Juan Carlos, “Personalized Knowledge Management in Environments of Web-Based Education,” International Journal of Information Technology & Decision Making, vol. 12, no. 02, 2013, pp. 277-307.

C. C. Emilia, E. Eduard, and L. Monica, “The Necessity of Implementation Monitoring Framework Using Open Source Technologies in Romanian Information Systems Market,” World Scientific Proceedings Series on Computer Engineering and Information Science, Decision Making Systems in Business Administration, 2013, pp. 321-328.

E. Redouane, E. Mohammed, E. Fouad, and A. Mohamed, “Model-to-Model Transformation in Approach by Modeling to Generate a RIA Model with GWT,” International Conference on Information Technology and Communication Systems ITCS, 2017, 2017, pp. 82-94.

D. Ponnekanti, P. J. Naga Durga, and V. Surendra, “Sales Management Portal,” Governors State Univ. OPUS Open Portal to University Scholarship, Illinois, 2017.

C. Wei, and Z. Naihai, “Research and Development of Filing Management System of School Personnel Information Based on Web,” Journal of Applied Science and Engineering Innovation, vol.4, no.4, pp. 127-130, 2017.

W. Lin, “Web-based Software Reengineering: A case study on next generation product-selection system,” Kth Royal Institute of Technology School of Information and Communication Technology, Stockholm Sweden, 2017.

H. M. José, “Herramienta para la Monitorización de la Distribución de Documentos,” I.S. thesis, Depto. de Tecnologías de Información, Castilla-La Mancha Univ., Spain, 2017.

A. Saeed, “Remote Health Service System based on Struts2 and Hibernate,” M.S. thesis, Computer Science and Information Technology, St. Cloud State Univ., Minnesota, 2017.

M. Ahmed, “Implementation of Course Scoring System Based on Spring MVC and Hibernate,” M.S. thesis, Computer Science and Information Technology, St. Cloud State Univ., Minnesota, 2016.

R. Lakshmi, “Development of E-Institute Management System Based on Integrated SSH Framework,” International Journal of Emerging Trends & Technology in Computer Science (IJETTCS), vol. 5, Issue 3, 2016.

D. S. L. Carlos, “Full Stack Application Generation for Insurance Sales based on Product Models,” M.S. thesis, Instituto Superior de Engenharia do Porto, 2016.

G. Elene, “Developing a RESTful Web Application for GAL System,” M.S. thesis, School of Technology and Management of Bragança, Portugal, 2016.

V. A. Alfred, and S. Ravi, and U. Jeffrey , “Un Compilador sencillo de una pasada,” in Compiladores: Principios, técnicas y herramientas, pp. 25-40, 1998.

“T. Parr, What is ANTLR?.” [Online]. Available: http://www.antlr.org/, [Accessed: 18-May-2020].

“Oracle, MySQL Workbench 6.2.” [Online]. Available: http://www.mysql.com/products/workbench/.

“FabForce Fabulous Force Databse Tools.” [Online]. Available: http://fabforce.eu/dbdesigner4/, 2003. [Accessed: 12-May-2020].

“Moodle.” [Online]. Available: https://download.moodle.org/, [Accessed: 10-Nov-2019].

“Sanatorio Fatima de Cordoba.” [Online]. Available: https://www.cylex.mx/c%25c3%25b3rdoba- c%25c3%25b3rdoba/sanatorio+fatima+de+córdoba-11228996.html. [Accessed: 25-Nov-2020].

A. E. Danny, and A. I. Fernando, "Hibernate and spring - An analysis of maintainability against performance," Revista Facultad de Ingeniería, Universidad de Antioquia, no. 80, 2016, pp. 97-108.

Y. Cong, C. Alvin, Y. Junwen, and L. Shan, "Understanding Database Performance Inefficiencies in Real-world Web Applications," CIKM'17: Proceedings of the 2017 ACM on Conference on Information and Knowledge Management, 2017, pp. 1299-1308.

C. Tse-Hsun, S. Weiyi, M. J. Zhen, H. Ahmed E., N. Mohamed, and F. Parminder, "Detecting Performance Anti-patterns for Applications Developed using Object-Relational Mapping," ICSE 2014: Proceedings of the 36th International Conference on Software Engineering, 2014.

C. Tse-Hsun, S. Weiyi, Y. Jinqiu, H. Ahmed E., Godfrey. Michael W., N. Mohamed, and F. Parminder, "An Empirical Study on the Practice of Maintaining Object-Relational Mapping Code in Java Systems," IEEE/ACM 13th Working Conference on Mining Software Repositories (MSR), 2016.

P. Kai, F. Robert, M. Shahid, and M. Michael, “Systematic Mapping Studies in Software Engineering”, School of Engineering, Blekinge Institute of Technology, 2008.

NetBeans. [Online]. Available: https://netbeans.org/. [Accessed: 25- Ene-2017].

E. O'Neil, “Object/relational mapping 2008: hibernate and the entity data model (edm),” Proceedings of the 2008 ACM SIGMOD international conference on Management of data, pp. 1351- 1356, 2008.

S. D. Gonzalo, y V. Andreu, Compiladores e intérpretes: un enfoque pragmático, México. 1989.

”E.J. García, J.A. Troyano Guía práctica de ANTLR 2.7.2.” [Online]. Available: http://www.lsi.us.es/~troyano/documentos/guia.pdf, [Accessed: 12-Ene-2019].

G. Erich, H. Richard, J. Ralph, and V. John., Patrones de Diseño, 2002.

Downloads

Published

2021-03-13

How to Cite

Rojas, J., Fragoso, O., Santaolaya, R., & Soto, J. (2021). Generation of POJOs and DAOs Classes from Metadata Database. IEEE Latin America Transactions, 18(9), 1547–1554. Retrieved from https://latamt.ieeer9.org/index.php/transactions/article/view/2536