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/
Description
Summary: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.