Browsing by Author "Santos, Ricardo Soares dos"
Now showing 1 - 1 of 1
Results Per Page
Sort Options
- Suporte à Evolução de APIPublication . Santos, Ricardo Soares dos; Azevedo, Isabel de Fátima SilvaA 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.