Mostrar registro simples

dc.creatorAraújo, Maria Gabrielly de Almeida
dc.date.accessioned2025-01-29T18:33:14Z
dc.date.available2025-01-29T18:33:14Z
dc.date.issued2024-12-06
dc.identifier.urihttps://repositorio.ifpe.edu.br/xmlui/handle/123456789/1491
dc.description.abstractThis work aimed to perform a comparative analysis of the performance of RESTful APIs developed with Node.js, .NET, and Go, using the k6 tool to measure response times in different load scenarios. The adopted methodology was experimental, involving the implementation of the APIs in each of the mentioned technologies and the execution of controlled tests in a stable environment. The results showed that ASP.NET Core exhibited the best performance under high request loads, while Node.js was efficient in lower load scenarios. Go, on the other hand, demonstrated a balance between performance and simplicity, making it suitable for applications that require moderate scalability. It is concluded that the choice of technology for developing RESTful APIs should consider the specific usage context and the demand for simultaneous requests, as each platform has distinct advantages in terms of performance and scalability.pt_BR
dc.format.extent86f.pt_BR
dc.languagept_BRpt_BR
dc.relationARAÚJO, Maria Gabrielly de Almeida. tcc-codes. 2024. Disponível em: https://github.com/mgGabrielly/tcc-codes.git. Acesso em: 01 out. 2024. BITTENCOURT, André Luiz de Moura Ramos. Uma comparação de performance entre arquitetura GraphQL e REST. Brasília: Universidade de Brasília, 2021. 54 f. Trabalho de Conclusão de Curso (Bacharelado em Ciência da Computação) – Instituto de Ciências Exatas, Departamento de Ciência da Computação, Universidade de Brasília, 2021. Disponível em: https://bdm.unb.br/bitstream/10483/31169/1/2021_AndreLuizRamosBittencourt_tcc.pdf. Acesso em: 17 ago. 2024. CAMPBELL, Donald T; STANLEY, Julian C. Experimental and quasi-experimental designs for research. [S.l.]: Ravenio Books, 2015. Disponível em: https://www.sfu.ca/~palys/Campbell&Stanley-1959-Exptl&QuasiExptlDesignsForResearch.p df. Acesso em: 23 jun. 2024. CARMO, Klayver Ximenes. Um estudo comparativo entre tecnologias de back-end: Node.js, Django REST Framework e ASP.NET Core. 2023. 106 f. Trabalho de conclusão de curso (Graduação em Engenharia de Computação) Universidade Federal do Ceará, Campus de Sobral, Sobral, 2023. Disponível em: http://repositorio.ufc.br/handle/riufc/77574. Acesso em: 14 ago. 2024. CHIMUCO, Pedro Ventura Lucunde; BARBOSA, Ana Claudia Garcia. Validação de carga em testes de desempenho de APIs de cadastro de usuários: Garantindo qualidade e eficiência com Docker e K6. 2024. Trabalho de Conclusão de Curso (Graduação em Engenharia de Software) – Universidade do Extremo Sul Catarinense, Criciúma, 2024. Disponível em: http://repositorio.unesc.net/handle/1/10988. Acesso em: 26 ago. 2024. CHINA, Chrystal R. GraphQL vs. REST API: What’s the difference? IBM Blog, 29 mar. 2024. Disponível em: https://www.ibm.com/blog/graphql-vs-rest-api. Acesso em: 14 ago. 2024. COZBY, P. Métodos de Pesquisa em Ciências do Comportamento. 5. ed. São Paulo: Editora Atlas S.A., 2012. Disponível em: https://edisciplinas.usp.br/pluginfile.php/7920584/mod_resource/content/3/Cozby_P._C._200 3_._Metodos_de_pesquisa_e.pdf. Acesso em: 24 jun. 2024. DALBARD, Axel; ISACSON, Jesper. Comparative study on performance between ASP.NET and Node.js Express for web-based calculation tools. 2021. Trabalho de Conclusão de Curso (Graduação em Engenharia da Computação) – Jönköping University, Jönköping, 2021. Disponível em: https://www.diva-portal.org/smash/record.jsf?pid=diva2%3A1572101&dswid=1215. Acesso em: 17 set. 2024. DEMIR, Dennis; NILSSON, Edward. Performance comparison of REST vs GraphQL in different web environments: Node.js and Python. Västerås: Mälardalen University, 2023. 29 f. Trabalho de Conclusão de Curso (Bacharelado em Ciência da Computação) – School of Innovation, Design and Engineering, Mälardalen University, 2023. Disponível em: https://urn.kb.se/resolve?urn=urn:nbn:se:lnu:diva-121877. Acesso em: 22 ago. 2024. DHALLA, H. K. A performance comparison of RESTful applications implemented in Spring Boot Java and MS.NET Core. Journal of Physics: Conference Series, v. 1933, p. 012041, 2021. Disponível em: https://doi.org/10.1088/1742-6596/1933/1/012041. Acesso em: 22 jun. 2024. ECHO. Echo Documentation. [s.d.]. Disponível em: https://echo.labstack.com/. Acesso em: 17 set. 2024. EHSAN, A.; ABUHALIQA, M. A. M. E.; CATAL, C.; MISHRA, D. RESTful API testing methodologies: rationale, challenges, and solution directions. Applied Sciences, v. 12, n. 9, p. 4369, 2022. DOI: 10.3390/app12094369. Disponível em: https://doi.org/10.3390/app12094369. Acesso em: 17 ago. 2024. FIELDING, Roy et al. Hypertext Transfer Protocol–HTTP/1.1. 1999. Disponível em: https://www.rfc-editor.org/rfc/rfc2616?data1=dwnsb4B&data2=abmurltv2b. Acesso em: 18 ago. 2024. FIELDING, Roy Thomas. Architectural styles and the design of network-based software architectures. 2000. Tese (Doutorado em Ciência da Computação) — University of California, Irvine, 2000. Disponível em: https://ics.uci.edu/~fielding/pubs/dissertation/fielding_dissertation.pdf. Acesso em: 10 ago. 2024. GO. GO FOR WEB DEVELOPMENT. 2019. Disponível em: https://go.dev/solutions/webdev. Acesso em: 17 set. 2024. GOLMOHAMMADI, A.; ZHANG, M.; ARCURI, A. Testing RESTful APIs: a survey. ACM Transactions on Software Engineering and Methodology, v. 33, n. 1, Art. 27, p. 1-41, nov. 2023. DOI: 10.1145/3617175. GOODWIN, Michael. O que é uma API (interface de programação de aplicativos)? IBM, 09 abr. 2024. Disponível em: https://www.ibm.com/br-pt/topics/api. Acesso em: 12 ago. 2024. GRAFANA. Grafana k6. [s.d.]. Grafana Documentation. Disponível em: https://grafana.com/docs/k6/latest/. Acesso em: 26 ago. 2024. GRAY, D. E. Pesquisa no mundo real. 2. ed. Porto Alegre: Penso, 2012. Disponível em: https://www.academia.edu/24859386/Livro_Pesquisa_no_Mundo_Real_David_E_Gray. Acesso em: 23 jun. 2024. JONSSON, Max; QVARNSTRÖM, Eric. A performance comparison on REST-APIs in Express.js, Flask and ASP.NET Core. Västerås, Sweden: Mälardalen University, 2022. 40 f. Trabalho de Conclusão de Curso (Bacharelado em Ciência da Computação) – School of Innovation, Design and Engineering, Mälardalen University, 2022. Disponível em: https://www.diva-portal.org/smash/get/diva2:1669487/FULLTEXT01.pdf. Acesso em: 17 ago. 2024. KARLSSON, Oliver. A performance comparison between ASP.NET Core and Express.js for creating Web APIs. 2021. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação) – Jönköping University, Jönköping, 2021. Disponível em: https://www.diva-portal.org/smash/record.jsf?pid=diva2%3A1586295&dswid=-8074. Acesso em: 17 set. 2024. KRYLOV, Georgiy; PATROU, Maria; DUECK, Gerhard W.; SIU, Joran. The Evolution of Garbage Collection in V8: Google’s JavaScript Engine. In: 2020 9th Mediterranean Conference on Embedded Computing (MECO), 8-11 junho 2020, Budva, Montenegro. IEEE, 2020. p. 1-8. Disponível em: https://www.doi.org/10.1109/MECO49872.2020.9134326. Acesso em: 22 ago. 2024. LEITE, Gabriel. Saiba o que é JSON e como utilizar. Alura, 05 set. 2023. Disponível em: https://www.alura.com.br/artigos/o-que-e-json. Acesso em: 18 ago. 2023. LOUZADA, Vinícius; CARVALHO, Caroline; LARANJA, Emerson. API: o que é, para quê serve e qual é a sua importância. Alura, 01 mar. 2024. Disponível em: https://www.alura.com.br/artigos/api. Acesso em: 14 ago. 2024. MAIOR, Milton José Vieira Souto. Análise Comparativa de Performance de Frameworks para APIs Rest. 2023. 55 f. Trabalho de Conclusão de Curso (Bacharelado em Sistemas de Informação) – Centro de Informática, Universidade Federal de Pernambuco, 2023. Disponível em:https://repositorio.ufpe.br/bitstream/123456789/50396/9/TCC_MiltonJoseVieiraSoutoMai or_mjvsm.pdf. Acesso em: 18 ago. 2024. MARCONI, M. d. A.; LAKATOS, E. M. Metodologia do trabalho científico. 8ª. ed. São Paulo-SP: Editora Atlas, 2017. Disponível em: https://edisciplinas.usp.br/pluginfile.php/7237618/mod_resource/content/1/Marina%20Marco ni%2C%20Eva%20Lakatos_Fundamentos%20de%20metodologia%20cient%C3%ADfica.pd f. Acesso em: 24 jun. 2024. MASO, Nicolas Nascimento. Comparativo entre arquiteturas de APIs - REST, GraphQL e gRPC. 2024. Trabalho de Conclusão de Curso (Bacharelado em Sistemas de Informação) – Universidade Federal de Santa Catarina, Florianópolis, 2024. Disponível em: https://repositorio.ufsc.br/bitstream/handle/123456789/255699/TCC%20-%20Nicolas%20Nas cimento%20Maso.pdf?sequence=1&isAllowed=y. Acesso em: 28 ago. 2024. MIAZAKI, Alison. GraphQL, REST, RPC e SOAP? Medium, 19 mar. 2021. Disponível em: https://alisonmiazaki.medium.com/graphql-rest-rpc-e-soap-79a361e1a59e. Acesso em: 14 ago. 2024. MICROSOFT. Overview of ASP.NET Core. 2024. Disponível em: https://learn.microsoft.com/en-us/aspnet/core/introduction-to-aspnet-core?view=aspnetcore-8. 0. Acesso em: 17 set. 2024. MORAES, Edmilson. K6 x JMeter: comparativo de ferramentas para testes de carga. Blog Vericode, 29 ago. 2023. Disponível em: https://blog.vericode.com.br/ferramentas-teste-de-carga-k6-jmeter/. Acesso em: 26 ago. 2024. MOZILLA. Uma visão geral do HTTP. Disponível em: https://developer.mozilla.org/pt-BR/docs/Web/HTTP/Overview. Acesso em: 18 ago. 2024. NESTJS. Nestjs Documentação. [s.d.]. Disponível em: https://docs.nestjs.com/. Acesso em: 22 ago. 2024. PEREIRA, Caio Ribeiro. Aplicações web real-time com Node.js. São Paulo: Casa do Código, 2014. 202 p. PEROVANO, Dalton Gean. Manual de metodologia da pesquisa científica. 1. ed. Curitiba: Intersaberes, 2016. E-book. Disponível em: https://plataforma.bvirtual.com.br. Acesso em: 24 jun. 2024. PETROSYAN, A. Global number of internet users 2005-2023. Statista, 22 maio 2024. Disponível em: https://www.statista.com/statistics/273018/number-of-internet-users-worldwide/. Acesso em: 18 set. 2024. PROVDANOV, C. C.; FREITAS, E. C. de. Metodologia do trabalho científico: métodos e técnicas da pesquisa e do trabalho acadêmico. Novo Hamburgo: Feevale, 2013. Disponível em: https://doi.org/10.1017/CBO9781107415324.004. Acesso em: 24. jun. 2024. RAZA, Syed Muhammad Ali. API (Application Programming Interfaces) Types. DEV Community, 10 set. 2023. Disponível em: https://dev.to/syedmuhammadaliraza/api-application-programming-interfaces-types-k3g. Acesso em: 14 ago. 2024. SABO, Mario. NestJS. Osijek, Croácia: Josip Juraj Strossmayer University of Osijek, 2020. 42 f. Trabalho de Conclusão de Curso (Bacharelado em Matemática e Ciência da Computação) – Departamento de Matemática, Josip Juraj Strossmayer University of Osijek, 2020. Documento em croata. Disponível em: https://zir.nsk.hr/islandora/object/mathos:441. Acesso em: 21 ago. 2024. SEVERINO, A. J. Metodologia do Trabalho científico. São Paulo: Cortez Editora, 2017. ISBN 978- 8524925207. Disponível em: https://plataforma.bvirtual.com.br. Acesso em: 24 jun. 2024. SHKODRA, Endrit; JAJAGA, Edmond; SHALA, Mehmet. Development and performance analysis of RESTful APIs in Core and Node.js using MongoDB database. In: Proceedings of the 17th International Conference on Web Information Systems and Technologies (WEBIST 2021), SciTePress, p. 227-234, 2021. Disponível em: https://www.scitepress.org/Papers/2021/106212/106212.pdf. Acesso em: 18 set. 2024. SOUZA, Estêvão Henrique Cangussú de et al. Estudo comparativo de desempenho entre API desenvolvida com Spring WebFlux e Node.js. II Worktec - Workshop de Tecnologia da Fatec Ribeirão Preto, [S. l.], v. 1, p. 1-2, 3 ago. 2020. Disponível em: http://www.fatecrp.edu.br/WorkTec/edicoes/2020-2/index.html. Acesso em: 13 ago. 2024. SRIVASTAVA, Anushka. CRUD API. 2023. Trabalho de Conclusão de Curso (Bacharelado em Engenharia da Computação) – Jaypee University of Information Technology, Himachal Pradesh, 2023. Disponível em: http://www.ir.juit.ac.in:8080/jspui/handle/123456789/9864. Acesso em: 17 set. 2024. TELLES, Diego. Princípios de uma API REST. 2023. Disponível em: https://unicorncoder.medium.com/princ%C3%ADpios-de-uma-api-rest-c8e08c2ba331. Acesso em: 18 ago. 2024. TROCHIM, W.; DONNELLY, J. P. The Research Methods Knowledge Base: Types of designs. 2020. WebRef. Disponível em: https://faculty.cengage.com/titles/9781133954774. Acesso em: 25 jun. 2024. Yin, R. K. Estudo de caso: planejamento e métodos. Syria Studies, v. 7, n. 1, 2004. Disponível em: http://maratavarespsictics.pbworks.com/w/file/fetch/74304716/3-YIN-planejamento_metodol ogia.pdf. Acesso em: 25 jun. 2024pt_BR
dc.rightsAcesso Abertopt_BR
dc.rightsAn error occurred on the license name.*
dc.rights.uriAn error occurred getting the license - uri.*
dc.subjectDesenvolvimento de Softwarept_BR
dc.subjectAplicações web - desempenhopt_BR
dc.subjectTecnologia da informaçãopt_BR
dc.subjectSistemas de informaçãopt_BR
dc.titleAnálise comparativa de desempenho de APIs RESTful em Node.js, .NET e Go com K6pt_BR
dc.typeTCCpt_BR
dc.creator.Latteshttp://lattes.cnpq.br/4963392179808067pt_BR
dc.contributor.advisor1Nascimento, Jobson Tenório do
dc.contributor.advisor1Latteshttp://lattes.cnpq.br/0354768265096456pt_BR
dc.contributor.referee1Torres, Elton Bezerra
dc.contributor.referee2Silva, José Fernando da
dc.contributor.referee1Latteshttp://lattes.cnpq.br/0943345989607946pt_BR
dc.contributor.referee2Latteshttp://lattes.cnpq.br/5610501420140902pt_BR
dc.publisher.departmentBelo Jardimpt_BR
dc.publisher.countryBrasilpt_BR
dc.subject.cnpqCIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOpt_BR
dc.description.resumoEste trabalho teve como objetivo realizar uma análise comparativa de desempenho de APIs RESTful desenvolvidas com Node.js, .NET e Go, utilizando a ferramenta k6 para medir o tempo de resposta em diferentes cenários de carga. A metodologia adotada foi de caráter experimental, com a implementação das APIs em cada uma das tecnologias mencionadas e a execução de testes controlados em um ambiente estável. Os resultados obtidos mostraram que o ASP.NET Core apresentou o melhor desempenho sob altas cargas de requisições, enquanto o Node.js foi eficiente em cenários de menor carga. A tecnologia Go, por sua vez, demonstrou um equilíbrio entre desempenho e simplicidade, sendo adequada para aplicações que exigem escalabilidade moderada. Conclui-se que a escolha da tecnologia para o desenvolvimento de APIs RESTful deve considerar o contexto específico de uso e a demanda de requisições simultâneas, uma vez que cada plataforma possui vantagens distintas em termos de desempenho e escalabilidade.pt_BR


Arquivos deste item

Thumbnail
Thumbnail

Este item aparece na(s) seguinte(s) coleção(s)

Mostrar registro simples