A dataflow-driven approach to identifying microservices from monolithic applications

Li S.; Zhang H.; Jia, Z.; Li Z.; Zhang C.; Li J.; Gao Q.; Ge J.; Shan Z.

Abstract

Microservices architecture emphasizes employing multiple small-scale and independently deployable microservices, rather than encapsulating all function capabilities into one monolith. Correspondingly, microservice-oriented decomposition, which has been identified to be an extremely challenging task, plays a crucial and prerequisite role in developing microservice-based systems. To address the challenges in such a task, we propose a dataflow-driven semi-automatic decomposition approach. In particular, a four-step decomposition procedure is defined: (1) conduct the business requirement analysis to generate use case and business logic specification; (2) construct the fine-grained Data Flow Diagrams (DFD) and the process-datastore version of DFD (DFDPS) representing the business logics; (3) extract the dependencies between processes and datastores into decomposable sentence sets; and (4) identify candidate microservices by clustering processes and their closely related datastores into individual modules from the decomposable sentence sets. To validate this microservice-oriented decomposition approach, we performed a case study on Cargo Tracking System that is a typical case decomposed by other microservices identification methods (Service Cutter and API Analysis), and made comparisons in terms of specific coupling and cohesion metrics. The results show that the proposed dataflow-driven decomposition approach can recommend microservice candidates with sound coupling and cohesion through a rigorous and easy to-operate implementation with semi-automatic support. (C) 2019 Elsevier Inc. All rights reserved.

Más información

Título según WOS: A dataflow-driven approach to identifying microservices from monolithic applications
Título según SCOPUS: A dataflow-driven approach to identifying microservices from monolithic applications
Título de la Revista: JOURNAL OF SYSTEMS AND SOFTWARE
Volumen: 157
Editorial: Elsevier Science Inc.
Fecha de publicación: 2019
Idioma: English
DOI:

10.1016/j.jss.2019.07.008

Notas: ISI, SCOPUS