Font Size: a A A

Research Of Microservice-oriented System Decomposition Method Based On Domain-Driven Design And Business Overview Event Storming

Posted on:2022-10-02Degree:MasterType:Thesis
Country:ChinaCandidate:Z J JiaFull Text:PDF
GTID:2518306725492884Subject:Software engineering
Abstract/Summary:PDF Full Text Request
Microservice architecture(MSA)has become a hot topic in Software Engineering(SE).Many survey reports indicate that more and more software development organizations are undertaking or planning their development of software systems based on microservices architecture.Microservice architecture is a distributed solution for software systems that advocates the use of fine-grained services and the delivery of business value through the collaborative work of these services.At the same time,microservice architecture advocates modeling around the business domain rather than data,so as to avoid many of the problems caused by traditional monolithic architecture,such as architectural drift.Besides,microservice architecture will provide software development organizations with clearer system boundaries and organizational structure,more flexibility to experiment new technologies,and higher delivery capability in response to business changes.However,there are many challenges for practitioners of microservice architectures,the most critical of which is the lack of a definitive approach to microserviceoriented system decomposition.Improper decomposition will make a software system based on microservice architecture very difficult to operate,test,and monitor.Compared with migrating from legacy systems to microservice-based systems,the industry focus more on microservice-oriented system decomposition in the scenarios where software systems are built from business requirements.Therefore,it is of high research and practical value to propose a well-structured and defined microservice-oriented system decomposition method for the scenarios of building a new software system.Through in-depth investigation and analysis of academic and industrial literature on microservice-oriented system decomposition methods,Domain-Driven Design,and Event Storming,this thesis proposes a microservice-oriented system decomposition method based on Domain-Driven Design and Business Overview Event Storming for the scenarios where software systems are built from business requirements.This method can be divided into three phases,namely,the inception phase of Domain-Driven Design,the workshop phase of Business Overview Event Storming,and the decisionmaking phase of microservice-oriented system decomposition.The main effort of the inception phase lies on making the domain experts and the software development team reach an agreement on the business expectations and functional requirements,forming the Ubiquitous Language,and identifying the core business processes of the target software system,in order to provide input for the subsequent phases.In the workshop phase of Business Overview Event Storming,the business experts and the software design team participate in the domain modeling process of the target software system with guidance and obtain the results of the identified Bounded Context.In the decisionmaking phase of microservice-oriented system decomposition,the final design decision is made by comprehensively considering the Bounded Context results,design principles,external environmental factors,and non-functional requirements.Finally,to justify the rationality of the method proposed in this thesis,an controlled experiment was carried out in a university environment.The results of the experimental study shows that the proposed microservice-oriented system decomposition method works significantly better than the method in which a decomposition decision is based on the subjective experience of the software design team in terms of meeting expectations.Meanwhile,the controlled experiment also offers the initial feedback to this method which will further help its application in the practical software development environment.
Keywords/Search Tags:Microservice, Architecture Design, Decomposition Method, Domain-Driven Design, Event Storming
PDF Full Text Request
Related items