Generation of Web API Definition Files, using a single platform, accordingly to the Design First Approach

Detalhes bibliográficos
Autor(a) principal: Carvalho, Tiago Emanuel Andrade de
Data de Publicação: 2021
Tipo de documento: Dissertação
Idioma: eng
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: http://hdl.handle.net/10400.22/20246
Resumo: With the increasing usage of the Internet, the development of Web Application Programming Interface (API)s became one of the most important areas of software development. Along the years, how this development was made, how the security was approached and how much time was spent in the project outside of the development part changed. One of these changes was the introduction of Web API definition files, that specify how clients and servers communicate and what resources are provided. With this, different methodologies of work to create clients and servers appeared. The approaches studied in this dissertation were Code First Approach, were the development happens before the generation of these files, and Design First Approach, were the definition files are created before the development of the software. The objective of this dissertation is the study of a new solution to the creation of Web API definition files, that follows the Design First Approach, that are aided by a graphic interface, and a server, where definitions files can be saved, associated with projects. These can have multiple files associated. To better understand how the solution defined in this dissertation brings new ideas and a different approach to the Design First Approach, multiple solutions were analyzed, along with the possible solution that responds to the objective of this dissertation. During this analysis, the functional and non functional requirements were defined, along with the use cases and data model, for the development of a REpresentational State Transfer (REST) API based solution. With this analysis, a prototype was created and tested, following a set of tests defined. The defined tests were executed in a controlled environment, but don’t completely reflect a real situation, were multiple requests are made by users. The tests still revealed that the prototype can generate correct specifications, to be used in the development of servers and clients and these can be correctly saved in the server, without taking much time to respond to the client (less than 400 ms on the tests, acceptable in the context of the test conditions). It was concluded that the solution has high potential to be an alternative to the current solutions in the market, bringing the idea of projects and server-side file saving and a better functionality of the web site, thanks to its graphic interface that shows what content is needed in a specification, reducing errors on the creation of specifications. Keywords: REST, Specification, Web API, Design First Development, Functionality
id RCAP_eb2b77a1a5fb039065bdc14a8a0b85df
oai_identifier_str oai:recipp.ipp.pt:10400.22/20246
network_acronym_str RCAP
network_name_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository_id_str 7160
spelling Generation of Web API Definition Files, using a single platform, accordingly to the Design First ApproachRESTSpecificationWeb APIDesign First DevelopmentFunctionalityWith the increasing usage of the Internet, the development of Web Application Programming Interface (API)s became one of the most important areas of software development. Along the years, how this development was made, how the security was approached and how much time was spent in the project outside of the development part changed. One of these changes was the introduction of Web API definition files, that specify how clients and servers communicate and what resources are provided. With this, different methodologies of work to create clients and servers appeared. The approaches studied in this dissertation were Code First Approach, were the development happens before the generation of these files, and Design First Approach, were the definition files are created before the development of the software. The objective of this dissertation is the study of a new solution to the creation of Web API definition files, that follows the Design First Approach, that are aided by a graphic interface, and a server, where definitions files can be saved, associated with projects. These can have multiple files associated. To better understand how the solution defined in this dissertation brings new ideas and a different approach to the Design First Approach, multiple solutions were analyzed, along with the possible solution that responds to the objective of this dissertation. During this analysis, the functional and non functional requirements were defined, along with the use cases and data model, for the development of a REpresentational State Transfer (REST) API based solution. With this analysis, a prototype was created and tested, following a set of tests defined. The defined tests were executed in a controlled environment, but don’t completely reflect a real situation, were multiple requests are made by users. The tests still revealed that the prototype can generate correct specifications, to be used in the development of servers and clients and these can be correctly saved in the server, without taking much time to respond to the client (less than 400 ms on the tests, acceptable in the context of the test conditions). It was concluded that the solution has high potential to be an alternative to the current solutions in the market, bringing the idea of projects and server-side file saving and a better functionality of the web site, thanks to its graphic interface that shows what content is needed in a specification, reducing errors on the creation of specifications. Keywords: REST, Specification, Web API, Design First Development, FunctionalityCom o aumento do uso da Internet, o desenvolvimento de interfaces de programação de aplicações para web (Web APIs) tornou-se uma das áreas mais importantes do desenvolvimento de software. Ao longo dos anos, como é que este desenvolvimento foi realizado, como se abordou a segurança necessária e quanto tempo é utilizado para o desenvolvimento e para o planeamento destas aplicações foi mudando. Uma destas alterações foi a introdução de ficheiros de definição de web APIs, que permitem especificar como é que clientes e servidores comunicam e que recursos estão disponíveis. Com estes ficheiros, diferentes metodologias foram aparecendo para criar clientes e servidores. As abordagens estudadas nesta dissertação são a abordagem de código em primeiro lugar, onde o desenvolvimento das aplicações acontece antes de se gerarem ficheiros que definam a API, e a abordagem de design em primeiro lugar, onde os ficheiros que definem a API são criados primeiro, e o código de clientes e servidores é desenvolvido segundo estes ficheiros. O objetivo desta dissertação é o estudo de uma nova solução para a criação de ficheiros de definição de Web APIs, que siga os princípios da abordagem de design em primeiro lugar, que tenha um cliente que utilize uma interface gráfica para gerar ficheiros e um servidor, onde ficheiros de definições possam ser guardados, associados a projetos. Estes projetos podem conter múltiplos ficheiros, de diferentes especificações. Para melhor entender como é que a solução definida nesta dissertação traz novas ideias e uma diferente forma de seguir a abordagem de design em primeiro lugar, múltiplas soluções já existentes foram analisadas, juntamente com a possível solução que responda aos objetivos desta dissertação. Durante esta análise, os requisitos funcionais e não funcionais foram definidos, juntamente com os casos de uso e o modelo de dados, para o desenvolvimento de uma solução baseada numa API REST. Através desta análise, um protótipo foi criado e testado, segundo um conjunto definido de testes. Os testes definidos foram executados num ambiente controlado, mas que não reflete completamente uma situação real, onde múltiplos pedidos são feitos pelos utilizadores. Mesmo nestas condições, os testes realizados revelaram que o protótipo consegue gerar especificações corretas, para serem utilizadas no desenvolvimento de servidores e clientes. Estes também conseguem ser guardados no servidor, com um tempo de resposta ao cliente inferior a 400 ms, o que é aceitável tendo em conta as condições do teste. Conclui-se que a solução tem um potencial elevado para ser uma alternativa às soluções atualmente encontradas no mercado, com a capacidade de salvar ficheiros num servidor e permitir um maior acesso a estes, seja por parte de um único utilizador ou de equipas e funcionalidades melhoradas, graças à utilização da interface gráfica, que permite reduzir erros na criação de especificações através do conteúdo apresentado ao utilizador.Sousa, Paulo Alexandre Gandra deRepositório Científico do Instituto Politécnico do PortoCarvalho, Tiago Emanuel Andrade de2022-03-15T10:56:49Z20212021-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdftext/plain; charset=utf-8http://hdl.handle.net/10400.22/20246TID:202797589enginfo:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2023-03-13T13:15:12Zoai:recipp.ipp.pt:10400.22/20246Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T17:40:18.756607Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse
dc.title.none.fl_str_mv Generation of Web API Definition Files, using a single platform, accordingly to the Design First Approach
title Generation of Web API Definition Files, using a single platform, accordingly to the Design First Approach
spellingShingle Generation of Web API Definition Files, using a single platform, accordingly to the Design First Approach
Carvalho, Tiago Emanuel Andrade de
REST
Specification
Web API
Design First Development
Functionality
title_short Generation of Web API Definition Files, using a single platform, accordingly to the Design First Approach
title_full Generation of Web API Definition Files, using a single platform, accordingly to the Design First Approach
title_fullStr Generation of Web API Definition Files, using a single platform, accordingly to the Design First Approach
title_full_unstemmed Generation of Web API Definition Files, using a single platform, accordingly to the Design First Approach
title_sort Generation of Web API Definition Files, using a single platform, accordingly to the Design First Approach
author Carvalho, Tiago Emanuel Andrade de
author_facet Carvalho, Tiago Emanuel Andrade de
author_role author
dc.contributor.none.fl_str_mv Sousa, Paulo Alexandre Gandra de
Repositório Científico do Instituto Politécnico do Porto
dc.contributor.author.fl_str_mv Carvalho, Tiago Emanuel Andrade de
dc.subject.por.fl_str_mv REST
Specification
Web API
Design First Development
Functionality
topic REST
Specification
Web API
Design First Development
Functionality
description With the increasing usage of the Internet, the development of Web Application Programming Interface (API)s became one of the most important areas of software development. Along the years, how this development was made, how the security was approached and how much time was spent in the project outside of the development part changed. One of these changes was the introduction of Web API definition files, that specify how clients and servers communicate and what resources are provided. With this, different methodologies of work to create clients and servers appeared. The approaches studied in this dissertation were Code First Approach, were the development happens before the generation of these files, and Design First Approach, were the definition files are created before the development of the software. The objective of this dissertation is the study of a new solution to the creation of Web API definition files, that follows the Design First Approach, that are aided by a graphic interface, and a server, where definitions files can be saved, associated with projects. These can have multiple files associated. To better understand how the solution defined in this dissertation brings new ideas and a different approach to the Design First Approach, multiple solutions were analyzed, along with the possible solution that responds to the objective of this dissertation. During this analysis, the functional and non functional requirements were defined, along with the use cases and data model, for the development of a REpresentational State Transfer (REST) API based solution. With this analysis, a prototype was created and tested, following a set of tests defined. The defined tests were executed in a controlled environment, but don’t completely reflect a real situation, were multiple requests are made by users. The tests still revealed that the prototype can generate correct specifications, to be used in the development of servers and clients and these can be correctly saved in the server, without taking much time to respond to the client (less than 400 ms on the tests, acceptable in the context of the test conditions). It was concluded that the solution has high potential to be an alternative to the current solutions in the market, bringing the idea of projects and server-side file saving and a better functionality of the web site, thanks to its graphic interface that shows what content is needed in a specification, reducing errors on the creation of specifications. Keywords: REST, Specification, Web API, Design First Development, Functionality
publishDate 2021
dc.date.none.fl_str_mv 2021
2021-01-01T00:00:00Z
2022-03-15T10:56:49Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10400.22/20246
TID:202797589
url http://hdl.handle.net/10400.22/20246
identifier_str_mv TID:202797589
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
text/plain; charset=utf-8
dc.source.none.fl_str_mv reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron:RCAAP
instname_str Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron_str RCAAP
institution RCAAP
reponame_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
collection Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository.name.fl_str_mv Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
repository.mail.fl_str_mv
_version_ 1799131491021619200