Show simple item record

dc.contributor.advisorGaona Cuevas, Carlos Mauricio
dc.contributor.authorVera Rivera, Fredy Humberto
dc.date.accessioned2021-02-24T16:08:10Z
dc.date.available2021-02-24T16:08:10Z
dc.date.issued2021
dc.identifier.urihttp://hdl.handle.net/10893/19567
dc.description.abstractLos microservicios son un enfoque arquitectónico y organizativo del desarrollo de software en el que las aplicaciones están compuestas por pequeños servicios independientes que se comunican a través de una interfaz de programación de aplicaciones (API) bien definida, muchas empresas utilizan los microservicios para estructurar sus sistemas, también la arquitectura de microservicios ha sido utilizada en otras áreas como la internet de las cosas (IoT), computación en el borde (edge computing), computación en la nube, desarrollo de vehículos autónomos, telecomunicaciones, sistemas de E-Salud, E-Learning, entre otros. Un gran desafío al diseñar este tipo de aplicaciones es encontrar una partición o granularidad adecuada de los microservicios, proceso que a la fecha se realiza y diseña de forma intuitiva, según la experiencia del arquitecto o del equipo de desarrollo. La definición del tamaño o granularidad de los microservicios es un tema de investigación abierto y de interés, no se han estandarizado patrones, métodos o modelos que permitan definir qué tan pequeño debe ser un microservicio. Las estrategias más utilizadas para estimar la granularidad de los microservicios son: el aprendizaje automático, la similitud semántica, la programación genética y la ingeniería de dominio. En este trabajo de investigación doctoral se propone un modelo inteligente para especificar y evaluar la granularidad de los microservicios que hacen parte de una aplicación; teniendo en cuenta algunas características como la complejidad cognitiva, el tiempo de desarrollo, el acoplamiento, la cohesión y su comunicación. En el capitulo uno se presentan el marco teórico, se plantea el problema de investigación resuelto, junto con las preguntas de investigación que ayudan a resolverlo, también se presentan los objetivos y la metodologia de investigación, por medio de la cual se propone una nueva práctica, un modelo inteligente de especificación de la granularidad de los microservicios llamada ¿Microsevices Backlog¿, también se presentan las fases y métodos de investigación que permitieron resolver las preguntas de investigación planteadas. El captiulo dos presenta el esatado del arte y los trabajos relacionados con el presente trabajo de investigación doctoral; también se identifican las métricas que se han utilizado para definir y evaluar la granularidad de los microservicios. En el capitulo 3 se caracteriza el proceso de desarrollo de aplicaciones basadas en microservicios, explicando su uso en un caso de estudio llamado ¿Sinplafut¿. En el capitulo 4 se plantea la descripción del ¿Microservice Backlog¿, se presenta la definición de cada uno de sus componentes, entre los cuales se encuentran: el componente parametrizador, el componente agrupador (un algoritmo genético y un algoritmo de agrupamiento semántico basado en aprendizaje automático no supervisado), el componente evaluador de métricas y el componente comparador de descomposiciones y de microservicios candidatos, también se presenta la formulación matemática de la granularidad de aplicaciones basadas en microservicios. El capitulo 5 presenta la evaluación de la práctica propuesta, se realizó de forma iterativa usando cuatro casos de estudio, dos ejemplos planteados en el estado del arte (Cargo Tracking and JPet-Store) y dos proyectos reales (Foristom Conferences y Sinplafut), se utilizó el Microservices Backlog para obtener y evaluar los microservicios candidatos de las cuatro aplicaciones. Se realizó un analisis comparativo contra métodos propuestos en el estado del arte y con el diseño basado en el dominio (DDD), el cual es le método más utilizado para definir los microservicios que van a ser parte de una aplicación. El Microservices Backlog obtuvo un bajo acoplamiento, alta cohesión, baja complejidad y reduce la comunicación entre los microservicios, esto comparado con las propuestas del estado del arte y con DDD. Finalmente en el capitulo 6 se presentan las conclusiones, contribuciones, limitaciones y productos obtenidos como resultado de esta tesisspa
dc.format.extent1 recurso en linea (152 páginas)spa
dc.format.mimetypeapplication/pdfspa
dc.language.isospaspa
dc.publisherUniversidad del Vallespa
dc.subject.ddcCiencias de la computación
dc.subject.ddcArquitectura del software
dc.subject.ddcAplicaciones del computador
dc.subject.ddcAplicaciones Web
dc.titleModelo inteligente de especificación de la granularidad de aplicaciones basadas en microservicios.spa
dc.typeTrabajo de grado - Doctoradospa
dc.rights.accessrightsinfo:eu-repo/semantics/openAccessspa
dc.publisher.placeColombiaspa
dc.type.coarhttp://purl.org/coar/resource_type/c_db06spa
dc.type.contentTextspa
dc.type.driverinfo:eu-repo/semantics/doctoralThesisspa
dc.type.redcolhttps://purl.org/redcol/resource_type/TDspa
dc.type.versioninfo:eu-repo/semantics/publishedVersionspa
oaire.versionhttp://purl.org/coar/version/c_970fb48d4fbd8a85spa
dc.publisher.facultyFACULTAD DE INGENIERÍAspa
dc.description.degreelevelDoctoradospa
oaire.accessrightshttp://purl.org/coar/access_right/c_abf2spa
dc.description.degreenameDOCTOR(A) EN INGENIERÍAspa
dc.publisher.programDOCTORADO EN INGENIERÍA-ÉNFASIS EN CIENCIAS DE LA COMPUTACIÓNspa


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record