Desarrollo y certificación de un Sistema Web basado en Microservicios

RESUMEN : En este trabajo se describe el proceso de desarrollo de un sistema web basado en microservicios con comunicación a través de un broker de mensajería. Entre los objetivos está diseñar la arquitectura distribuida, implementar los microservicios utilizando Spring Boot y realizar pruebas funci...

Full description

Autores:
Ballesteros Toro, Yeison David
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2024
Institución:
Universidad de Antioquia
Repositorio:
Repositorio UdeA
Idioma:
spa
OAI Identifier:
oai:bibliotecadigital.udea.edu.co:10495/38577
Acceso en línea:
https://hdl.handle.net/10495/38577
Palabra clave:
Java (equipo virtual)
Java virtual machine
Servidores web
World Wide Servers
Servicio de información en tecnología
Technology - information services
Diseño de página web
Web sites design
Desarrollo
Development
http://aims.fao.org/aos/agrovoc/c_331049
Rights
openAccess
License
https://creativecommons.org/licenses/by-nc-sa/4.0/
id UDEA2_74a3cc3d6c0f09cc02f2c5618473fa34
oai_identifier_str oai:bibliotecadigital.udea.edu.co:10495/38577
network_acronym_str UDEA2
network_name_str Repositorio UdeA
repository_id_str
dc.title.spa.fl_str_mv Desarrollo y certificación de un Sistema Web basado en Microservicios
title Desarrollo y certificación de un Sistema Web basado en Microservicios
spellingShingle Desarrollo y certificación de un Sistema Web basado en Microservicios
Java (equipo virtual)
Java virtual machine
Servidores web
World Wide Servers
Servicio de información en tecnología
Technology - information services
Diseño de página web
Web sites design
Desarrollo
Development
http://aims.fao.org/aos/agrovoc/c_331049
title_short Desarrollo y certificación de un Sistema Web basado en Microservicios
title_full Desarrollo y certificación de un Sistema Web basado en Microservicios
title_fullStr Desarrollo y certificación de un Sistema Web basado en Microservicios
title_full_unstemmed Desarrollo y certificación de un Sistema Web basado en Microservicios
title_sort Desarrollo y certificación de un Sistema Web basado en Microservicios
dc.creator.fl_str_mv Ballesteros Toro, Yeison David
dc.contributor.advisor.none.fl_str_mv Marín Lopera, Gustavo Andrés
dc.contributor.author.none.fl_str_mv Ballesteros Toro, Yeison David
dc.subject.lemb.none.fl_str_mv Java (equipo virtual)
Java virtual machine
Servidores web
World Wide Servers
Servicio de información en tecnología
Technology - information services
Diseño de página web
Web sites design
topic Java (equipo virtual)
Java virtual machine
Servidores web
World Wide Servers
Servicio de información en tecnología
Technology - information services
Diseño de página web
Web sites design
Desarrollo
Development
http://aims.fao.org/aos/agrovoc/c_331049
dc.subject.agrovoc.none.fl_str_mv Desarrollo
Development
dc.subject.agrovocuri.none.fl_str_mv http://aims.fao.org/aos/agrovoc/c_331049
description RESUMEN : En este trabajo se describe el proceso de desarrollo de un sistema web basado en microservicios con comunicación a través de un broker de mensajería. Entre los objetivos está diseñar la arquitectura distribuida, implementar los microservicios utilizando Spring Boot y realizar pruebas funcionales y no funcionales para garantizar la calidad. La implementación se organiza en fases, comenzando con la definición de requisitos y el contexto de la página web. Se destacan los requisitos funcionales y no funcionales, así como el diseño de la arquitectura de microservicio. Se utiliza PostgreSQL en Amazon RDS como base de datos y se mencionan las tecnologías y librerías utilizadas, incluyendo Spring Boot, R2DBC y RabbitMQ. El desarrollo sigue un proceso similar en dos microservicios: uno llamado Reglas y el otro Roles y Permisos. Se describen los archivos de configuración de cada ambiente en el que se va a desplegar el aplicativo, las tecnologías utilizadas y la estructura de las carpetas. Se destacan las pruebas unitarias, de aceptación y de performance, realizadas con JUnit, Karate y JMeter respectivamente, así como las pruebas funcionales (E2E) realizadas con Serenity y el patrón de diseño Screenplay. Por último, también se describe la etapa de despliegue entre ambientes utilizando Docker y Kubernetes, seguido de la ejecución de las pruebas en cada ambiente y la adopción de prácticas de DevOps, incluyendo pipelines de CI/CD y Release Management.
publishDate 2024
dc.date.accessioned.none.fl_str_mv 2024-03-18T12:43:09Z
dc.date.available.none.fl_str_mv 2024-03-18T12:43:09Z
dc.date.issued.none.fl_str_mv 2024
dc.type.spa.fl_str_mv Tesis/Trabajo de grado - Monografía - Pregrado
dc.type.coar.spa.fl_str_mv http://purl.org/coar/resource_type/c_7a1f
dc.type.redcol.spa.fl_str_mv https://purl.org/redcol/resource_type/TP
dc.type.coarversion.spa.fl_str_mv http://purl.org/coar/version/c_b1a7d7d4d402bcce
dc.type.driver.spa.fl_str_mv info:eu-repo/semantics/bachelorThesis
dc.type.version.spa.fl_str_mv info:eu-repo/semantics/draft
format http://purl.org/coar/resource_type/c_7a1f
status_str draft
dc.identifier.uri.none.fl_str_mv https://hdl.handle.net/10495/38577
url https://hdl.handle.net/10495/38577
dc.language.iso.spa.fl_str_mv spa
language spa
dc.rights.uri.spa.fl_str_mv https://creativecommons.org/licenses/by-nc-sa/4.0/
dc.rights.accessrights.spa.fl_str_mv info:eu-repo/semantics/openAccess
dc.rights.coar.spa.fl_str_mv http://purl.org/coar/access_right/c_abf2
rights_invalid_str_mv https://creativecommons.org/licenses/by-nc-sa/4.0/
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.format.extent.spa.fl_str_mv 33
dc.format.mimetype.spa.fl_str_mv application/pdf
dc.publisher.spa.fl_str_mv Universidad de Antioquia
dc.publisher.place.spa.fl_str_mv Medellín, Colombia
dc.publisher.faculty.spa.fl_str_mv Facultad de Ingeniería. Ingeniería de Sistemas
institution Universidad de Antioquia
bitstream.url.fl_str_mv https://bibliotecadigital.udea.edu.co/bitstreams/2db12d90-fe67-4c2a-ad0b-965b886e5f0a/download
https://bibliotecadigital.udea.edu.co/bitstreams/b265e2cc-f539-4486-b2b4-a9ab3acfaf3e/download
https://bibliotecadigital.udea.edu.co/bitstreams/5f845e57-4e05-445d-ade9-7283d183fb10/download
https://bibliotecadigital.udea.edu.co/bitstreams/0d863fa1-7e63-4a81-9ca4-ffa6f1825068/download
bitstream.checksum.fl_str_mv 64c236e9b98044edf864d8f47e909e93
8a4605be74aa9ea9d79846c1fba20a33
08178658d445d5783f5763083c142cf3
6c48ede5691aa294080fa94cb7dc4428
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Institucional de la Universidad de Antioquia
repository.mail.fl_str_mv aplicacionbibliotecadigitalbiblioteca@udea.edu.co
_version_ 1851052539409072128
spelling Marín Lopera, Gustavo AndrésBallesteros Toro, Yeison David2024-03-18T12:43:09Z2024-03-18T12:43:09Z2024https://hdl.handle.net/10495/38577RESUMEN : En este trabajo se describe el proceso de desarrollo de un sistema web basado en microservicios con comunicación a través de un broker de mensajería. Entre los objetivos está diseñar la arquitectura distribuida, implementar los microservicios utilizando Spring Boot y realizar pruebas funcionales y no funcionales para garantizar la calidad. La implementación se organiza en fases, comenzando con la definición de requisitos y el contexto de la página web. Se destacan los requisitos funcionales y no funcionales, así como el diseño de la arquitectura de microservicio. Se utiliza PostgreSQL en Amazon RDS como base de datos y se mencionan las tecnologías y librerías utilizadas, incluyendo Spring Boot, R2DBC y RabbitMQ. El desarrollo sigue un proceso similar en dos microservicios: uno llamado Reglas y el otro Roles y Permisos. Se describen los archivos de configuración de cada ambiente en el que se va a desplegar el aplicativo, las tecnologías utilizadas y la estructura de las carpetas. Se destacan las pruebas unitarias, de aceptación y de performance, realizadas con JUnit, Karate y JMeter respectivamente, así como las pruebas funcionales (E2E) realizadas con Serenity y el patrón de diseño Screenplay. Por último, también se describe la etapa de despliegue entre ambientes utilizando Docker y Kubernetes, seguido de la ejecución de las pruebas en cada ambiente y la adopción de prácticas de DevOps, incluyendo pipelines de CI/CD y Release Management.ABSTRACT : This paper describes the process of developing a web system based on microservices with communication through a messaging broker. The objectives include designing the distributed architecture, deploying the microservices using Spring Boot, and performing functional and nonfunctional tests to ensure quality. The implementation is organized in phases, starting with the definition of requirements and the context of the web page. Functional and non-functional requirements are highlighted, as well as the design of the microservice architecture. It uses PostgreSQL from Amazon RDS as the database and the technologies and libraries used, including Spring Boot, R2DBC, and RabbitMQ, are mentioned. Development follows a similar process in two microservices: one called Reglas and the other Roles y Permisos. The configuration files of each environment in which the application is to be deployed, the technologies used, and the structure of the folders are described. The unit, acceptance, and performance tests, carried out with JUnit, Karate and JMeter respectively are described, as well as the functional tests (E2E) carried out with Serenity and the Screenplay design pattern. At the end, it also describes the cross-environment deployment stage using Docker and Kubernetes, followed by the execution of the tests in each environment and the adoption of DevOps practices, including CI/CD and Release Management pipelines.PregradoIngeniero de Sistemas33application/pdfspaUniversidad de AntioquiaMedellín, ColombiaFacultad de Ingeniería. Ingeniería de Sistemashttps://creativecommons.org/licenses/by-nc-sa/4.0/info:eu-repo/semantics/openAccesshttp://purl.org/coar/access_right/c_abf2Desarrollo y certificación de un Sistema Web basado en MicroserviciosTesis/Trabajo de grado - Monografía - Pregradohttp://purl.org/coar/resource_type/c_7a1fhttps://purl.org/redcol/resource_type/TPhttp://purl.org/coar/version/c_b1a7d7d4d402bcceinfo:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/draftJava (equipo virtual)Java virtual machineServidores webWorld Wide ServersServicio de información en tecnologíaTechnology - information servicesDiseño de página webWeb sites designDesarrolloDevelopmenthttp://aims.fao.org/aos/agrovoc/c_331049PublicationORIGINALBallesterosYeison_2024_DesarrolloCertificaciónMicroservicios.pdfBallesterosYeison_2024_DesarrolloCertificaciónMicroservicios.pdfTrabajo de grado de pregradoapplication/pdf850620https://bibliotecadigital.udea.edu.co/bitstreams/2db12d90-fe67-4c2a-ad0b-965b886e5f0a/download64c236e9b98044edf864d8f47e909e93MD53trueAnonymousREADLICENSElicense.txtlicense.txttext/plain; charset=utf-81748https://bibliotecadigital.udea.edu.co/bitstreams/b265e2cc-f539-4486-b2b4-a9ab3acfaf3e/download8a4605be74aa9ea9d79846c1fba20a33MD54falseAnonymousREADTEXTBallesterosYeison_2024_DesarrolloCertificaciónMicroservicios.pdf.txtBallesterosYeison_2024_DesarrolloCertificaciónMicroservicios.pdf.txtExtracted texttext/plain47267https://bibliotecadigital.udea.edu.co/bitstreams/5f845e57-4e05-445d-ade9-7283d183fb10/download08178658d445d5783f5763083c142cf3MD55falseAnonymousREADTHUMBNAILBallesterosYeison_2024_DesarrolloCertificaciónMicroservicios.pdf.jpgBallesterosYeison_2024_DesarrolloCertificaciónMicroservicios.pdf.jpgGenerated Thumbnailimage/jpeg5330https://bibliotecadigital.udea.edu.co/bitstreams/0d863fa1-7e63-4a81-9ca4-ffa6f1825068/download6c48ede5691aa294080fa94cb7dc4428MD56falseAnonymousREAD10495/38577oai:bibliotecadigital.udea.edu.co:10495/385772025-03-27 00:01:00.599https://creativecommons.org/licenses/by-nc-sa/4.0/open.accesshttps://bibliotecadigital.udea.edu.coRepositorio Institucional de la Universidad de Antioquiaaplicacionbibliotecadigitalbiblioteca@udea.edu.coTk9URTogUExBQ0UgWU9VUiBPV04gTElDRU5TRSBIRVJFClRoaXMgc2FtcGxlIGxpY2Vuc2UgaXMgcHJvdmlkZWQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seS4KCk5PTi1FWENMVVNJVkUgRElTVFJJQlVUSU9OIExJQ0VOU0UKCkJ5IHNpZ25pbmcgYW5kIHN1Ym1pdHRpbmcgdGhpcyBsaWNlbnNlLCB5b3UgKHRoZSBhdXRob3Iocykgb3IgY29weXJpZ2h0Cm93bmVyKSBncmFudHMgdG8gRFNwYWNlIFVuaXZlcnNpdHkgKERTVSkgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgdG8gcmVwcm9kdWNlLAp0cmFuc2xhdGUgKGFzIGRlZmluZWQgYmVsb3cpLCBhbmQvb3IgZGlzdHJpYnV0ZSB5b3VyIHN1Ym1pc3Npb24gKGluY2x1ZGluZwp0aGUgYWJzdHJhY3QpIHdvcmxkd2lkZSBpbiBwcmludCBhbmQgZWxlY3Ryb25pYyBmb3JtYXQgYW5kIGluIGFueSBtZWRpdW0sCmluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gYXVkaW8gb3IgdmlkZW8uCgpZb3UgYWdyZWUgdGhhdCBEU1UgbWF5LCB3aXRob3V0IGNoYW5naW5nIHRoZSBjb250ZW50LCB0cmFuc2xhdGUgdGhlCnN1Ym1pc3Npb24gdG8gYW55IG1lZGl1bSBvciBmb3JtYXQgZm9yIHRoZSBwdXJwb3NlIG9mIHByZXNlcnZhdGlvbi4KCllvdSBhbHNvIGFncmVlIHRoYXQgRFNVIG1heSBrZWVwIG1vcmUgdGhhbiBvbmUgY29weSBvZiB0aGlzIHN1Ym1pc3Npb24gZm9yCnB1cnBvc2VzIG9mIHNlY3VyaXR5LCBiYWNrLXVwIGFuZCBwcmVzZXJ2YXRpb24uCgpZb3UgcmVwcmVzZW50IHRoYXQgdGhlIHN1Ym1pc3Npb24gaXMgeW91ciBvcmlnaW5hbCB3b3JrLCBhbmQgdGhhdCB5b3UgaGF2ZQp0aGUgcmlnaHQgdG8gZ3JhbnQgdGhlIHJpZ2h0cyBjb250YWluZWQgaW4gdGhpcyBsaWNlbnNlLiBZb3UgYWxzbyByZXByZXNlbnQKdGhhdCB5b3VyIHN1Ym1pc3Npb24gZG9lcyBub3QsIHRvIHRoZSBiZXN0IG9mIHlvdXIga25vd2xlZGdlLCBpbmZyaW5nZSB1cG9uCmFueW9uZSdzIGNvcHlyaWdodC4KCklmIHRoZSBzdWJtaXNzaW9uIGNvbnRhaW5zIG1hdGVyaWFsIGZvciB3aGljaCB5b3UgZG8gbm90IGhvbGQgY29weXJpZ2h0LAp5b3UgcmVwcmVzZW50IHRoYXQgeW91IGhhdmUgb2J0YWluZWQgdGhlIHVucmVzdHJpY3RlZCBwZXJtaXNzaW9uIG9mIHRoZQpjb3B5cmlnaHQgb3duZXIgdG8gZ3JhbnQgRFNVIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdApzdWNoIHRoaXJkLXBhcnR5IG93bmVkIG1hdGVyaWFsIGlzIGNsZWFybHkgaWRlbnRpZmllZCBhbmQgYWNrbm93bGVkZ2VkCndpdGhpbiB0aGUgdGV4dCBvciBjb250ZW50IG9mIHRoZSBzdWJtaXNzaW9uLgoKSUYgVEhFIFNVQk1JU1NJT04gSVMgQkFTRUQgVVBPTiBXT1JLIFRIQVQgSEFTIEJFRU4gU1BPTlNPUkVEIE9SIFNVUFBPUlRFRApCWSBBTiBBR0VOQ1kgT1IgT1JHQU5JWkFUSU9OIE9USEVSIFRIQU4gRFNVLCBZT1UgUkVQUkVTRU5UIFRIQVQgWU9VIEhBVkUKRlVMRklMTEVEIEFOWSBSSUdIVCBPRiBSRVZJRVcgT1IgT1RIRVIgT0JMSUdBVElPTlMgUkVRVUlSRUQgQlkgU1VDSApDT05UUkFDVCBPUiBBR1JFRU1FTlQuCgpEU1Ugd2lsbCBjbGVhcmx5IGlkZW50aWZ5IHlvdXIgbmFtZShzKSBhcyB0aGUgYXV0aG9yKHMpIG9yIG93bmVyKHMpIG9mIHRoZQpzdWJtaXNzaW9uLCBhbmQgd2lsbCBub3QgbWFrZSBhbnkgYWx0ZXJhdGlvbiwgb3RoZXIgdGhhbiBhcyBhbGxvd2VkIGJ5IHRoaXMKbGljZW5zZSwgdG8geW91ciBzdWJtaXNzaW9uLgo=