Gysel, Michael and Kölbener, Lukas (2015) Service Cutter - A Structured Way to Service Decomposition. Bachelor thesis, HSR Hochschule für Technik Rapperswil.
BachelorThesisRev.pdf
Download (3MB) | Preview
Abstract
Decomposing a software system into smaller parts has been an important challenge in the software industry for many years. With the rise of distributed systems, it has become even more important to split a system into loosely coupled and highly cohesive parts. The architectural style Service Oriented Architecture (SOA) and the currently trending microservices tackle many challenges of such systems, but remain vague on how to decompose a system into services.
We propose a structured approach to service decomposition by providing a comprehensive catalog of 16 coupling criteria. We abstracted them from existing literature, the experience of our industry partner and our thesis advisor.
These coupling criteria are the basis of the Service Cutter tool, a prototype that extracts coupling information out of well-established software engineering artifacts such as domain models and use cases. Using this information, the Service Cutter suggests service cuts to assist an architect’s decomposition decisions.
We developed a scoring system that transforms the coupling data into an undirected, weighted graph. On this graph, we employ two graph clustering algorithms from the literature to find densely connected clusters as service candidates. This approach ensures that the Service Cutter produces service cuts that minimize coupling between services while promoting high cohesion within a service.
In our tests, we successfully decomposed two sample applications. Most scenarios resulted in applicable service cuts while others were inadequate. These results suggest that our structured and automated way to assist service decomposition decisions is a promising approach. The thesis lays the foundation for further research in this area.
Item Type: | Thesis (Bachelor) |
---|---|
Subjects: | Topics > Software > Software Modeling Area of Application > Development Tools Technologies > Programming Languages > Java Technologies > Databases > PostgreSQL Metatags > IFS (Institute for Software) |
Divisions: | Bachelor of Science FHO in Informatik > Bachelor Thesis |
Depositing User: | OST Deposit User |
Contributors: | Contribution Name Email Thesis advisor Zimmermann, Olaf UNSPECIFIED |
Date Deposited: | 17 Mar 2016 08:50 |
Last Modified: | 18 Mar 2016 09:24 |
URI: | https://eprints.ost.ch/id/eprint/476 |