While the recently emerged Microservices architectural style is widely discussed in literature, it is difficult to find clear guidance on the process of refactoring legacy applications. The importance of the topic is underpinned by high costs and effort of a refactoring process which has several other implications, e.g. overall processes (DevOps) and team structure. Software architects facing this challenge are in need of selecting an appropriate strategy and refactoring technique. One of the most discussed aspects in this context is finding the right service granularity to fully leverage the advantages of a Microservices architecture. This study first discusses the notion of architectural refactoring and subsequently compares 10 existing refactoring approaches recently proposed in academic literature. The approaches are classified by the underlying decomposition technique and visually presented in the form of a decision guide for quick reference. The review yielded a variety of strategies to break down a monolithic application into independent services. With one exception, most approaches are only applicable under certain conditions. Further concerns are the significant amount of input data some approaches require as well as limited or prototypical tool support.
Software Engineering Aspects of Continuous Development and New Paradigms of Software Production and Deployment
Jahr
2019
Seiten
128--141
Verlag
Springer
isbn
978-3-030-06019-0
file
:C$\backslash$:/Users/jbogner/AppData/Local/Mendeley Ltd./Mendeley Desktop/Downloaded/Fritzsch et al. - 2019 - From Monolith to Microservices A Classification of Refactoring Approaches(2).pdf:pdf
%0 Book Section
%1 fritzsch2019monolith
%A Fritzsch, Jonas
%A Bogner, Justus
%A Zimmermann, Alfred
%A Wagner, Stefan
%B Software Engineering Aspects of Continuous Development and New Paradigms of Software Production and Deployment
%C Toulouse, France
%D 2019
%E Bruel, Jean-Michel
%E Mazzara, Manuel
%E Meyer, Bertrand
%I Springer
%K imported iste-se myown
%P 128--141
%R 10.1007/978-3-030-06019-0_10
%T From Monolith to Microservices: A Classification of Refactoring Approaches
%U http://link.springer.com/10.1007/978-3-030-06019-0\_10
%X While the recently emerged Microservices architectural style is widely discussed in literature, it is difficult to find clear guidance on the process of refactoring legacy applications. The importance of the topic is underpinned by high costs and effort of a refactoring process which has several other implications, e.g. overall processes (DevOps) and team structure. Software architects facing this challenge are in need of selecting an appropriate strategy and refactoring technique. One of the most discussed aspects in this context is finding the right service granularity to fully leverage the advantages of a Microservices architecture. This study first discusses the notion of architectural refactoring and subsequently compares 10 existing refactoring approaches recently proposed in academic literature. The approaches are classified by the underlying decomposition technique and visually presented in the form of a decision guide for quick reference. The review yielded a variety of strategies to break down a monolithic application into independent services. With one exception, most approaches are only applicable under certain conditions. Further concerns are the significant amount of input data some approaches require as well as limited or prototypical tool support.
%@ 978-3-030-06019-0
@incollection{fritzsch2019monolith,
abstract = {While the recently emerged Microservices architectural style is widely discussed in literature, it is difficult to find clear guidance on the process of refactoring legacy applications. The importance of the topic is underpinned by high costs and effort of a refactoring process which has several other implications, e.g. overall processes (DevOps) and team structure. Software architects facing this challenge are in need of selecting an appropriate strategy and refactoring technique. One of the most discussed aspects in this context is finding the right service granularity to fully leverage the advantages of a Microservices architecture. This study first discusses the notion of architectural refactoring and subsequently compares 10 existing refactoring approaches recently proposed in academic literature. The approaches are classified by the underlying decomposition technique and visually presented in the form of a decision guide for quick reference. The review yielded a variety of strategies to break down a monolithic application into independent services. With one exception, most approaches are only applicable under certain conditions. Further concerns are the significant amount of input data some approaches require as well as limited or prototypical tool support.},
added-at = {2019-08-19T14:29:07.000+0200},
address = {Toulouse, France},
author = {Fritzsch, Jonas and Bogner, Justus and Zimmermann, Alfred and Wagner, Stefan},
biburl = {https://puma.ub.uni-stuttgart.de/bibtex/2369bccf9b1bd768f83f941ea2206bc33/jbogner},
booktitle = {Software Engineering Aspects of Continuous Development and New Paradigms of Software Production and Deployment},
doi = {10.1007/978-3-030-06019-0_10},
editor = {Bruel, Jean-Michel and Mazzara, Manuel and Meyer, Bertrand},
file = {:C$\backslash$:/Users/jbogner/AppData/Local/Mendeley Ltd./Mendeley Desktop/Downloaded/Fritzsch et al. - 2019 - From Monolith to Microservices A Classification of Refactoring Approaches(2).pdf:pdf},
interhash = {78ee15382f901623df49df57c5e0c152},
intrahash = {369bccf9b1bd768f83f941ea2206bc33},
isbn = {978-3-030-06019-0},
keywords = {imported iste-se myown},
pages = {128--141},
publisher = {Springer},
timestamp = {2019-08-19T12:34:01.000+0200},
title = {{From Monolith to Microservices: A Classification of Refactoring Approaches}},
url = {http://link.springer.com/10.1007/978-3-030-06019-0{\_}10},
year = 2019
}