Desarrollo de un plugin para la generación de clases de java de forma automatizada para la empresa Artifex Tech SAS

Este proyecto se enfocó en el desarrollo de un plugin Java basado en Spring Boot para automatizar la generación de código en la capa de acceso a datos para bases de datos SQL Server. El objetivo principal fue optimizar la eficiencia y escalabilidad del proceso, liberando a los desarrolladores de tar...

Full description

Autores:
Agudelo Pineda, Carlos Alberto
Tipo de recurso:
Fecha de publicación:
2024
Institución:
Politécnico Colombiano Jaime Izasa Cadavid
Repositorio:
ICARUS
Idioma:
spa
OAI Identifier:
oai:repositorio.elpoli.edu.co:123456789/9042
Acceso en línea:
https://repositorio.elpoli.edu.co/handle/123456789/9042
Palabra clave:
Java
SQL
Artifex Tech SAS
Java (Lenguaje de programación de computadores)
SQL (Lenguaje de programación de computadores)
Spring Boot
Rights
License
http://creativecommons.org/licenses/by-nc/4.0/
id ICARUS2_acdf49c0c62ffd98c372e5b3f0de6f03
oai_identifier_str oai:repositorio.elpoli.edu.co:123456789/9042
network_acronym_str ICARUS2
network_name_str ICARUS
repository_id_str
dc.title.none.fl_str_mv Desarrollo de un plugin para la generación de clases de java de forma automatizada para la empresa Artifex Tech SAS
title Desarrollo de un plugin para la generación de clases de java de forma automatizada para la empresa Artifex Tech SAS
spellingShingle Desarrollo de un plugin para la generación de clases de java de forma automatizada para la empresa Artifex Tech SAS
Java
SQL
Artifex Tech SAS
Java (Lenguaje de programación de computadores)
SQL (Lenguaje de programación de computadores)
Spring Boot
title_short Desarrollo de un plugin para la generación de clases de java de forma automatizada para la empresa Artifex Tech SAS
title_full Desarrollo de un plugin para la generación de clases de java de forma automatizada para la empresa Artifex Tech SAS
title_fullStr Desarrollo de un plugin para la generación de clases de java de forma automatizada para la empresa Artifex Tech SAS
title_full_unstemmed Desarrollo de un plugin para la generación de clases de java de forma automatizada para la empresa Artifex Tech SAS
title_sort Desarrollo de un plugin para la generación de clases de java de forma automatizada para la empresa Artifex Tech SAS
dc.creator.fl_str_mv Agudelo Pineda, Carlos Alberto
dc.contributor.advisor.none.fl_str_mv Puche Plaza, William Segundo
dc.contributor.author.none.fl_str_mv Agudelo Pineda, Carlos Alberto
dc.subject.none.fl_str_mv Java
SQL
Artifex Tech SAS
Java (Lenguaje de programación de computadores)
SQL (Lenguaje de programación de computadores)
Spring Boot
topic Java
SQL
Artifex Tech SAS
Java (Lenguaje de programación de computadores)
SQL (Lenguaje de programación de computadores)
Spring Boot
description Este proyecto se enfocó en el desarrollo de un plugin Java basado en Spring Boot para automatizar la generación de código en la capa de acceso a datos para bases de datos SQL Server. El objetivo principal fue optimizar la eficiencia y escalabilidad del proceso, liberando a los desarrolladores de tareas repetitivas y propensas a errores humanos. Para lograrlo, se analizó la estructura de metadatos de SQL Server, incluyendo tablas, procedimientos almacenados, tipos de datos y relaciones. Esta información fue crucial para la generación de código Java. Se diseñaron clases Java funcionales, siguiendo las mejores prácticas de programación y los principios SOLID, optimizadas para Spring Boot y en conformidad con las reglas PMD establecidas por los arquitectos. La conexión a la base de datos se realizó mediante JDBC, implementando la lógica para la extracción automatizada de metadatos. Se utilizó Velocity como motor de plantillas para generar código Java limpio y legible a partir de la información extraída. Además, se incorporó la generación de datos de prueba para facilitar la validación del código generado. La funcionalidad del plugin se verificó rigurosamente mediante pruebas unitarias con JUnit. Su usabilidad se validó en aplicaciones web modernizadas, empleando los módulos de acceso a datos generados por el plugin. Reflection, JDBC, Velocity, Pruebas unitarias.
publishDate 2024
dc.date.issued.none.fl_str_mv 2024
dc.date.accessioned.none.fl_str_mv 2025-04-28T15:49:20Z
dc.date.available.none.fl_str_mv 2025-04-28T15:49:20Z
dc.type.none.fl_str_mv http://purl.org/redcol/resource_type/TP
dc.type.coar.fl_str_mv http://purl.org/coar/resource_type/c_7a1f
dc.identifier.other.none.fl_str_mv TIIN1078
dc.identifier.uri.none.fl_str_mv https://repositorio.elpoli.edu.co/handle/123456789/9042
identifier_str_mv TIIN1078
url https://repositorio.elpoli.edu.co/handle/123456789/9042
dc.language.iso.fl_str_mv spa
language spa
dc.rights.none.fl_str_mv http://creativecommons.org/licenses/by-nc/4.0/
dc.rights.cc.none.fl_str_mv http://purl.org/coar/access_right/c_abf2
rights_invalid_str_mv http://creativecommons.org/licenses/by-nc/4.0/
http://purl.org/coar/access_right/c_abf2
dc.format.none.fl_str_mv http://purl.org/coar/resource_type/c_18cf
dc.publisher.none.fl_str_mv Politécnico Colombiano Jaime Isaza Cadavid
dc.publisher.department.none.fl_str_mv Facultad de Ingeniería
dc.publisher.program.none.fl_str_mv Ingenería Informática
publisher.none.fl_str_mv Politécnico Colombiano Jaime Isaza Cadavid
institution Politécnico Colombiano Jaime Izasa Cadavid
bitstream.url.fl_str_mv https://repositorio.elpoli.edu.co/bitstreams/85f98ad7-1333-49ab-90c9-3223f6d1c716/download
https://repositorio.elpoli.edu.co/bitstreams/9d19bbbf-73cc-4bc9-8930-f46256fc8b73/download
bitstream.checksum.fl_str_mv 642f93b35eb56513c4d14578dcf73516
58bc8986de73333aa225934e938fa96b
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
repository.name.fl_str_mv Repositorio Institucional POLIJIC
repository.mail.fl_str_mv repositorio.polijic@gmail.com
_version_ 1838572284427632640
spelling Puche Plaza, William SegundoAgudelo Pineda, Carlos Alberto2025-04-28T15:49:20Z2025-04-28T15:49:20Z2024Este proyecto se enfocó en el desarrollo de un plugin Java basado en Spring Boot para automatizar la generación de código en la capa de acceso a datos para bases de datos SQL Server. El objetivo principal fue optimizar la eficiencia y escalabilidad del proceso, liberando a los desarrolladores de tareas repetitivas y propensas a errores humanos. Para lograrlo, se analizó la estructura de metadatos de SQL Server, incluyendo tablas, procedimientos almacenados, tipos de datos y relaciones. Esta información fue crucial para la generación de código Java. Se diseñaron clases Java funcionales, siguiendo las mejores prácticas de programación y los principios SOLID, optimizadas para Spring Boot y en conformidad con las reglas PMD establecidas por los arquitectos. La conexión a la base de datos se realizó mediante JDBC, implementando la lógica para la extracción automatizada de metadatos. Se utilizó Velocity como motor de plantillas para generar código Java limpio y legible a partir de la información extraída. Además, se incorporó la generación de datos de prueba para facilitar la validación del código generado. La funcionalidad del plugin se verificó rigurosamente mediante pruebas unitarias con JUnit. Su usabilidad se validó en aplicaciones web modernizadas, empleando los módulos de acceso a datos generados por el plugin. Reflection, JDBC, Velocity, Pruebas unitarias.http://purl.org/coar/resource_type/c_18cfTIIN1078https://repositorio.elpoli.edu.co/handle/123456789/9042Politécnico Colombiano Jaime Isaza CadavidFacultad de IngenieríaIngenería Informáticahttp://creativecommons.org/licenses/by-nc/4.0/http://purl.org/coar/access_right/c_abf2JavaSQLArtifex Tech SASJava (Lenguaje de programación de computadores)SQL (Lenguaje de programación de computadores)Spring BootDesarrollo de un plugin para la generación de clases de java de forma automatizada para la empresa Artifex Tech SAShttp://purl.org/redcol/resource_type/TPhttp://purl.org/coar/resource_type/c_7a1fspaLICENSElicense.txtlicense.txttext/plain; charset=utf-82614https://repositorio.elpoli.edu.co/bitstreams/85f98ad7-1333-49ab-90c9-3223f6d1c716/download642f93b35eb56513c4d14578dcf73516MD51ORIGINALTIIN1078.pdfTIIN1078.pdfapplication/pdf29346https://repositorio.elpoli.edu.co/bitstreams/9d19bbbf-73cc-4bc9-8930-f46256fc8b73/download58bc8986de73333aa225934e938fa96bMD51123456789/9042oai:repositorio.elpoli.edu.co:123456789/90422025-05-20 14:58:50.862https://repositorio.elpoli.edu.coRepositorio Institucional POLIJICrepositorio.polijic@gmail.comTElDRU5DSUEgREUgUFVCTElDQUNJw5NOIERFIERPQ1VNRU5UTwoKRUwgQVVUT1IsIG1hbmlmaWVzdGEgcXVlIGxhIG9icmEgb2JqZXRvIGRlIGxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gZXMgb3JpZ2luYWwKeSBsYSByZWFsaXrDsyBzaW4gdmlvbGFyIG8gdXN1cnBhciBkZXJlY2hvcyBkZSBhdXRvciBkZSB0ZXJjZXJvcywgcG9yIGxvIHRhbnRvLApsYSBvYnJhIGVzIGRlIGV4Y2x1c2l2YSBhdXRvcsOtYSB5IHRpZW5lIGxhIHRpdHVsYXJpZGFkIHNvYnJlIGxhIG1pc21hLgoKUEFSw4FHUkFGTzogRW4gY2FzbyBkZSBwcmVzZW50YXJzZSBjdWFscXVpZXIgcmVjbGFtYWNpw7NuIG8gYWNjacOzbiBwb3IgcGFydGUKZGUgdW4gdGVyY2VybyBlbiBjdWFudG8gYSBsb3MgZGVyZWNob3MgZGUgYXV0b3Igc29icmUgbGEgb2JyYSBlbiBjdWVzdGnDs24sCkVMIEFVVE9SLCBhc3VtaXLDoSB0b2RhIGxhIHJlc3BvbnNhYmlsaWRhZCwgeSBzYWxkcsOhIGVuIGRlZmVuc2EgZGUgbG9zIGRlcmVjaG9zCmFxdcOtIGF1dG9yaXphZG9zOyBwYXJhIHRvZG9zIGxvcyBlZmVjdG9zIGxhIHVuaXZlcnNpZGFkIGFjdMO6YSBjb21vIHVuIHRlcmNlcm8KZGUgYnVlbmEgZmUuCgpFTCBBVVRPUiwgYXV0b3JpemEgYWwgUG9saXTDqWNuaWNvIENvbG9tYmlhbm8gSmFpbWUgSXNhemEgQ2FkYXZpZCwgcGFyYSBxdWUKZW4gbG9zIHTDqXJtaW5vcyBlc3RhYmxlY2lkb3MgZW4gbGEgbGV5IDIzIGRlIDE5ODIsIGxleSA0NCBkZSAxOTkzLApkZWNpc2nDs24gQW5kaW5hIDM1MSBkZSAxOTkzLCBEZWNyZXRvIDQ2MCBkZSAxOTk1IHkgZGVtw6FzIG5vcm1hcyBnZW5lcmFsZXMKc29icmUgbGEgbWF0ZXJpYSwgbGEgcHVibGljYWNpw7NuIGRlIGxvcyBtZXRhZGF0b3MgYXF1w60gcmVnaXN0cmFkb3MgcGFyYSBmaW5lcwphY2Fkw6ltaWNvcyBlIGludmVzdGlnYXRpdm9zLiBFbiBmdW5jacOzbiBkZSBsbyBjdWFsLCBhbCBmaXJtYXIgeSBlbnZpYXIgZXN0YSBsaWNlbmNpYSwKRUwgQVVUT1Igb3RvcmdhIGFsIFBvbGl0w6ljbmljbyBDb2xvbWJpYW5vIEphaW1lIElzYXphIENhZGF2aWQgZWwgZGVyZWNobyBOTyBFWENMVVNJVk8KZGUgYWxtYWNlbmFyLCByZXByb2R1Y2lyLCB0cmFkdWNpciB5IGRpdnVsZ2FyIGxvcyBtZXRhZGF0b3MgYXF1w60gcmVnaXN0cmFkb3MgZW4gZm9ybWF0bwppbXByZXNvLCBlbGVjdHLDs25pY28geSBlbiBjdWFscXVpZXIgbWVkaW8sIGluY2x1eWVuZG8sIHBlcm8gbm8gbGltaXRhZG8gYSBhdWRpbyBvIHbDrWRlbzsKeSBhY2VwdGEgcXVlIGVsIFBvbGl0w6ljbmljbyBDb2xvbWJpYW5vIEphaW1lIElzYXphIENhZGF2aWQgcHVlZGUsIFNJTiBNT0RJRklDQVIKRUwgQ09OVEVOSURPIHkgUkVTUEVUQU5UTyBMT1MgREVSRUNIT1MgTU9SQUxFUywgZGlzcG9uZXIgZGUgbGEgcmVjdXBlcmFjacOzbiBkZSBpbmZvcm1hY2nDs24KcG9yIHBhcnRlIGRlIGNvc2VjaGFkb3JlcyBkZSBpbmZvcm1hY2nDs24gYXZhbGFkb3MgcG9yIGVsIFBvbGl0w6ljbmljbyBDb2xvbWJpYW5vIEphaW1lIElzYXphIENhZGF2aWQKeSBxdWUgZXN0b3MgbWV0YWRhdG9zIHNlYW4gcmVjdXBlcmFibGVzIHkgYWNjZXNpYmxlcyBjb24gZmluZXMgYWNhZMOpbWljb3MgZSBpbnZlc3RpZ2F0aXZvcy4KCkxvIGFudGVyaW9yLCBTSU4gUVVFIEVTVE8gQ09OTExFVkUgQSBRVUUgQUwgUG9saXTDqWNuaWNvIENvbG9tYmlhbm8gSmFpbWUgSXNhemEgQ2FkYXZpZApFU1TDiSBPQkxJR0FEQSBBIEJSSU5EQVIgQ09NUEVOU0FTScOTTiBNT05FVEFSSUEgQUwgQVVUT1IgcG9yIGFjdGl2aWRhZGVzIGRlIGRpdnVsZ2FjacOzbgp5IGxvcyBwb3NpYmxlcyBiZW5lZmljaW9zIGVjb27Ds21pY29zIHF1ZSBlc3RhIGRpdnVsZ2FjacOzbiBwdWVkYSBnZW5lcmFyIHBhcmEgZWwKUG9saXTDqWNuaWNvIENvbG9tYmlhbm8gSmFpbWUgSXNhemEgQ2FkYXZpZC4KCi0tLS0tLS0tLS0KUE9Mw41USUNBIERFIFRSQVRBTUlFTlRPIERFIERBVE9TIFBFUlNPTkFMRVMuCkRlY2xhcm8gcXVlIGF1dG9yaXpvIHByZXZpYSB5IGRlIGZvcm1hIGluZm9ybWFkYSBlbCB0cmF0YW1pZW50byBkZSBtaXMgZGF0b3MgcGVyc29uYWxlcwpwb3IgcGFydGUgZGVsIFBvbGl0w6ljbmljbyBDb2xvbWJpYW5vIEphaW1lIElzYXphIENhZGF2aWQgcGFyYSBmaW5lcyBhY2Fkw6ltaWNvcyB5IGVuCmFwbGljYWNpw7NuIGRlIGNvbnZlbmlvcyBjb24gdGVyY2Vyb3MgbyBzZXJ2aWNpb3MgY29uZXhvcyBjb24gYWN0aXZpZGFkZXMgcHJvcGlhcyBkZQpsYSBhY2FkZW1pYSwgY29uIGVzdHJpY3RvcyBjdW1wbGltaWVudG9zIGRlIGxvcyBwcmluY2lwaW9zIGRlIGxleSAxNTgxIGRlIDIwMTIuCgpEZSBpZ3VhbCBmb3JtYSBlbiBmdW5jacOzbiBkZWwgY29ycmVjdG8gZWplcmNpY2lvIGRlIG1pIGRlcmVjaG8gZGUgaGFiZWFzIGRhdGEgcHVlZG8KZW4gY3VhbHF1aWVyIG1vbWVudG8sIHByZXZpYSBpZGVudGlmaWNhY2nDs24sIHNvbGljaXRhciBsYSBjb25zdWx0YSwgY29ycmVjY2nDs24geQpzdXByZXNpw7NuIGRlIG1pcyBkYXRvcyBwb3IgbWVkaW8gZGUgY29tdW5pY2FjacOzbiBvZmljaWFsIGRpcmlnaWRhIGFsIFBvbGl0w6ljbmljbyBDb2xvbWJpYW5vIEphaW1lIElzYXphIENhZGF2aWQuCg==