2 research outputs found

    Suporte à Evolução de API

    Get PDF
    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.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

    Design Approach to Unified Service API Modeling for Semantic Interoperability of Cross-enterprise Vehicle Applications

    Get PDF
    This work was partially supported by Ministry of Education, Youth and Sports of the Czech Republic, university specific research, project SGS-2019-018 Processing of heterogeneous data and its specialized applications
    corecore