[pt] IDENTIFICANDO CANDIDATOS A MICROSSERVIÇOS EM CÓDIGO LEGADO

Detalhes bibliográficos
Ano de defesa: 2020
Autor(a) principal: LUIZ MATHEUS DE ALENCAR CARVALHO
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Tese
Tipo de acesso: Acesso aberto
Idioma: eng
Instituição de defesa: MAXWELL
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=50746&idi=1
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=50746&idi=2
http://doi.org/10.17771/PUCRio.acad.50746
Resumo: [pt] Microsserviços é uma técnica industrial para promover melhor escalabilidade e manutenibilidade de pequenos e autônomos serviços. Estudos prévios sugerem que a arquitetura de microsserviços vem sendo amplamente usada para reduzir limitações encontradas em sistemas monolíticos legados tais como melhoria de inovação, uso de diferentes tecnologias, entre outras. O processo de migração para a arquitetura de microsserviços não é trivial. Este é particularmente o caso da tarefa de identificar candidatos a microsserviço e o código fonte associado com cada candidato que é dispendiosa e propensa a erro. Consequentemente, abordagens automatizadas têm sido propostas para reduzir o esforço relacionado a essa atividade. Essas abordagens comumente adotam um ou dois critérios para suportar a identificação de microsserviços com base no sistema monolítico legado. Contudo, existe uma falta de compreensão da utilidade desses critérios adotados na prática. Além disso, há limitado conhecimento em quais são os critérios que profissionais consideram relevantes. Levando em consideração esses limitantes existentes, nós conduzimos um survey e entrevista para melhor compreender a utilidade de critérios relatados em estudos empíricos (e.g, estudos de caso e relatos) do ponto de vista dos profissionais. Os resultados do survey e da entrevista mostram que as abordagens automatizadas e ferramentas existentes não são totalmente alinhadas com necessidades práticas. Para atender às necessidades deles, este trabalho define uma abordagem automatizada chamada toMicroservices. A abordagem baseia-se em uma combinação de análise estática e dinâmica do código legado. A abordagem visa indicar os candidatos a microsserviço e a fonte correspondente extraído do sistema legado. toMicroservices faz uso da engenharia de software baseada em busca para otimizar e balancear os cinco critérios comumente adotados por profisionais, nomeados de modularização de funcionalidade, redução de sobrecarga de rede, reúso, acoplamento e coesão. Além disso, um estudo de caso e grupo focal foram conduzidos a posteriori para avaliar e melhorar toMicroservices.
id PUC_RIO-1_4d7d6efc5c630359a397b4bcd5476ff7
oai_identifier_str oai:MAXWELL.puc-rio.br:50746
network_acronym_str PUC_RIO-1
network_name_str Repositório Institucional da PUC-RIO (Projeto Maxwell)
repository_id_str
spelling [pt] IDENTIFICANDO CANDIDATOS A MICROSSERVIÇOS EM CÓDIGO LEGADO [en] IDENTIFYING MICROSERVICES CANDIDATES IN LEGACY CODE [pt] ARQUITETURA DE SOFTWARE[pt] VARIABILIDADE DE SOFTWARE[pt] EXTRACAO DE MICROSSERVICOS[pt] ARQUITETURA DE MICROSSERVICO[pt] EVOLUCAO DE SOFTWARE[en] SOFTWARE ARCHITECTURE[en] SOFTWARE VARIABILITY[en] MICROSERVICES EXTRACTION[en] MICROSERVICES ARCHITECTURE[en] SOFTWARE EVOLUTION[pt] Microsserviços é uma técnica industrial para promover melhor escalabilidade e manutenibilidade de pequenos e autônomos serviços. Estudos prévios sugerem que a arquitetura de microsserviços vem sendo amplamente usada para reduzir limitações encontradas em sistemas monolíticos legados tais como melhoria de inovação, uso de diferentes tecnologias, entre outras. O processo de migração para a arquitetura de microsserviços não é trivial. Este é particularmente o caso da tarefa de identificar candidatos a microsserviço e o código fonte associado com cada candidato que é dispendiosa e propensa a erro. Consequentemente, abordagens automatizadas têm sido propostas para reduzir o esforço relacionado a essa atividade. Essas abordagens comumente adotam um ou dois critérios para suportar a identificação de microsserviços com base no sistema monolítico legado. Contudo, existe uma falta de compreensão da utilidade desses critérios adotados na prática. Além disso, há limitado conhecimento em quais são os critérios que profissionais consideram relevantes. Levando em consideração esses limitantes existentes, nós conduzimos um survey e entrevista para melhor compreender a utilidade de critérios relatados em estudos empíricos (e.g, estudos de caso e relatos) do ponto de vista dos profissionais. Os resultados do survey e da entrevista mostram que as abordagens automatizadas e ferramentas existentes não são totalmente alinhadas com necessidades práticas. Para atender às necessidades deles, este trabalho define uma abordagem automatizada chamada toMicroservices. A abordagem baseia-se em uma combinação de análise estática e dinâmica do código legado. A abordagem visa indicar os candidatos a microsserviço e a fonte correspondente extraído do sistema legado. toMicroservices faz uso da engenharia de software baseada em busca para otimizar e balancear os cinco critérios comumente adotados por profisionais, nomeados de modularização de funcionalidade, redução de sobrecarga de rede, reúso, acoplamento e coesão. Além disso, um estudo de caso e grupo focal foram conduzidos a posteriori para avaliar e melhorar toMicroservices.[en] Microservices is an industrial technique to promote better scalability and maintainability of small and autonomous services. Previous studies suggested that microservice architectures have been widely used to reduce limitations found in legacy monolithic systems such as the inclusion of innovation, use of a different stack of technologies, among others. The process of migrating to a microservices architecture is far from trivial. This is particularly the case for the task of identifying candidate microservices and the source code associated with each candidate, which is recognizably time-consuming and error-prone. Thus, automated approaches have been proposed to reduce the effort related to that task. These approaches commonly adopt one or two criteria to support the identification of microservices from a legacy monolithic system. However, there is a lack of understanding on the usefulness of these criteria in practical settings. Moreover, there is limited knowledge on what are the criteria that practitioners consider relevant. Taking into account these existing limitations, we conducted a survey and interviews to better understand the usefulness of criteria reported in empirical studies (e.g, case studies and reports) from the point of view of practitioners. The results of the survey and interviews revealed that existing automated approaches and tools are far from being aligned with practical needs. To fulfill these needs, this work defines a automated approach named toMicroservices. The approach relies on a combination of static and dynamic analysis of the legacy code. The approach aims at indicating the microservice candidates and the corresponding source extracted from the legacy system. toMicroservices makes use of search-based software engineering (SBSE) to optimize and balance the five criteria commonly adopted by practitioners, namely feature modularization, network overhead reduction, reuse, coupling and cohesion. Additionally, an industrial case study and a focus group were conducted a posteriori to support the evaluation and improvements of toMicroservices.MAXWELLALESSANDRO FABRICIO GARCIAALESSANDRO FABRICIO GARCIAALESSANDRO FABRICIO GARCIALUIZ MATHEUS DE ALENCAR CARVALHO2020-12-10info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesishttps://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=50746&idi=1https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=50746&idi=2http://doi.org/10.17771/PUCRio.acad.50746engreponame:Repositório Institucional da PUC-RIO (Projeto Maxwell)instname:Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)instacron:PUC_RIOinfo:eu-repo/semantics/openAccess2022-08-11T00:00:00Zoai:MAXWELL.puc-rio.br:50746Repositório InstitucionalPRIhttps://www.maxwell.vrac.puc-rio.br/ibict.phpopendoar:5342022-08-11T00:00Repositório Institucional da PUC-RIO (Projeto Maxwell) - Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)false
dc.title.none.fl_str_mv [pt] IDENTIFICANDO CANDIDATOS A MICROSSERVIÇOS EM CÓDIGO LEGADO
[en] IDENTIFYING MICROSERVICES CANDIDATES IN LEGACY CODE
title [pt] IDENTIFICANDO CANDIDATOS A MICROSSERVIÇOS EM CÓDIGO LEGADO
spellingShingle [pt] IDENTIFICANDO CANDIDATOS A MICROSSERVIÇOS EM CÓDIGO LEGADO
LUIZ MATHEUS DE ALENCAR CARVALHO
[pt] ARQUITETURA DE SOFTWARE
[pt] VARIABILIDADE DE SOFTWARE
[pt] EXTRACAO DE MICROSSERVICOS
[pt] ARQUITETURA DE MICROSSERVICO
[pt] EVOLUCAO DE SOFTWARE
[en] SOFTWARE ARCHITECTURE
[en] SOFTWARE VARIABILITY
[en] MICROSERVICES EXTRACTION
[en] MICROSERVICES ARCHITECTURE
[en] SOFTWARE EVOLUTION
title_short [pt] IDENTIFICANDO CANDIDATOS A MICROSSERVIÇOS EM CÓDIGO LEGADO
title_full [pt] IDENTIFICANDO CANDIDATOS A MICROSSERVIÇOS EM CÓDIGO LEGADO
title_fullStr [pt] IDENTIFICANDO CANDIDATOS A MICROSSERVIÇOS EM CÓDIGO LEGADO
title_full_unstemmed [pt] IDENTIFICANDO CANDIDATOS A MICROSSERVIÇOS EM CÓDIGO LEGADO
title_sort [pt] IDENTIFICANDO CANDIDATOS A MICROSSERVIÇOS EM CÓDIGO LEGADO
author LUIZ MATHEUS DE ALENCAR CARVALHO
author_facet LUIZ MATHEUS DE ALENCAR CARVALHO
author_role author
dc.contributor.none.fl_str_mv ALESSANDRO FABRICIO GARCIA
ALESSANDRO FABRICIO GARCIA
ALESSANDRO FABRICIO GARCIA
dc.contributor.author.fl_str_mv LUIZ MATHEUS DE ALENCAR CARVALHO
dc.subject.por.fl_str_mv [pt] ARQUITETURA DE SOFTWARE
[pt] VARIABILIDADE DE SOFTWARE
[pt] EXTRACAO DE MICROSSERVICOS
[pt] ARQUITETURA DE MICROSSERVICO
[pt] EVOLUCAO DE SOFTWARE
[en] SOFTWARE ARCHITECTURE
[en] SOFTWARE VARIABILITY
[en] MICROSERVICES EXTRACTION
[en] MICROSERVICES ARCHITECTURE
[en] SOFTWARE EVOLUTION
topic [pt] ARQUITETURA DE SOFTWARE
[pt] VARIABILIDADE DE SOFTWARE
[pt] EXTRACAO DE MICROSSERVICOS
[pt] ARQUITETURA DE MICROSSERVICO
[pt] EVOLUCAO DE SOFTWARE
[en] SOFTWARE ARCHITECTURE
[en] SOFTWARE VARIABILITY
[en] MICROSERVICES EXTRACTION
[en] MICROSERVICES ARCHITECTURE
[en] SOFTWARE EVOLUTION
description [pt] Microsserviços é uma técnica industrial para promover melhor escalabilidade e manutenibilidade de pequenos e autônomos serviços. Estudos prévios sugerem que a arquitetura de microsserviços vem sendo amplamente usada para reduzir limitações encontradas em sistemas monolíticos legados tais como melhoria de inovação, uso de diferentes tecnologias, entre outras. O processo de migração para a arquitetura de microsserviços não é trivial. Este é particularmente o caso da tarefa de identificar candidatos a microsserviço e o código fonte associado com cada candidato que é dispendiosa e propensa a erro. Consequentemente, abordagens automatizadas têm sido propostas para reduzir o esforço relacionado a essa atividade. Essas abordagens comumente adotam um ou dois critérios para suportar a identificação de microsserviços com base no sistema monolítico legado. Contudo, existe uma falta de compreensão da utilidade desses critérios adotados na prática. Além disso, há limitado conhecimento em quais são os critérios que profissionais consideram relevantes. Levando em consideração esses limitantes existentes, nós conduzimos um survey e entrevista para melhor compreender a utilidade de critérios relatados em estudos empíricos (e.g, estudos de caso e relatos) do ponto de vista dos profissionais. Os resultados do survey e da entrevista mostram que as abordagens automatizadas e ferramentas existentes não são totalmente alinhadas com necessidades práticas. Para atender às necessidades deles, este trabalho define uma abordagem automatizada chamada toMicroservices. A abordagem baseia-se em uma combinação de análise estática e dinâmica do código legado. A abordagem visa indicar os candidatos a microsserviço e a fonte correspondente extraído do sistema legado. toMicroservices faz uso da engenharia de software baseada em busca para otimizar e balancear os cinco critérios comumente adotados por profisionais, nomeados de modularização de funcionalidade, redução de sobrecarga de rede, reúso, acoplamento e coesão. Além disso, um estudo de caso e grupo focal foram conduzidos a posteriori para avaliar e melhorar toMicroservices.
publishDate 2020
dc.date.none.fl_str_mv 2020-12-10
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/doctoralThesis
format doctoralThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=50746&idi=1
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=50746&idi=2
http://doi.org/10.17771/PUCRio.acad.50746
url https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=50746&idi=1
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=50746&idi=2
http://doi.org/10.17771/PUCRio.acad.50746
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv MAXWELL
publisher.none.fl_str_mv MAXWELL
dc.source.none.fl_str_mv reponame:Repositório Institucional da PUC-RIO (Projeto Maxwell)
instname:Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)
instacron:PUC_RIO
instname_str Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)
instacron_str PUC_RIO
institution PUC_RIO
reponame_str Repositório Institucional da PUC-RIO (Projeto Maxwell)
collection Repositório Institucional da PUC-RIO (Projeto Maxwell)
repository.name.fl_str_mv Repositório Institucional da PUC-RIO (Projeto Maxwell) - Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)
repository.mail.fl_str_mv
_version_ 1856395948748439552