Validación y transferencia de conocimiento del modelo inteligente para identificar y especificar microservicios (microservice backlog) a empresas de desarrollo de software del Norte de Santander. (2022)
La arquitectura basada en microservicios permite implementar una aplicación usando componentes independientes (microservicios) que se comunican a través de protocolos ligeros, permitiendo mejorar atributos de calidad como la escalabilidad, la mantenibilidad, la tolerancia a fallas, el rendimiento y la funcionalidad; cada microservicio se desarrolla de forma independiente, en lenguajes de programación independientes, base de datos independiente y funcionando en su propio proceso (cpu, memoria y almacenamiento independiente). Definir el tamaño adecuado de los microservicios que hacen parte de la aplicación es un tema de interés, la granularidad define el número de microservicios que hacen parte de la aplicación y el alcance de la funcionalidad que van a ofrecer. Razonar en tiempo de diseño acerca de la granularidad es fundamental para la toma de decisiones de desarrollo, pruebas y despliegue. Para abordar este problema en una tesis doctoral se propuso un modelo inteligente de especificación y evaluación de la granularidad de los microservicios en tiempo de diseño usando algoritmos genéticos, procesamiento de lenguaje natural, similitud semántica y algoritmos de agrupamiento jerárquico. La evaluación del modelo propuesto se realizó en 4 casos de estudio, dos del estado del arte y dos aplicaciones de nivel empresarial, teniendo resultados prometedores; pero esta validación no es suficiente y es necesario validar a nivel industrial e incorporarlo para que sea aprovechado por las empresas de desarrollo de software del Norte de Santander. El objetivo principal de este proyecto de investigación es evaluar la aplicación y uso del Microservice Backlog en la industria desarrolladora de software del Norte de Santander; para cumplir con este objetivo se plantea una metodología basada en la investigación en la ciencia del diseño (Design science research), el trabajo se divide en 4 fases: 1) Diagnóstico, que busca definir el estado del arte y de la práctica del desarrollo de aplicaciones basadas en microservicios, para conocer el estado actual de las empresas de desarrollo de software del Norte de Santander. 2) Capacitación, en la cual se transfiere el conocimiento a las empresas por medio de conferencias y talleres de demostración, se seleccionan los proyectos de evaluación y aplicación del modelo inteligente propuesto. 3) Aplicación y evaluación, ya con los proyectos seleccionados se obtiene el diseño de la aplicación basada en microservicios usando los algoritmos inteligentes del Microsevices Backlog para ser comparado con la propuesta de los expertos de la empresa. 4) Divulgación, se destacan los beneficios y dificultades del uso del modelo inteligente, se realiza el informe final, artículos de investigación y la socialización en ponencias nacionales e internacionales. Como resultados de la investigación se espera obtener una validación más rigurosa del modelo inteligente propuesto, lograr hacer una transferencia de conocimiento y apropiación por parte de las empresas de los resultados obtenidos en la tesis doctoral, como también que en un corto plazo las empresas puedan mejorar su productos, procesos y servicios de desarrollo de software. Adicionalmente se pretende hacer alianzas estratégicas para realizar asesorías, consultarías y participación en proyectos de Minciencias.