Software Architectures for Reusable Cloud Components
Friman, Ville (2020)
Friman, Ville
2020
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2020120426154
https://urn.fi/URN:NBN:fi:amk-2020120426154
Tiivistelmä
Software development has become faster during last decade through technological advances and new software development methodologies. Same time business is in constant stage of change. To meet the requirements of this stage business requires changes in existing software applications and also new applications. These constant change requirements put lots of stress on the software architecture.
This thesis first goes explaining why software architecture matters and what kind of characteristics there are to consider when choosing software architecture. From those characteristics three are chosen that support change, extendability, and maintability. Based on those characteristics two software architectures are chosen.
A small application was implemented with the chosen architectures as a proof of concept. The application is a cloud application which supports more traditional way to serve software and newer more on demand way to serve software while sharing the business logic. The application shows that it is possible to implemented reusable, extendable and maintable application with the chosen architectures. The software characteristics should be always weighted against the needs of the project because different characteristics might be exclusive of each other.
This thesis first goes explaining why software architecture matters and what kind of characteristics there are to consider when choosing software architecture. From those characteristics three are chosen that support change, extendability, and maintability. Based on those characteristics two software architectures are chosen.
A small application was implemented with the chosen architectures as a proof of concept. The application is a cloud application which supports more traditional way to serve software and newer more on demand way to serve software while sharing the business logic. The application shows that it is possible to implemented reusable, extendable and maintable application with the chosen architectures. The software characteristics should be always weighted against the needs of the project because different characteristics might be exclusive of each other.