Diseño y construcción de un componente para el generador de código ZathuraCode que genere proyectos con arquitectura basada en microservicios en JavaTrabajo de Grado / PDF-Archivos Legibles por Computador
Este proyecto inició como respuesta a una problemática que se evidenció en la empresa Vortexbird S.A.S, al notar las dificultades que se presentan al realizar un despliegue en producción de una ERP que se vende como servicio en la nube; en este proyecto en el cual se está trabajando, una de las mayores dificultades es que al ser un producto de software siempre está en actualización de controles de cambios y/o no conformidades por lo cual es necesario realizar despliegues a producción casi a diario. Al ser una aplicación monolítica con seis (6) módulos diferentes, alrededor de 247 tablas y 2.019 clases esta es empaquetada en un formato WAR (Web application ARchive); cada vez que es necesario subir al servidor de producción, es primordial detener todos los servicios que presta el software, ya que en el momento del despliegue, se tiene que eliminar el WAR antiguo por el nuevo. Este proceso es lento, poco eficiente y al realizarse un cambio en la aplicación, se tendrá que desplegar de nuevo evitando así que los clientes puedan usar la aplicación por un periodo determinado de tiempo (el tiempo varía entre el tamaño de la aplicación monolítica a desplegar, velocidad de internet, entre otros factores). Al ver este tipo de problemática, se decidió buscar una mejor manera de lidiar con los despliegues a producción de aplicaciones críticas, en ese momento se comenzó a realizar las investigaciones de un estilo arquitectónico llamado microservicios, el cual ha sido usado desde hace varios años por grandes empresas tecnológicas como Netflix, Google, Amazon, Facebook entre otras. En el presente proyecto se plantea una solución para la creación de proyectos de software con un estilo arquitectónico orientado a microservicios, la cual consiste en crear un módulo de microservicios que ampliará el funcionamiento de una herramienta de generación de código Java Zathuracode, ya que es una herramienta usada desde hace varios años en la industria de software.