O impacto do uso de micro serviços na evolução de uma linha de produto de software

Detalhes bibliográficos
Autor(a) principal: Becker, Alex Malmann
Data de Publicação: 2019
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Institucional da UFSCAR
Texto Completo: https://repositorio.ufscar.br/handle/ufscar/11978
Resumo: Due to the high demand for software as a service, more and more companies are forced to modernize their applications to the digital world. However, this modernization needs to be very well designed to be able to follow the customers needs and also to have low operation cost, especially in applications that have a great deal of functionality variability for their customers. In this context, one of the faced problems is related to the management of multiple versions of ``similar'' systems and software evolution. To solve this issue, the SPL approach is used, while the Micro Services architectural style is a way to make the evolution process lighter, since it can be performed only in the specific micro-services being updated. However, despite being an important subject and widely used by the software industry, in the academy we did not find a large number of papers dealing with micro services and SPL. In the survey carried out in this work, only two papers were found that used micro services and SPL, one of them directly related to this work, applying the micro-services architecture and a SPL process, and the other work which used micro services and SPL to improve the flexibility of product family variability. However, the articles briefly discuss the process of how services were designed, and so this point needs more research. In addition, the main focus of the evaluation was on maintenance tasks, not evolution, as we investigated in this research. Therefore, this work aims to evaluate the evolution (both in the addition of new features and in the maintenance of existing features) of a SPL through the use of micro services in order to be able to affirm if the impact of micro services really improved the task of evolution. In order to reach the expected objective, this work had the partnership of a company based in Rio Grande do Sul, which has a ERP in its product portfolio, implemented as a product line. Based on this, a case study was carried out in two scenarios (one with micro services and the other without micro services), which allowed us to evaluate that the use of micro services brings great benefits in the evolution of a software product line, mainly in adaptive maintenance tasks. Finally, in addition to evaluating the impact of the use of micro services in the evolution of a product line, this work contributes with the lessons learned from the migration of a project developed in the traditional approach to the use of micro services, using data from a real experiment with focus on software engineering.
id SCAR_74ff3a9c04d513764d486c0f4b60a2c4
oai_identifier_str oai:repositorio.ufscar.br:ufscar/11978
network_acronym_str SCAR
network_name_str Repositório Institucional da UFSCAR
repository_id_str 4322
spelling Becker, Alex MalmannLucrédio, Danielhttp://lattes.cnpq.br/9090396559596221http://lattes.cnpq.br/03445724351574718477311d-6cf4-464d-b276-ffd5fd572db22019-10-22T19:45:29Z2019-10-22T19:45:29Z2019-08-20BECKER, Alex Malmann. O impacto do uso de micro serviços na evolução de uma linha de produto de software. 2019. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de São Carlos, São Carlos, 2019. Disponível em: https://repositorio.ufscar.br/handle/ufscar/11978.https://repositorio.ufscar.br/handle/ufscar/11978Due to the high demand for software as a service, more and more companies are forced to modernize their applications to the digital world. However, this modernization needs to be very well designed to be able to follow the customers needs and also to have low operation cost, especially in applications that have a great deal of functionality variability for their customers. In this context, one of the faced problems is related to the management of multiple versions of ``similar'' systems and software evolution. To solve this issue, the SPL approach is used, while the Micro Services architectural style is a way to make the evolution process lighter, since it can be performed only in the specific micro-services being updated. However, despite being an important subject and widely used by the software industry, in the academy we did not find a large number of papers dealing with micro services and SPL. In the survey carried out in this work, only two papers were found that used micro services and SPL, one of them directly related to this work, applying the micro-services architecture and a SPL process, and the other work which used micro services and SPL to improve the flexibility of product family variability. However, the articles briefly discuss the process of how services were designed, and so this point needs more research. In addition, the main focus of the evaluation was on maintenance tasks, not evolution, as we investigated in this research. Therefore, this work aims to evaluate the evolution (both in the addition of new features and in the maintenance of existing features) of a SPL through the use of micro services in order to be able to affirm if the impact of micro services really improved the task of evolution. In order to reach the expected objective, this work had the partnership of a company based in Rio Grande do Sul, which has a ERP in its product portfolio, implemented as a product line. Based on this, a case study was carried out in two scenarios (one with micro services and the other without micro services), which allowed us to evaluate that the use of micro services brings great benefits in the evolution of a software product line, mainly in adaptive maintenance tasks. Finally, in addition to evaluating the impact of the use of micro services in the evolution of a product line, this work contributes with the lessons learned from the migration of a project developed in the traditional approach to the use of micro services, using data from a real experiment with focus on software engineering.Com o avanço das tecnologias atuais e a alta demanda de software como serviço, cada vez mais as empresas estão se vendo obrigadas a modernizar suas aplicações para o mundo digital. No entanto, essa modernização precisa ser muito bem projetada para conseguir acompanhar as necessidades dos clientes e também manter um custo baixo de operação para a empresa, principalmente em aplicações que possuem uma grande variabilidade de funcionalidades para seus clientes. Nesse contexto, um dos problemas enfrentados é em relação ao gerenciamento de múltiplas versões de sistemas ``semelhantes'' e da evolução do software. Para resolver a questão do gerenciamento de múltiplas versões utiliza-se a abordagem de Linha de Produto de Software (SPL), enquanto que o estilo arquitetural de Micro Serviço é uma forma de conseguir deixar o processo de evolução mais leve, uma vez que é necessário realizar apenas a atualização do micro serviço específico. Todavia, apesar de ser um tema importante e bastante utilizado pela indústria de software e considerando que os benefícios da arquitetura de micro serviços são bem conhecidos em termos de operação e implantação, seu uso em linha de produtos não é objeto de muitos estudos na literatura, do ponto de vista da Engenharia de Software. No levantamento teórico realizado neste trabalho, foram encontrados apenas dois trabalhos que utilizaram micro serviços e SPL, sendo um deles, diretamente relacionado a este trabalho, pois também evoluiu uma aplicação utilizando o estilo arquitetural de micro serviços e um processo de SPL, e o outro que utilizou micro serviços e SPL para melhorar a flexibilidade da variabilidade da família do produto. Entretanto, os artigos abordam de forma resumida o processo de como foram projetados os serviços, e com isso este ponto precisa de mais investigação. Além disso, o principal foco da avaliação foi em tarefas de manutenção, e não evolução, como investigado nesta pesquisa. Portanto, este trabalho teve como objetivo avaliar a evolução (tanto na adição de novas features, como na manutenção de features existentes) de uma SPL, através da utilização de micro serviços, para no final poder afirmar se o impacto de micro serviços realmente melhorou a tarefa de evolução. Para conseguir chegar ao objetivo esperado, este trabalho teve a parceria de uma empresa sediada no Rio Grande do Sul e que possui em seu portfólio de produtos um Sistema de Gestão Empresarial (ERP), o qual é implementado em uma linha de produto. Com base nisso, foi executado um estudo de caso em dois cenários (um com micro serviço e outro sem micro serviço), o que nos permitiu avaliar que a utilização de micro serviços traz grandes benefícios na evolução de uma linha de produto de software, principalmente nas tarefas de manutenção adaptativas. Por fim, além da avaliação do impacto do uso de micro serviços na evolução de uma linha de produto, este trabalho contribui com as lições aprendidas da migração de um projeto desenvolvido na abordagem tradicional para o uso de micro serviços, utilizando dados de um experimento real com foco na Engenharia de Software.Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES)CAPES: Código de Financiamento 001porUniversidade Federal de São CarlosCâmpus São CarlosPrograma de Pós-Graduação em Ciência da Computação - PPGCCUFSCarAttribution 3.0 Brazilhttp://creativecommons.org/licenses/by/3.0/br/info:eu-repo/semantics/openAccessSPLMicro ServiçosEvoluçãoMicroservicesEvolutionCIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAOCIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOCIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::ENGENHARIA DE SOFTWAREO impacto do uso de micro serviços na evolução de uma linha de produto de softwareThe impact of using micro services on the evolution of a software product lineinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesis600600912fe828-c7e3-45b9-a9c1-9479310c8672reponame:Repositório Institucional da UFSCARinstname:Universidade Federal de São Carlos (UFSCAR)instacron:UFSCARORIGINALDIssertação Final Alex Becker.pdfDIssertação Final Alex Becker.pdfDissertação Finalapplication/pdf1896485https://repositorio.ufscar.br/bitstream/ufscar/11978/1/DIssertac%cc%a7a%cc%83o%20Final%20Alex%20Becker.pdfc709e710a0a35094fd97e126f3de95bbMD51Carta Autorização.pdfCarta Autorização.pdfAutorização de Publicaçãoapplication/pdf130592https://repositorio.ufscar.br/bitstream/ufscar/11978/2/Carta%20Autorizac%cc%a7a%cc%83o.pdf4a8baf120e9a7df099836d568f462254MD52CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8914https://repositorio.ufscar.br/bitstream/ufscar/11978/3/license_rdf4d2950bda3d176f570a9f8b328dfbbefMD53TEXTDIssertação Final Alex Becker.pdf.txtDIssertação Final Alex Becker.pdf.txtExtracted texttext/plain159242https://repositorio.ufscar.br/bitstream/ufscar/11978/4/DIssertac%cc%a7a%cc%83o%20Final%20Alex%20Becker.pdf.txt38223ee5a95d59c2c9fd003dcbd73679MD54Carta Autorização.pdf.txtCarta Autorização.pdf.txtExtracted texttext/plain1362https://repositorio.ufscar.br/bitstream/ufscar/11978/6/Carta%20Autorizac%cc%a7a%cc%83o.pdf.txt9aa54805750e369fb23c512f2289e3bbMD56THUMBNAILDIssertação Final Alex Becker.pdf.jpgDIssertação Final Alex Becker.pdf.jpgIM Thumbnailimage/jpeg6069https://repositorio.ufscar.br/bitstream/ufscar/11978/5/DIssertac%cc%a7a%cc%83o%20Final%20Alex%20Becker.pdf.jpgb916683102ed200500d6d2d80d7efd6dMD55Carta Autorização.pdf.jpgCarta Autorização.pdf.jpgIM Thumbnailimage/jpeg10877https://repositorio.ufscar.br/bitstream/ufscar/11978/7/Carta%20Autorizac%cc%a7a%cc%83o.pdf.jpgfd4cc11302fd860af99ff6560a4ae269MD57ufscar/119782023-09-18 18:31:45.329oai:repositorio.ufscar.br:ufscar/11978Repositório InstitucionalPUBhttps://repositorio.ufscar.br/oai/requestopendoar:43222023-09-18T18:31:45Repositório Institucional da UFSCAR - Universidade Federal de São Carlos (UFSCAR)false
dc.title.por.fl_str_mv O impacto do uso de micro serviços na evolução de uma linha de produto de software
dc.title.alternative.eng.fl_str_mv The impact of using micro services on the evolution of a software product line
title O impacto do uso de micro serviços na evolução de uma linha de produto de software
spellingShingle O impacto do uso de micro serviços na evolução de uma linha de produto de software
Becker, Alex Malmann
SPL
Micro Serviços
Evolução
Microservices
Evolution
CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO
CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::ENGENHARIA DE SOFTWARE
title_short O impacto do uso de micro serviços na evolução de uma linha de produto de software
title_full O impacto do uso de micro serviços na evolução de uma linha de produto de software
title_fullStr O impacto do uso de micro serviços na evolução de uma linha de produto de software
title_full_unstemmed O impacto do uso de micro serviços na evolução de uma linha de produto de software
title_sort O impacto do uso de micro serviços na evolução de uma linha de produto de software
author Becker, Alex Malmann
author_facet Becker, Alex Malmann
author_role author
dc.contributor.authorlattes.por.fl_str_mv http://lattes.cnpq.br/0344572435157471
dc.contributor.author.fl_str_mv Becker, Alex Malmann
dc.contributor.advisor1.fl_str_mv Lucrédio, Daniel
dc.contributor.advisor1Lattes.fl_str_mv http://lattes.cnpq.br/9090396559596221
dc.contributor.authorID.fl_str_mv 8477311d-6cf4-464d-b276-ffd5fd572db2
contributor_str_mv Lucrédio, Daniel
dc.subject.por.fl_str_mv SPL
Micro Serviços
Evolução
topic SPL
Micro Serviços
Evolução
Microservices
Evolution
CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO
CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::ENGENHARIA DE SOFTWARE
dc.subject.eng.fl_str_mv Microservices
Evolution
dc.subject.cnpq.fl_str_mv CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO
CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::ENGENHARIA DE SOFTWARE
description Due to the high demand for software as a service, more and more companies are forced to modernize their applications to the digital world. However, this modernization needs to be very well designed to be able to follow the customers needs and also to have low operation cost, especially in applications that have a great deal of functionality variability for their customers. In this context, one of the faced problems is related to the management of multiple versions of ``similar'' systems and software evolution. To solve this issue, the SPL approach is used, while the Micro Services architectural style is a way to make the evolution process lighter, since it can be performed only in the specific micro-services being updated. However, despite being an important subject and widely used by the software industry, in the academy we did not find a large number of papers dealing with micro services and SPL. In the survey carried out in this work, only two papers were found that used micro services and SPL, one of them directly related to this work, applying the micro-services architecture and a SPL process, and the other work which used micro services and SPL to improve the flexibility of product family variability. However, the articles briefly discuss the process of how services were designed, and so this point needs more research. In addition, the main focus of the evaluation was on maintenance tasks, not evolution, as we investigated in this research. Therefore, this work aims to evaluate the evolution (both in the addition of new features and in the maintenance of existing features) of a SPL through the use of micro services in order to be able to affirm if the impact of micro services really improved the task of evolution. In order to reach the expected objective, this work had the partnership of a company based in Rio Grande do Sul, which has a ERP in its product portfolio, implemented as a product line. Based on this, a case study was carried out in two scenarios (one with micro services and the other without micro services), which allowed us to evaluate that the use of micro services brings great benefits in the evolution of a software product line, mainly in adaptive maintenance tasks. Finally, in addition to evaluating the impact of the use of micro services in the evolution of a product line, this work contributes with the lessons learned from the migration of a project developed in the traditional approach to the use of micro services, using data from a real experiment with focus on software engineering.
publishDate 2019
dc.date.accessioned.fl_str_mv 2019-10-22T19:45:29Z
dc.date.available.fl_str_mv 2019-10-22T19:45:29Z
dc.date.issued.fl_str_mv 2019-08-20
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.citation.fl_str_mv BECKER, Alex Malmann. O impacto do uso de micro serviços na evolução de uma linha de produto de software. 2019. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de São Carlos, São Carlos, 2019. Disponível em: https://repositorio.ufscar.br/handle/ufscar/11978.
dc.identifier.uri.fl_str_mv https://repositorio.ufscar.br/handle/ufscar/11978
identifier_str_mv BECKER, Alex Malmann. O impacto do uso de micro serviços na evolução de uma linha de produto de software. 2019. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de São Carlos, São Carlos, 2019. Disponível em: https://repositorio.ufscar.br/handle/ufscar/11978.
url https://repositorio.ufscar.br/handle/ufscar/11978
dc.language.iso.fl_str_mv por
language por
dc.relation.confidence.fl_str_mv 600
600
dc.relation.authority.fl_str_mv 912fe828-c7e3-45b9-a9c1-9479310c8672
dc.rights.driver.fl_str_mv Attribution 3.0 Brazil
http://creativecommons.org/licenses/by/3.0/br/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Attribution 3.0 Brazil
http://creativecommons.org/licenses/by/3.0/br/
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal de São Carlos
Câmpus São Carlos
dc.publisher.program.fl_str_mv Programa de Pós-Graduação em Ciência da Computação - PPGCC
dc.publisher.initials.fl_str_mv UFSCar
publisher.none.fl_str_mv Universidade Federal de São Carlos
Câmpus São Carlos
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFSCAR
instname:Universidade Federal de São Carlos (UFSCAR)
instacron:UFSCAR
instname_str Universidade Federal de São Carlos (UFSCAR)
instacron_str UFSCAR
institution UFSCAR
reponame_str Repositório Institucional da UFSCAR
collection Repositório Institucional da UFSCAR
bitstream.url.fl_str_mv https://repositorio.ufscar.br/bitstream/ufscar/11978/1/DIssertac%cc%a7a%cc%83o%20Final%20Alex%20Becker.pdf
https://repositorio.ufscar.br/bitstream/ufscar/11978/2/Carta%20Autorizac%cc%a7a%cc%83o.pdf
https://repositorio.ufscar.br/bitstream/ufscar/11978/3/license_rdf
https://repositorio.ufscar.br/bitstream/ufscar/11978/4/DIssertac%cc%a7a%cc%83o%20Final%20Alex%20Becker.pdf.txt
https://repositorio.ufscar.br/bitstream/ufscar/11978/6/Carta%20Autorizac%cc%a7a%cc%83o.pdf.txt
https://repositorio.ufscar.br/bitstream/ufscar/11978/5/DIssertac%cc%a7a%cc%83o%20Final%20Alex%20Becker.pdf.jpg
https://repositorio.ufscar.br/bitstream/ufscar/11978/7/Carta%20Autorizac%cc%a7a%cc%83o.pdf.jpg
bitstream.checksum.fl_str_mv c709e710a0a35094fd97e126f3de95bb
4a8baf120e9a7df099836d568f462254
4d2950bda3d176f570a9f8b328dfbbef
38223ee5a95d59c2c9fd003dcbd73679
9aa54805750e369fb23c512f2289e3bb
b916683102ed200500d6d2d80d7efd6d
fd4cc11302fd860af99ff6560a4ae269
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFSCAR - Universidade Federal de São Carlos (UFSCAR)
repository.mail.fl_str_mv
_version_ 1802136366390181888