Repository logo
 
Loading...
Thumbnail Image
Publication

Reengenharia de uma plataforma web monolítica para um sistema SAAS de microserviços aplicando os conceitos Domain Driven Design e Repository Pattern

Use this identifier to reference this record.
Name:Description:Size:Format: 
Dissertacao_DavidLuna.pdf9.09 MBAdobe PDF Download

Abstract(s)

Na presente dissertação pretende-se explicar o processo utilizado para a reengenharia de uma aplicação em ambiente Web baseado na Framework 4.5 e que já tem um ciclo de vida superior a dez anos. Tendo sido descontinuada a presente Framework por parte da Microsoft, decidiu-se reconstruir a nova aplicação recorrendo às últimas Frameworks e tecnologias. A nova plataforma é assente na filosofia SaaS (Software as a Service), ou seja, cada utilizador só paga pelos módulos e tempo que utiliza e a mesma passa a ser disponibilizada como de um serviço se tratasse. A nova plataforma, intitulada daqui por diante por Web Cloud será desenvolvida baseada na nova Framework .NET 7 e posteriormente migrada para a versão 8, dividida em duas partes: uma API (Application Programming Interface) em C# responsável por todas as tarefas de BackEnd e comunicação com a base de dados. Esta API permite que sistemas externos desenvolvidos por clientes ou parceiros possam interagir com a mesma. Foi desenvolvido um componente FrontEnd em HTML (Hypertext Markup Language), CSS (Cascading Style Sheets) e JavaScript responsável por fazer a ponte entre o utilizador e a API, desenvolvida no sentido de efetuar o maior processamento do lado do cliente, de modo a torná-la mais rápida e amigável, ou seja, Client Side. A API está a ser planeada para tirar o maior partido da arquitetura de micro serviços disponibilizados pela Framework .net 7 e do ORM Entity Framework Core em conjunto com o ORM Dapper, estas são responsáveis por efetuar todos os pedidos e interações com a base de dados em SQL Server. Para esta interação foi implementado o padrão de repositório, centralizado e baseado numa unidade de trabalho para cada interação. O FrontEnd será desenvolvido em HTML conjuntamente com CSS para a parte visual e para a parte algorítmica será utilizado o JavaScript com o padrão MVVM (Model – View–View-Model). Para os componentes visuais das janelas serão utilizados os componentes da Syncfusion, licença comunitária e para manipulação das CSS recorreu se à utilização da Framework Bootstrap na sua última versão 5.0. No modelo a desenvolver pretende-se deixar todo o código com forte desacoplamento, ou seja, poucas dependências entre as classes, assim como uma grande escalabilidade ao nível de desenvolvimento de novos módulos e gestão da equipa de desenvolvimento. Todo o processo de desenvolvimento e divisão de tarefas será suportado pela metodologia de Scrum, recorrendo ao Azure Devops para a organização dos vários sprints, assim como a distribuição das várias tarefas.
Abstract: This dissertation aims to explain the process used to re-engineer a web application based on Framework 4.5, which has already had a more than ten-year lifecycle. Since Microsoft discontinued this framework, it rebuilt the new application using the latest frameworks and technologies. The new platform is based on the SaaS (Software as a Service) philosophy, i.e., each user only pays for the modules and time they use, and the service is made available. The new platform, Web Cloud, will be developed based on the latest .NET 7 Framework and later migrated to version 8, divided into two parts: an API (Application Programming Interface) in C# responsible for all the BackEnd tasks and communication with the database. This API allows external systems developed by clients or partners to interact with it. A FrontEnd component was developed in HTML (Hypertext Markup Language), CSS (Cascading Style Sheets) and JavaScript, responsible for bridging the gap between the user and the API, developed to carry out the most processing on the client side to make it faster and more user-friendly, i.e. Client Side. The API is planned to take full advantage of the microservices architecture provided by the .net 7 Framework and the Entity Framework Core ORM in conjunction with the Dapper ORM, responsible for making all requests and interactions with the SQL Server database. The repository standard was implemented for this interaction, centralised and based on a unit of work for each interaction. The FrontEnd will be developed in HTML together with CSS for the visual part, and JavaScript with the MVVM (Model-View-View-Model) standard will be used for the algorithmic part. For the visual components of Windows, Syncfusion components will be used under a community licence, and to manipulate the CSS, the Bootstrap Framework in its latest version, 5.0, will be used. The model to be developed aims to leave all the code with strong decoupling, i.e. few dependencies between classes, as well as great scalability in terms of developing new modules and managing the development team. The entire development process and division of tasks will be supported by the Scrum methodology, using Azure Devops to organise the various sprints and distribute the different tasks.

Description

Dissertação de Mestrado apresentada à Escola Superior de Tecnologia do Instituto Politécnico de Castelo Branco para cumprimento dos requisitos necessários à obtenção do Grau de Mestre em Desenvolvimento de Software e Sistema Interativos.

Keywords

Web Cloud BackEnd FrontEnd Net 8 JavaScript CSS Micro serviços Microservices

Citation

Research Projects

Organizational Units

Journal Issue

Publisher

CC License