A Versioned Approach to Web Service Evolution

Detalhes bibliográficos
Autor(a) principal: Campinhos, João
Data de Publicação: 2017
Tipo de documento: Dissertação
Idioma: eng
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: http://hdl.handle.net/10362/20620
Resumo: Applications based on micro-services or web services have had a significant growth due to the exponential increase in the use of mobile devices whose applications rely almost entirely on this type of interfaces. However, using an external interface comes with no guarantees to the developers using it. Changes may be introduced at any moment, which can break the software that is using those APIs. It is necessary to give the consumers guarantees that their software will not break, but not at the expense of stagnating thedevelopment of said web service. In this document we present a programming model to evolve web services in a sustainable way and to automate most of the maintainability that might be required by the consumer. This model works by allowing multiple versions to be deployed, and then using a relation containing metadata to type check versions. By doing this, it is possible toguarantee type safety between all the versions to provide a sustainable way to evolve the service. A prototype framework was implemented in JavaScript, where it is possible to visualize the model working in an environment similar to what it is used in the industry nowadays. Finally we present a comparison of our prototype with the state of the art, thus demonstrating that our solution presents a viable method of evolution of web services.
id RCAP_5e869907e1630617569f2a86648582fd
oai_identifier_str oai:run.unl.pt:10362/20620
network_acronym_str RCAP
network_name_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository_id_str
spelling A Versioned Approach to Web Service EvolutionSoftware VariabilityWeb ServicesSoftware EvolutionVersioningProgramming LanguagesDomínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e InformáticaApplications based on micro-services or web services have had a significant growth due to the exponential increase in the use of mobile devices whose applications rely almost entirely on this type of interfaces. However, using an external interface comes with no guarantees to the developers using it. Changes may be introduced at any moment, which can break the software that is using those APIs. It is necessary to give the consumers guarantees that their software will not break, but not at the expense of stagnating thedevelopment of said web service. In this document we present a programming model to evolve web services in a sustainable way and to automate most of the maintainability that might be required by the consumer. This model works by allowing multiple versions to be deployed, and then using a relation containing metadata to type check versions. By doing this, it is possible toguarantee type safety between all the versions to provide a sustainable way to evolve the service. A prototype framework was implemented in JavaScript, where it is possible to visualize the model working in an environment similar to what it is used in the industry nowadays. Finally we present a comparison of our prototype with the state of the art, thus demonstrating that our solution presents a viable method of evolution of web services.Cunha, JácomeSeco, JoãoRUNCampinhos, João2017-05-04T10:21:04Z2017-012017-052017-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10362/20620enginfo: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-07-10T15:38:31ZPortal AgregadorONG
dc.title.none.fl_str_mv A Versioned Approach to Web Service Evolution
title A Versioned Approach to Web Service Evolution
spellingShingle A Versioned Approach to Web Service Evolution
Campinhos, João
Software Variability
Web Services
Software Evolution
Versioning
Programming Languages
Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
title_short A Versioned Approach to Web Service Evolution
title_full A Versioned Approach to Web Service Evolution
title_fullStr A Versioned Approach to Web Service Evolution
title_full_unstemmed A Versioned Approach to Web Service Evolution
title_sort A Versioned Approach to Web Service Evolution
author Campinhos, João
author_facet Campinhos, João
author_role author
dc.contributor.none.fl_str_mv Cunha, Jácome
Seco, João
RUN
dc.contributor.author.fl_str_mv Campinhos, João
dc.subject.por.fl_str_mv Software Variability
Web Services
Software Evolution
Versioning
Programming Languages
Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
topic Software Variability
Web Services
Software Evolution
Versioning
Programming Languages
Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
description Applications based on micro-services or web services have had a significant growth due to the exponential increase in the use of mobile devices whose applications rely almost entirely on this type of interfaces. However, using an external interface comes with no guarantees to the developers using it. Changes may be introduced at any moment, which can break the software that is using those APIs. It is necessary to give the consumers guarantees that their software will not break, but not at the expense of stagnating thedevelopment of said web service. In this document we present a programming model to evolve web services in a sustainable way and to automate most of the maintainability that might be required by the consumer. This model works by allowing multiple versions to be deployed, and then using a relation containing metadata to type check versions. By doing this, it is possible toguarantee type safety between all the versions to provide a sustainable way to evolve the service. A prototype framework was implemented in JavaScript, where it is possible to visualize the model working in an environment similar to what it is used in the industry nowadays. Finally we present a comparison of our prototype with the state of the art, thus demonstrating that our solution presents a viable method of evolution of web services.
publishDate 2017
dc.date.none.fl_str_mv 2017-05-04T10:21:04Z
2017-01
2017-05
2017-01-01T00: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/10362/20620
url http://hdl.handle.net/10362/20620
dc.language.iso.fl_str_mv eng
language eng
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
repository.mail.fl_str_mv
_version_ 1777302940391833600