Repository logo
 
Publication

Análise de Repositórios GIT com Recurso a GraphQL

dc.contributor.advisorBettencourt, Nuno Miguel Gomes
dc.contributor.authorPinto, Miguel de Morais Teixeira
dc.date.accessioned2022-09-08T15:30:34Z
dc.date.available2023-07-20T00:31:36Z
dc.date.issued2022
dc.description.abstractCurrently, GIT repositories analysis tools play an important role in all software development teams, as they allow a detailed analysis of the interaction of all team members. It is important for a team leader to understand if the team is in fact being productive, and if not, he can use these tools to understand what can be improved to achieve that goal. In 2012, facebook launched a query language called GraphQL, which was only released to the general public in 2015. Since then, this language has been gaining more and more popularity, being touted as a possible successor to the REST API. This language has several advantages, namely in terms of application performance and flexibility. Currently this language is already used by large companies such as Facebook, Netflix, GitHub and PayPal. Given the evolution of the language, the possibility of creating a solution capable of providing a GraphQL API emerged in an academic context. As the use of this tool is often associated with a microservices architecture, this architecture was also chosen for the construction of the solution. The fact that both are recent concepts also contributes to the choice, thus ensuring a greater ease of updating the solution over time. One of the conclusions of this study is that the use of a GraphQL API makes it easier for the user to obtain the desired answer. It is not possible to say that the use of GraphQL is always advantageous over the use of REST, being necessary to evaluate for any solution which tool is most justified or else the use of both simultaneously, which is also a possibility. Regarding the integrated tools, it was also concluded that the application of MapReduce techniques does not improve the performance of the solution, producing exactly the opposite effect.pt_PT
dc.description.abstractAtualmente as ferramentas de análise de repositórios GIT desempenham um papel importante em todas as equipas de desenvolvimento de software, uma vez que permitem uma análise detalhada da interação de todos os membros da equipa. É importante para um chefe de equipa perceber se a equipa está de facto a ser produtiva, e se não estiver, pode recorrer a estas ferramentas para perceber o que pode ser melhorado para atingir esse objetivo. Em 2012, o facebook lançou uma linguagem de consulta chamada GraphQL, que apenas foi lançada ao público em geral em 2015. Deste então, esta linguagem tem vindo a ganhar cada vez mais popularidade, sendo apontada como a possível sucessora da API REST. Esta linguagem apresenta diversas vantagens, nomeadamente ao nível do desempenho e flexibilidade das aplicações. Atualmente esta linguagem já é usada por grandes empresas como Facebook, Netflix, GitHub e PayPal. Dada a evolução da linguagem, surgiu em contexto académico a possibilidade de criar uma solução que fosse capaz de disponibilizar uma API GraphQL. Como o uso desta ferramenta surge muitas vezes associado a uma arquitetura de microserviços, foi também escolhida esta arquitetura para a construção da solução. O facto de serem ambos conceitos recentes também contribui para a escolha, garantindo assim uma maior facilidade de atualização da solução ao longo do tempo. Uma das conclusões deste estudo é que o uso de uma API GraphQL oferece ao utilizador uma maior facilidade em obter a resposta pretendida. Não é possível afirmar que o uso de GraphQL é sempre vantajoso relativamente ao uso de REST, sendo necessário avaliar para qualquer solução qual a ferramenta que mais se justifica ou então o uso das duas em simultâneo, que também é uma possibilidade. Relativamente às ferramentas integradas, chegou-se também à conclusão de que a aplicação de técnicas de MapReduce não melhora a performance da solução, produzindo exatamante um efeito oposto.pt_PT
dc.identifier.tid203045440pt_PT
dc.identifier.urihttp://hdl.handle.net/10400.22/20850
dc.language.isoengpt_PT
dc.subjectGraphQLpt_PT
dc.subjectMicroservicespt_PT
dc.subjectGITpt_PT
dc.titleAnálise de Repositórios GIT com Recurso a GraphQLpt_PT
dc.title.alternativeGIT Repository Analysis Exposed via GraphQLpt_PT
dc.typemaster thesis
dspace.entity.typePublication
rcaap.rightsopenAccesspt_PT
rcaap.typemasterThesispt_PT
thesis.degree.nameMestrado em Engenharia Informática - Engenharia de Softwarept_PT

Files

Original bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
DM_MiguelPinto_2022_MEI.pdf
Size:
6.77 MB
Format:
Adobe Portable Document Format
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
1.71 KB
Format:
Item-specific license agreed upon to submission
Description: