Name: | Description: | Size: | Format: | |
---|---|---|---|---|
3.17 MB | Adobe PDF | |||
1.74 KB | License |
Advisor(s)
Abstract(s)
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
Com 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.
Com 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.
Description
Keywords
REST Specification Web API Design First Development Functionality