[pt] IDENTIFICANDO CANDIDATOS A MICROSSERVIÇOS EM CÓDIGO LEGADO
| Ano de defesa: | 2020 |
|---|---|
| Autor(a) principal: | |
| Orientador(a): | |
| Banca de defesa: | |
| 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 |