Name: | Description: | Size: | Format: | |
---|---|---|---|---|
11.56 MB | Adobe PDF |
Authors
Advisor(s)
Abstract(s)
Nas equipas de software modernas geralmente há uma pessoa responsável por tomar decisões
relativas à estrutura e arquitetura da aplicação a implementar, o Arquiteto de Software. Este
elemento é responsável por conceber a estrutura, ou arquitetura da aplicação a partir dos
requisitos atuais e futuros do software. Esta decisão acarreta um compromisso de médio-longo
prazo entre a equipa de desenvolvimento e a organização. Esta dissertação visa ajudar o
arquiteto de software a tomar essa decisão e enquadra duas das principais arquiteturas de
software usadas na atualidade: Arquiteturas Monolíticas e Arquiteturas de Micro serviços.
Foi feita uma introdução à temática, bem como a escolha de uma metodologia de estudo e
contextualização com o caso de estudo. De seguida foi efetuada uma revisão teórica de
conceitos como arquitetura de software, escalabilidade, arquiteturas monolíticas, micro
serviços, bem como outras arquiteturas de software para depois colocar esses conceitos em
prática no caso de estudo.
No caso de estudo foi feito um enquadramento ao software em estudo, bem como apresentadas
todas as ferramentas e tecnologias que foram usadas e por fim foi feita uma comparação entre
a arquitetura monolítica que o software tinha, com uma alteração que foi feita à arquitetura do
mesmo software para micro serviços e retiradas as devidas conclusões.
ABSTRACT: In modern software teams there is usually one person responsible for making decisions regarding the structure and architecture of the application to be implemented, the Software Architect. This element is responsible for designing the structure, or architecture of the application from the software current and future requirements. This decision entails a mediumlong-term commitment between the development team and the organization. This dissertation aims to help the software architect to make this decision and focuses on two of the main software architectures used today: monolithic architectures and microservices. An introduction was made to the subject matter, as well as the choice of a study methodology and contextualization with the case study. Then a theoretical revision of concepts such as software architecture, scalability, monolithic architectures, microservices, as well as other software architectures was carried out to later put these concepts into practice in the case study. In the case study, a contextualization was made for the software under study, as well as all the tools and technologies that were used, and finally a comparison was made between the monolithic architecture that the software had, to the microservices-based architecture that was later implemented.
ABSTRACT: In modern software teams there is usually one person responsible for making decisions regarding the structure and architecture of the application to be implemented, the Software Architect. This element is responsible for designing the structure, or architecture of the application from the software current and future requirements. This decision entails a mediumlong-term commitment between the development team and the organization. This dissertation aims to help the software architect to make this decision and focuses on two of the main software architectures used today: monolithic architectures and microservices. An introduction was made to the subject matter, as well as the choice of a study methodology and contextualization with the case study. Then a theoretical revision of concepts such as software architecture, scalability, monolithic architectures, microservices, as well as other software architectures was carried out to later put these concepts into practice in the case study. In the case study, a contextualization was made for the software under study, as well as all the tools and technologies that were used, and finally a comparison was made between the monolithic architecture that the software had, to the microservices-based architecture that was later implemented.
Description
Keywords
Arquiteturas de Software Arquitetura de micro serviços Arquitetura monolítica