减少在Web API演进过程中对Web服务客户端的破坏性更改的影响

Paul Schmiedmayer, Andreas Bauer, B. Brügge
{"title":"减少在Web API演进过程中对Web服务客户端的破坏性更改的影响","authors":"Paul Schmiedmayer, Andreas Bauer, B. Brügge","doi":"10.1109/MOBILSoft59058.2023.00008","DOIUrl":null,"url":null,"abstract":"Web services are self-contained distributed services enabled by web service application programming interfaces (APIs) using numerous protocol and middleware types. Web service API evolution encompasses changes to a web API made during the lifetime of a web service. Web clients, such as mobile applications, must continuously and manually adapt to breaking changes in the web API offered by web services. This paper presents an automated process for the adaptation based on web service API type-independent evolution patterns. These patterns enable the classification and resolution of web API changes in the context of continuously changing web API standards, protocols, and middleware types. Migration guides enable the generation of stable client libraries that replace the traditionally performed manual client-specific migrations. The process is instantiated using Apodini Migrators, generating Swift-based client libraries for web clients. We demonstrate how migration guides can be automatically generated using OpenAPI specifications or based on web services developed using the Apodini framework. We build two Migrators using a resource-based and a remote procedure call-based web API type. We validated the applicability of these Migrators to 13 web service version increments featuring a total of 3896 changes. The process correctly identified 86.1% of the changes, including 1132 breaking changes. The breaking changes included 424 unsolvable changes that required manual migration guide improvements by the web service developers at predefined extension points.","PeriodicalId":311618,"journal":{"name":"2023 IEEE/ACM 10th International Conference on Mobile Software Engineering and Systems (MOBILESoft)","volume":"50 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"Reducing the Impact of Breaking Changes to Web Service Clients During Web API Evolution\",\"authors\":\"Paul Schmiedmayer, Andreas Bauer, B. Brügge\",\"doi\":\"10.1109/MOBILSoft59058.2023.00008\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Web services are self-contained distributed services enabled by web service application programming interfaces (APIs) using numerous protocol and middleware types. Web service API evolution encompasses changes to a web API made during the lifetime of a web service. Web clients, such as mobile applications, must continuously and manually adapt to breaking changes in the web API offered by web services. This paper presents an automated process for the adaptation based on web service API type-independent evolution patterns. These patterns enable the classification and resolution of web API changes in the context of continuously changing web API standards, protocols, and middleware types. Migration guides enable the generation of stable client libraries that replace the traditionally performed manual client-specific migrations. The process is instantiated using Apodini Migrators, generating Swift-based client libraries for web clients. We demonstrate how migration guides can be automatically generated using OpenAPI specifications or based on web services developed using the Apodini framework. We build two Migrators using a resource-based and a remote procedure call-based web API type. We validated the applicability of these Migrators to 13 web service version increments featuring a total of 3896 changes. The process correctly identified 86.1% of the changes, including 1132 breaking changes. The breaking changes included 424 unsolvable changes that required manual migration guide improvements by the web service developers at predefined extension points.\",\"PeriodicalId\":311618,\"journal\":{\"name\":\"2023 IEEE/ACM 10th International Conference on Mobile Software Engineering and Systems (MOBILESoft)\",\"volume\":\"50 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2023-05-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2023 IEEE/ACM 10th International Conference on Mobile Software Engineering and Systems (MOBILESoft)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/MOBILSoft59058.2023.00008\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2023 IEEE/ACM 10th International Conference on Mobile Software Engineering and Systems (MOBILESoft)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/MOBILSoft59058.2023.00008","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1

摘要

Web服务是由使用多种协议和中间件类型的Web服务应用程序编程接口(api)支持的自包含分布式服务。Web服务API演进包括在Web服务的生命周期内对Web API所做的更改。Web客户机,比如移动应用程序,必须不断地、手动地适应Web服务提供的Web API中的突破性变化。本文提出了一种基于web服务API类型独立演化模式的自适应自动化过程。这些模式能够在不断变化的web API标准、协议和中间件类型的环境中对web API的变化进行分类和解析。迁移指南支持生成稳定的客户端库,以取代传统上执行的手动特定于客户端的迁移。该过程使用Apodini Migrators实例化,为web客户端生成基于swift的客户端库。我们将演示如何使用OpenAPI规范或基于使用Apodini框架开发的web服务自动生成迁移指南。我们使用一个基于资源的和一个基于远程过程调用的web API类型构建了两个migrator。我们验证了这些Migrators对13个web服务版本增量的适用性,总共有3896个更改。该过程正确识别了86.1%的更改,包括1132个破坏性更改。破坏性更改包括424个无法解决的更改,这些更改需要web服务开发人员在预定义的扩展点进行手动迁移指导改进。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Reducing the Impact of Breaking Changes to Web Service Clients During Web API Evolution
Web services are self-contained distributed services enabled by web service application programming interfaces (APIs) using numerous protocol and middleware types. Web service API evolution encompasses changes to a web API made during the lifetime of a web service. Web clients, such as mobile applications, must continuously and manually adapt to breaking changes in the web API offered by web services. This paper presents an automated process for the adaptation based on web service API type-independent evolution patterns. These patterns enable the classification and resolution of web API changes in the context of continuously changing web API standards, protocols, and middleware types. Migration guides enable the generation of stable client libraries that replace the traditionally performed manual client-specific migrations. The process is instantiated using Apodini Migrators, generating Swift-based client libraries for web clients. We demonstrate how migration guides can be automatically generated using OpenAPI specifications or based on web services developed using the Apodini framework. We build two Migrators using a resource-based and a remote procedure call-based web API type. We validated the applicability of these Migrators to 13 web service version increments featuring a total of 3896 changes. The process correctly identified 86.1% of the changes, including 1132 breaking changes. The breaking changes included 424 unsolvable changes that required manual migration guide improvements by the web service developers at predefined extension points.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信