System Decomposition of Monolithic Web Applications into Microservices
A single system is divided into small, independently deployed services to be seen as a microservice design, and these services are then orchestrated as a whole using a simple lightweight mechanism. Low coupling means that each service in a microservice architecture relies primarily on its resources to carry out its function. (high cohesion). This thesis proposes a novel methodology which decomposes a monolith or other systems with different architectures into microservices and can also reorder the architecture of a microservice to an optimal one, this is done in such a way that each microservice will function independently of other microservices while preserving its original feature provided within the previous architecture, we establish a set of rules which supports optimized distribution of the functionality. We apply the approach to real systems. This is a rule-based approach that looks for specific scenarios in the interaction of components within the system and applies already predefined rules to deal with the scenarios. We applied this rule-based decomposition system to multiple systems, resulting in microservices. We make use of test case generation to extract behavioural data from the system, to identify resources that play a role in enabling the microservice to fulfil its function, the types of testing utilized are unit testing, model-based testing and fuzzy testing, we calculate the coverage as we apply this types of testing in retrieving trace data, and coverage improved as we apply this different types of testing. These traces are analyzed and represented graphically. This thesis also provides a methodology which gives an in-depth comparative analysis between multiple decomposition approaches to measure the effectiveness of each approach against another, this is done by measuring efficiency, maintainability, cohesiveness and usability for two approaches while comparing results for each metric. We also identify research done on migrating from monoliths to microservices, we then compare these approaches with the Rule-Based Approach.
History
Supervisor(s)
Reiko HeckelDate of award
2023-11-24Author affiliation
Department of InformaticsAwarding institution
University of LeicesterQualification level
- Doctoral
Qualification name
- PhD