PT
O desenvolvimento de aplicações web de nível empresarial que necessitam de se integrar
com diversos serviços externos levanta desafios arquiteturais significativos, especialmente
no que diz respeito à escalabilidade e à resiliência. As arquiteturas de software monolíticas
tradicionais têm dificuldade em dar resposta a estes problemas, uma vez que possuem
uma menor tolerância a erros e uma escalabilidade limitada, entre outras desvantagens.
Esta dissertação investiga a hipótese de que uma arquitetura de microsserviços hospedada
na cloud, e que emprega o padrão de API Gateway, é a abordagem mais adequada para
este tipo de aplicação. Para confirmar esta hipótese, foi desenhada e implementada uma
API web como prova de conceito, usando a indústria de transporte de fretes como domínio
de negócio. Esta API web integrou duas APIs externas: a WebCargo para transporte
aéreo e a Cargofive para transporte marítimo. A solução foi desenvolvida com recurso
à framework ASP.NET Core 8.0 e hospedada na platforma cloud Microsoft Azure, utilizando
vários serviços para a API Gateway, a hospedagem de microsserviços, as bases de
dados, entre outros. A eficácia da API web implementada foi demonstrada pelo cumprimento
de vários requisitos de software, abrangendo funcionalidade, resiliência, segurança,
desempenho e escalabilidade. Os resultados suportam a hipótese mencionada anteriormente.
Deste modo, conclui-se que a arquitetura proposta oferece a escalabilidade e a
resiliência necessárias para aplicações web de grande escala com necessidades complexas
de integração externa. Este trabalho contribui com um estudo de caso prático e extensivo,
diferindo assim da maioria da literatura encontrada sobre o tema.
EN
Developing enterprise-level web applications that need to integrate with heterogeneous
third-party services raises significant architectural challenges, especially regarding scalability
and resilience. Traditional monolithic software architectures struggle to address
these difficulties because they have a lower tolerance for errors and limited scalability,
among other drawbacks. This dissertation investigates the hypothesis that a cloud-hosted
microservices architecture, employing the Application Programming Interface (API) Gateway
pattern, is the most suitable approach for this type of application. To confirm this
hypothesis, a proof-of-concept web API was designed and implemented with freight forwarding
as its business domain. This web API integrated two distinct external APIs:
WebCargo for air transport and Cargofive for sea transport. The solution was developed
using the ASP.NET Core 8.0 framework and hosted on Microsoft Azure, utilizing various
Platform as a Service (PaaS) services for the API Gateway, microservice hosting, data
persistence, and more. The effectiveness of the implemented web API was demonstrated
by meeting various software requirements, covering functionality, resilience, security, performance,
and scalability. The results support the previously mentioned hypothesis, concluding
that the proposed architecture provides the necessary scalability and resilience
for large-scale web applications with complex external integration needs. This work contributes
a practical, extensive case study, thus differing from most of the noted literature
on the topic.