Application Programming Interfaces (APIs) enable communication in distributed systems of all kinds. As providers and clients evolve, APIs must adapt to changing requirements, scalability challenges, and operational insights. A lack of a structured approach to API evolution can lead to inconsistent interfaces, bloated endpoints and a poor developer experience. Refactoring has long been a staple in agile software development, focusing primarily on improving internal code quality. However, as distributed systems and remote APIs have become central to modern software architectures, the need for systematic API refactoring has grown. In this paper, we present a third slice of our Interface Refactoring Catalog (IRC), which now has 25 refactorings. Fifteen of these were published in our previous work; five more refactorings appear in this paper. API designers and maintainers that seek to improve certain design time and runtime API qualities form the primary target audience for IRC; API client developers wanting to use APIs effectively and efficiently and API provider developers wanting to minimize the impact of changes are targeted as well. Finally, API product managers concerned about API quality also belong to our target audience. The provided examples use the Microservice Domain-Specific Language (MDSL) and the Context Mapper Language (CML) to illustrate the refactorings in a technology-agnostic way.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Refactoring API Endpoints, Operations and Messages

  • Mirko Stocker,
  • Stefan Kapferer,
  • Olaf Zimmermann

摘要

Application Programming Interfaces (APIs) enable communication in distributed systems of all kinds. As providers and clients evolve, APIs must adapt to changing requirements, scalability challenges, and operational insights. A lack of a structured approach to API evolution can lead to inconsistent interfaces, bloated endpoints and a poor developer experience. Refactoring has long been a staple in agile software development, focusing primarily on improving internal code quality. However, as distributed systems and remote APIs have become central to modern software architectures, the need for systematic API refactoring has grown. In this paper, we present a third slice of our Interface Refactoring Catalog (IRC), which now has 25 refactorings. Fifteen of these were published in our previous work; five more refactorings appear in this paper. API designers and maintainers that seek to improve certain design time and runtime API qualities form the primary target audience for IRC; API client developers wanting to use APIs effectively and efficiently and API provider developers wanting to minimize the impact of changes are targeted as well. Finally, API product managers concerned about API quality also belong to our target audience. The provided examples use the Microservice Domain-Specific Language (MDSL) and the Context Mapper Language (CML) to illustrate the refactorings in a technology-agnostic way.