A dataflow-driven approach to identifying microservices from monolithic applications

Shanshan Li, He Zhang, Zijia Jia, Zheng Li, Cheng Zhang*, Jiaqi Li, Qiuya Gao, Jidong Ge, Zhihao Shan

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

69 Citations (Scopus)

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.


Original languageEnglish
Article number110380
Number of pages16
JournalJournal of Systems and Software
Volume157
Early online date13 Aug 2019
DOIs
Publication statusPublished - 01 Nov 2019
Externally publishedYes

Keywords

  • Business logic(s)
  • Data flow
  • Decomposition
  • Microservices
  • Monolith
  • Software engineering

ASJC Scopus subject areas

  • Software
  • Information Systems
  • Hardware and Architecture

Fingerprint

Dive into the research topics of 'A dataflow-driven approach to identifying microservices from monolithic applications'. Together they form a unique fingerprint.

Cite this