Suporte à Evolução de API

Detalhes bibliográficos
Autor(a) principal: Santos, Ricardo Soares dos
Data de Publicação: 2018
Tipo de documento: Dissertação
Idioma: por
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/11933
Resumo: A evolução de uma Application Programming Interface (API) é o conjunto das mudanças que ocorrem nessa API ao longo do tempo. Portanto, sempre que ocorre uma mudança evolutiva, existem componentes relacionadas com a API que sofrem alterações, tais como a documentação e as bibliotecas de código cliente. Assim sendo, ao desenhar uma API, especialmente seguindo uma abordagem design-first, é relevante definir um contrato formal, que deve conter toda a informação necessária sobre o comportamento da API, sendo conhecido como especificação de API. Desta forma, todas as componentes relacionadas podem depender do mesmo contrato, o que implica que, caso ocorra uma evolução na API, o contrato é alterado e todas essas componentes podem ser atualizadas dinamicamente com a nova informação. Portanto, este contrato pode ser utilizado para gerar componentes como documentação, código cliente e testes de software, reduzindo custos de desenvolvimento e manutenção. Neste documento, são apresentadas soluções para a API pública do E-goi. O E-goi é uma lataforma de marketing digital multicanal e para alcançar uma solução que resolva os problemas encontrados nesta API, maioritariamente relacionados com evolução e altos custos de manutenção do software, é necessário estudar o estilo arquitetural Representational State Transfer (REST) e linguagens para especificação de API REST. Também devem ser estudadas outras API públicas na área de marketing, diferentes tipos de versionamento e registos de utilização da API que sejam relevantes, uma vez que é através destes registos que se podem encontrar potenciais falhas e melhorias que podem resultar em mudanças evolutivas na API. A arquitetura das soluções desenvolvidas e outras alternativas arquiteturais para geração de ocumentação, código cliente e testes estão descritas e apresentadas utilizando Unified Modelling Language (UML). Seguidamente é apresentado o design a um nível mais baixo, conjuntamente com alguns aspetos de implementação importantes. Por fim é feita a experimentação e avaliação para verificar se esta cumpre todos os objetivos e resolve os problemas identificados.
id RCAP_e6eea7a650088ea244a17ad31292acc0
oai_identifier_str oai:recipp.ipp.pt:10400.22/11933
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 Suporte à Evolução de APIEvolução de APIEspecificação de APIDocumentaçãoTestes de SoftwareGeração de CódigoDesign-firstRESTManutenção de SoftwareMarketing DigitalAPI evolutionAPI SpecificationDocumentationSoftware TestsCode GenerationSoftware MaintenanceDigital MarketingSistemas Gráficos e MultimédiaA evolução de uma Application Programming Interface (API) é o conjunto das mudanças que ocorrem nessa API ao longo do tempo. Portanto, sempre que ocorre uma mudança evolutiva, existem componentes relacionadas com a API que sofrem alterações, tais como a documentação e as bibliotecas de código cliente. Assim sendo, ao desenhar uma API, especialmente seguindo uma abordagem design-first, é relevante definir um contrato formal, que deve conter toda a informação necessária sobre o comportamento da API, sendo conhecido como especificação de API. Desta forma, todas as componentes relacionadas podem depender do mesmo contrato, o que implica que, caso ocorra uma evolução na API, o contrato é alterado e todas essas componentes podem ser atualizadas dinamicamente com a nova informação. Portanto, este contrato pode ser utilizado para gerar componentes como documentação, código cliente e testes de software, reduzindo custos de desenvolvimento e manutenção. Neste documento, são apresentadas soluções para a API pública do E-goi. O E-goi é uma lataforma de marketing digital multicanal e para alcançar uma solução que resolva os problemas encontrados nesta API, maioritariamente relacionados com evolução e altos custos de manutenção do software, é necessário estudar o estilo arquitetural Representational State Transfer (REST) e linguagens para especificação de API REST. Também devem ser estudadas outras API públicas na área de marketing, diferentes tipos de versionamento e registos de utilização da API que sejam relevantes, uma vez que é através destes registos que se podem encontrar potenciais falhas e melhorias que podem resultar em mudanças evolutivas na API. A arquitetura das soluções desenvolvidas e outras alternativas arquiteturais para geração de ocumentação, código cliente e testes estão descritas e apresentadas utilizando Unified Modelling Language (UML). Seguidamente é apresentado o design a um nível mais baixo, conjuntamente com alguns aspetos de implementação importantes. Por fim é feita a experimentação e avaliação para verificar se esta cumpre todos os objetivos e resolve os problemas identificados.Evolution can be understood as the changes that occur in an Application Programming Interface (API) over time. Therefore, every time an evolutive change occurs, there are components related to the API that also change, such as documentation and client code libraries. Thereby, when designing an API, especially when following a design-first approach, it is relevant to define a formal contract, known as API specification, which must contain every information regarding the API behavior. Being so, every related component can depend on the same contract, meaning that when an evolution on the API occurs, the contract is altered, and every componente may be updated dynamically with the new information. Thus, this contract may be used to generate components like documentation, client code and software tests, reducing development and maintenance costs. In this document, it is presented a set of solutions for E-goi’s public API. Egoi is a multichannel digital marketing platform and, to achieve a solution to solve these API problems, majorly related to evolution and high software maintenance costs, it is necessary to study Representational State Transfer (REST) architectural style and languages for specification of REST API. Also, it must be studied other public API in marketing area, different sorts of versioning and important records of API usage, once these records are used to find potential flaws and improvements that may result in evolutive changes in the API. The architecture of the developed solutions and other architectural alternatives to the generation of documentation, client code and tests are descripted and presented using Unified Modelling Language (UML). Then, it is presented the design in a lower level, together with some important implementation aspects. Finally, it is done the experimentation and evaluation to verify if the solution matches all the required objectives and solves the identified problems.Azevedo, Isabel de Fátima SilvaRepositório Científico do Instituto Politécnico do PortoSantos, Ricardo Soares dos2021-07-30T00:30:22Z20182018-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10400.22/11933TID:201972190porinfo: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-13T12:53:56Zoai:recipp.ipp.pt:10400.22/11933Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T17:32:15.250495Repositó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 Suporte à Evolução de API
title Suporte à Evolução de API
spellingShingle Suporte à Evolução de API
Santos, Ricardo Soares dos
Evolução de API
Especificação de API
Documentação
Testes de Software
Geração de Código
Design-first
REST
Manutenção de Software
Marketing Digital
API evolution
API Specification
Documentation
Software Tests
Code Generation
Software Maintenance
Digital Marketing
Sistemas Gráficos e Multimédia
title_short Suporte à Evolução de API
title_full Suporte à Evolução de API
title_fullStr Suporte à Evolução de API
title_full_unstemmed Suporte à Evolução de API
title_sort Suporte à Evolução de API
author Santos, Ricardo Soares dos
author_facet Santos, Ricardo Soares dos
author_role author
dc.contributor.none.fl_str_mv Azevedo, Isabel de Fátima Silva
Repositório Científico do Instituto Politécnico do Porto
dc.contributor.author.fl_str_mv Santos, Ricardo Soares dos
dc.subject.por.fl_str_mv Evolução de API
Especificação de API
Documentação
Testes de Software
Geração de Código
Design-first
REST
Manutenção de Software
Marketing Digital
API evolution
API Specification
Documentation
Software Tests
Code Generation
Software Maintenance
Digital Marketing
Sistemas Gráficos e Multimédia
topic Evolução de API
Especificação de API
Documentação
Testes de Software
Geração de Código
Design-first
REST
Manutenção de Software
Marketing Digital
API evolution
API Specification
Documentation
Software Tests
Code Generation
Software Maintenance
Digital Marketing
Sistemas Gráficos e Multimédia
description A evolução de uma Application Programming Interface (API) é o conjunto das mudanças que ocorrem nessa API ao longo do tempo. Portanto, sempre que ocorre uma mudança evolutiva, existem componentes relacionadas com a API que sofrem alterações, tais como a documentação e as bibliotecas de código cliente. Assim sendo, ao desenhar uma API, especialmente seguindo uma abordagem design-first, é relevante definir um contrato formal, que deve conter toda a informação necessária sobre o comportamento da API, sendo conhecido como especificação de API. Desta forma, todas as componentes relacionadas podem depender do mesmo contrato, o que implica que, caso ocorra uma evolução na API, o contrato é alterado e todas essas componentes podem ser atualizadas dinamicamente com a nova informação. Portanto, este contrato pode ser utilizado para gerar componentes como documentação, código cliente e testes de software, reduzindo custos de desenvolvimento e manutenção. Neste documento, são apresentadas soluções para a API pública do E-goi. O E-goi é uma lataforma de marketing digital multicanal e para alcançar uma solução que resolva os problemas encontrados nesta API, maioritariamente relacionados com evolução e altos custos de manutenção do software, é necessário estudar o estilo arquitetural Representational State Transfer (REST) e linguagens para especificação de API REST. Também devem ser estudadas outras API públicas na área de marketing, diferentes tipos de versionamento e registos de utilização da API que sejam relevantes, uma vez que é através destes registos que se podem encontrar potenciais falhas e melhorias que podem resultar em mudanças evolutivas na API. A arquitetura das soluções desenvolvidas e outras alternativas arquiteturais para geração de ocumentação, código cliente e testes estão descritas e apresentadas utilizando Unified Modelling Language (UML). Seguidamente é apresentado o design a um nível mais baixo, conjuntamente com alguns aspetos de implementação importantes. Por fim é feita a experimentação e avaliação para verificar se esta cumpre todos os objetivos e resolve os problemas identificados.
publishDate 2018
dc.date.none.fl_str_mv 2018
2018-01-01T00:00:00Z
2021-07-30T00:30:22Z
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/11933
TID:201972190
url http://hdl.handle.net/10400.22/11933
identifier_str_mv TID:201972190
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
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_ 1799131416301142016