Managing APIs evolution while maintaining System Interoperability

Bibliographic Details
Main Author: Alves, Fábio Alexandre Carneiro
Publication Date: 2023
Format: Master thesis
Language: eng
Source: Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
Download full: http://hdl.handle.net/10400.22/23788
Summary: Flutter Entertainment, a global sports betting company, has experienced a significant increase in online transactions due to the preference for online solutions and its recent acquisitions. Additionally, with the recurrent improvement of current features and the development of new ones, more components are being created and more updates are being done to existing components. This growth in both the number of APIs and development features have made it challenging to manage the Web APIs’ and their interactions. Additionally, the manual management of API contracts and the necessity to sync the APIs’ changes between the clients and the APIs’ owners have resulted in both increased development time and incidents. Moreover, due to the high volume of manual operations and the rapid pace of system evolution, the documentation quickly becomes outdated which exacerbates the problem. With all of these issues, the low system interoperability is becoming increasingly apparent which is the problem that this work aims to address. The main objective of this work is to explore the issue of handling APIs evolution while maintaining system interoperability. For this, some topics must be addressed such as APIs documentation, schema registry and versioning. That said, work is carried out to explore architecture APIs patterns and good practices, system interoperability architectures and current interoperability solutions. Additionally, a proof of concept that satisfies the problem and its evaluation is presented. After careful consideration of the available market options, the solution with the most benefits for the context of this case study is AsyncAPI, being this specification use as a proof of concept for two specific APIs of the tennis flow, namely TMT and IMG. To handle versioning, it is used Semantic Versioning. Additionally, specific API lifecycle steps were established and are being used in the documentation of APIs. This documentation is generated automatically using the AsyncAPI specification and is kept up-to-date through the implementation of GitHub workflows. To manage the API contracts, a dedicated GitHub repository is utilized, containing all the necessary schemas referenced within the specification. Lastly, the Microcks tool is used as a solution to handle validation and API testing, enabling contract testing to be performed on the APIs and the implemented work. In conclusion, the main objective of studying solutions to maintain system interoperability with evolving APIs have been achieved through the successful development of a comprehensive proof of concept. All identified topics are effectively addressed, and the evaluation of the user experience, both before and after the implementation, proves it. Overall, a notable improvement is observed in the system’s interoperability and functionality.
id RCAP_0ac528f81e6efde6e8acea11d7763fbb
oai_identifier_str oai:recipp.ipp.pt:10400.22/23788
network_acronym_str RCAP
network_name_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository_id_str https://opendoar.ac.uk/repository/7160
spelling Managing APIs evolution while maintaining System InteroperabilitySystem InteroperabilityWeb APIsWeb Systems EvolutionInteroperability SolutionsInteroperabilidade de SistemaEvolução de Sistemas WebSoluções de InteroperabilidadeFlutter Entertainment, a global sports betting company, has experienced a significant increase in online transactions due to the preference for online solutions and its recent acquisitions. Additionally, with the recurrent improvement of current features and the development of new ones, more components are being created and more updates are being done to existing components. This growth in both the number of APIs and development features have made it challenging to manage the Web APIs’ and their interactions. Additionally, the manual management of API contracts and the necessity to sync the APIs’ changes between the clients and the APIs’ owners have resulted in both increased development time and incidents. Moreover, due to the high volume of manual operations and the rapid pace of system evolution, the documentation quickly becomes outdated which exacerbates the problem. With all of these issues, the low system interoperability is becoming increasingly apparent which is the problem that this work aims to address. The main objective of this work is to explore the issue of handling APIs evolution while maintaining system interoperability. For this, some topics must be addressed such as APIs documentation, schema registry and versioning. That said, work is carried out to explore architecture APIs patterns and good practices, system interoperability architectures and current interoperability solutions. Additionally, a proof of concept that satisfies the problem and its evaluation is presented. After careful consideration of the available market options, the solution with the most benefits for the context of this case study is AsyncAPI, being this specification use as a proof of concept for two specific APIs of the tennis flow, namely TMT and IMG. To handle versioning, it is used Semantic Versioning. Additionally, specific API lifecycle steps were established and are being used in the documentation of APIs. This documentation is generated automatically using the AsyncAPI specification and is kept up-to-date through the implementation of GitHub workflows. To manage the API contracts, a dedicated GitHub repository is utilized, containing all the necessary schemas referenced within the specification. Lastly, the Microcks tool is used as a solution to handle validation and API testing, enabling contract testing to be performed on the APIs and the implemented work. In conclusion, the main objective of studying solutions to maintain system interoperability with evolving APIs have been achieved through the successful development of a comprehensive proof of concept. All identified topics are effectively addressed, and the evaluation of the user experience, both before and after the implementation, proves it. Overall, a notable improvement is observed in the system’s interoperability and functionality.Ferreira, Nuno Alexandre CastroREPOSITÓRIO P.PORTOAlves, Fábio Alexandre Carneiro20232025-07-27T00:00:00Z2023-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10400.22/23788urn:tid:203374584enginfo:eu-repo/semantics/embargoedAccessreponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiainstacron:RCAAP2025-03-07T10:23:41Zoai:recipp.ipp.pt:10400.22/23788Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-29T00:52:07.633662Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiafalse
dc.title.none.fl_str_mv Managing APIs evolution while maintaining System Interoperability
title Managing APIs evolution while maintaining System Interoperability
spellingShingle Managing APIs evolution while maintaining System Interoperability
Alves, Fábio Alexandre Carneiro
System Interoperability
Web APIs
Web Systems Evolution
Interoperability Solutions
Interoperabilidade de Sistema
Evolução de Sistemas Web
Soluções de Interoperabilidade
title_short Managing APIs evolution while maintaining System Interoperability
title_full Managing APIs evolution while maintaining System Interoperability
title_fullStr Managing APIs evolution while maintaining System Interoperability
title_full_unstemmed Managing APIs evolution while maintaining System Interoperability
title_sort Managing APIs evolution while maintaining System Interoperability
author Alves, Fábio Alexandre Carneiro
author_facet Alves, Fábio Alexandre Carneiro
author_role author
dc.contributor.none.fl_str_mv Ferreira, Nuno Alexandre Castro
REPOSITÓRIO P.PORTO
dc.contributor.author.fl_str_mv Alves, Fábio Alexandre Carneiro
dc.subject.por.fl_str_mv System Interoperability
Web APIs
Web Systems Evolution
Interoperability Solutions
Interoperabilidade de Sistema
Evolução de Sistemas Web
Soluções de Interoperabilidade
topic System Interoperability
Web APIs
Web Systems Evolution
Interoperability Solutions
Interoperabilidade de Sistema
Evolução de Sistemas Web
Soluções de Interoperabilidade
description Flutter Entertainment, a global sports betting company, has experienced a significant increase in online transactions due to the preference for online solutions and its recent acquisitions. Additionally, with the recurrent improvement of current features and the development of new ones, more components are being created and more updates are being done to existing components. This growth in both the number of APIs and development features have made it challenging to manage the Web APIs’ and their interactions. Additionally, the manual management of API contracts and the necessity to sync the APIs’ changes between the clients and the APIs’ owners have resulted in both increased development time and incidents. Moreover, due to the high volume of manual operations and the rapid pace of system evolution, the documentation quickly becomes outdated which exacerbates the problem. With all of these issues, the low system interoperability is becoming increasingly apparent which is the problem that this work aims to address. The main objective of this work is to explore the issue of handling APIs evolution while maintaining system interoperability. For this, some topics must be addressed such as APIs documentation, schema registry and versioning. That said, work is carried out to explore architecture APIs patterns and good practices, system interoperability architectures and current interoperability solutions. Additionally, a proof of concept that satisfies the problem and its evaluation is presented. After careful consideration of the available market options, the solution with the most benefits for the context of this case study is AsyncAPI, being this specification use as a proof of concept for two specific APIs of the tennis flow, namely TMT and IMG. To handle versioning, it is used Semantic Versioning. Additionally, specific API lifecycle steps were established and are being used in the documentation of APIs. This documentation is generated automatically using the AsyncAPI specification and is kept up-to-date through the implementation of GitHub workflows. To manage the API contracts, a dedicated GitHub repository is utilized, containing all the necessary schemas referenced within the specification. Lastly, the Microcks tool is used as a solution to handle validation and API testing, enabling contract testing to be performed on the APIs and the implemented work. In conclusion, the main objective of studying solutions to maintain system interoperability with evolving APIs have been achieved through the successful development of a comprehensive proof of concept. All identified topics are effectively addressed, and the evaluation of the user experience, both before and after the implementation, proves it. Overall, a notable improvement is observed in the system’s interoperability and functionality.
publishDate 2023
dc.date.none.fl_str_mv 2023
2023-01-01T00:00:00Z
2025-07-27T00:00:00Z
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/23788
urn:tid:203374584
url http://hdl.handle.net/10400.22/23788
identifier_str_mv urn:tid:203374584
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/embargoedAccess
eu_rights_str_mv embargoedAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron:RCAAP
instname_str FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron_str RCAAP
institution RCAAP
reponame_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
collection Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository.name.fl_str_mv Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
repository.mail.fl_str_mv info@rcaap.pt
_version_ 1833600732033449984