Automated Microservice Identification from Design Model

Conference: CIBDA 2022 - 3rd International Conference on Computer Information and Big Data Applications
03/25/2022 - 03/27/2022 at Wuhan, China

Proceedings: CIBDA 2022

Pages: 7Language: englishTyp: PDF

Authors:
Zhou, Xiaolong; Xiong, Jingliu (School of Computer and Information Science, Southwest University, Chongqing, China)

Abstract:
In recent years, with the growing popularity of DevOps, microservices architecture has become a popular topic in both academia and industry for its agility, flexibility and scalability. A big challenge in designing a microservices architecture is to find an appropriate partition of the system into microservices. Domain-driven design is widely used as the guiding principle of microservices design, but this approach lacks unified modelling language and tools, and the design process mainly depends on the experience and intuition of architects. In this article, we present an approach to automatically extract microservices from a design model. A design model consists of a design class diagram, use case definitions specified by object sequence diagrams. Our work firstly parses the XML file of the design model to obtain the critical information of a design model, including class name, class attributes, class methods, and the method call between classes. Then, the relation between classes is evaluated by a relation matrix from the static and dynamic perspective. Subsequently, controller classes are identified as the boundary of the microservices. We ultimately cluster classes into the microservices by optimizing the multi-objective of high cohesion, low coupling and low network load. A prototype demo is designed and implemented to support the automation of the approach in the way of a web application. A case study is applied to illustrate the usefulness of the proposed approach.