<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.3.4">Jekyll</generator><link href="/feed.xml" rel="self" type="application/atom+xml" /><link href="/" rel="alternate" type="text/html" /><updated>2026-06-04T13:52:25+02:00</updated><id>/feed.xml</id><title type="html">Interface Refactoring Catalog</title><subtitle>The Interface Refactoring Catalog is a collection of interface and other architectural refactorings.</subtitle><entry><title type="html">Slice 3 and 4 Workshopped and Published at EuroPLoP 2025</title><link href="/news/final-refactorings-workshopped/" rel="alternate" type="text/html" title="Slice 3 and 4 Workshopped and Published at EuroPLoP 2025" /><published>2026-05-28T00:00:00+02:00</published><updated>2026-05-28T00:00:00+02:00</updated><id>/news/final-refactorings-workshopped</id><content type="html" xml:base="/news/final-refactorings-workshopped/"><![CDATA[<p>For last year’s EuroPLoP writer’s workshops, we submitted two papers to have the final ten refactorings of our interface refactoring catalog workshopped. Both papers have now bee published by Springer Nature under Creative Commons licences:</p>

<ul>
  <li><a href="https://link.springer.com/chapter/10.1007/978-3-032-19154-0_3"><strong>Refactoring API Endpoints, Operations and Messages</strong></a> builds on the work of previous papers and presents five refactorings targeting different API elements: Add Wish Template, Bundle Requests, Move Operation, Merge Endpoints and Rename Endpoint.</li>
  <li><a href="https://link.springer.com/chapter/10.1007/978-3-032-19154-0_6"><strong>API Refactoring and Reengineering: Distribution Patterns and Evolution Strategies</strong></a> is the final paper, covering three architectural refactorings and two concerning API lifecycle management and evolution: Distribute Application Frontend, Split Application Backend Logic, Split Application Backend Persistence, Tighten Evolution Strategy, and Relax Evolution Strategy.</li>
</ul>

<p>Feedback on the papers was very positive, leading to interesting discussions. Participants appreciated the papers’ clear structure, detailed explanations of the refactorings and practical examples. They also considered the refactorings to be relevant and applicable to real-world scenarios.</p>

<p>See the <a href="/publications">publications</a> page of this website for direct links to all papers and related publications. We hope that we considered all the feedback we received and that the refactorings are now even more useful for practitioners and researchers alike.</p>]]></content><author><name></name></author><category term="news" /><summary type="html"><![CDATA[For last year’s EuroPLoP writer’s workshops, we submitted two papers to have the final ten refactorings of our interface refactoring catalog workshopped. Both papers have now bee published by Springer Nature under Creative Commons licences:]]></summary></entry><entry><title type="html">More Refactorings Workshopped and Published (EuroPLoP24)</title><link href="/news/more-refactorings-workshopped/" rel="alternate" type="text/html" title="More Refactorings Workshopped and Published (EuroPLoP24)" /><published>2024-10-07T00:00:00+02:00</published><updated>2024-10-07T00:00:00+02:00</updated><id>/news/more-refactorings-workshopped</id><content type="html" xml:base="/news/more-refactorings-workshopped/"><![CDATA[<p>We submitted another seven interface refactorings to this year’s EuroPLoP writer’s workshop. Starting from stakeholder concerns and API design smells was seen to be useful, and the detailed guidance by example appreciated. The carefully chosen names for the refactorings were particularly appreciated for their readability, and the extensive references and footnotes will provide a rich source for their own work. One participant even suggested that the refactorings should be published as a book, with more introduction and context for newcomers. Again, we received a lot of helpful and constructive feedback on how to improve the refactorings and their presentation.</p>

<p>The open-access paper “Pattern-oriented API Refactoring: Addressing Design Smells and Stakeholder Concerns”, to appear in the ACM Digital Library, is available for download via the <a href="/publications">publications</a> page of this website. We hope that we considered all the feedback we received and that the refactorings are now even more useful for practitioners and researchers alike.</p>]]></content><author><name></name></author><category term="news" /><summary type="html"><![CDATA[We submitted another seven interface refactorings to this year’s EuroPLoP writer’s workshop. Starting from stakeholder concerns and API design smells was seen to be useful, and the detailed guidance by example appreciated. The carefully chosen names for the refactorings were particularly appreciated for their readability, and the extensive references and footnotes will provide a rich source for their own work. One participant even suggested that the refactorings should be published as a book, with more introduction and context for newcomers. Again, we received a lot of helpful and constructive feedback on how to improve the refactorings and their presentation.]]></summary></entry><entry><title type="html">API Design Patterns Adoption and Refactoring Catalog Update</title><link href="/news/patterns-adoption-refactorings-update/" rel="alternate" type="text/html" title="API Design Patterns Adoption and Refactoring Catalog Update" /><published>2024-07-05T00:00:00+02:00</published><updated>2024-07-05T00:00:00+02:00</updated><id>/news/patterns-adoption-refactorings-update</id><content type="html" xml:base="/news/patterns-adoption-refactorings-update/"><![CDATA[<p>We have been busy with our <a href="https://interface-refactoring.github.io/">Interface Refactoring Catalog</a>. <!-- a "collection of API refactorings and related architectural refactorings" that use API design patterns.--> We present the next seven refactorings in Workshop B of <a href="https://www.europlop.net/conference/">EuroPLoP 2024</a> taking place this week. The first eight interface refactorings were workshopped at EuroPLoP 2023; see our <a href="https://medium.com/olzzio/return-to-europlop-api-refactoring-patterns-217787f90930">trip report</a>.</p>

<p>The patterns that serve as targets of many of our refactorings are being used in industry and academia. A <a href="https://api-patterns.org/2024/06/08/patterns-in-action-industry-academia.html">news item on the API Design Patterns website</a> provides more information.</p>

<p>Our API design patterns book won the <a href="https://www.ost.ch/de/news/article/herzlichen-glueckwunsch-zum-1-platz-beim-best-publication-award">“Best Publication Award”</a> 2023/2024 at their university <a href="https://www.ost.ch">OST – Eastern Switzerland University of Applied Sciences</a>. The jury praised the book for its practical relevance and international impact. We are very proud of this peer recognition!</p>

<!-- Daniel and Olaf presented full-day workshops at two conferences this spring, the [API Conference 2024](https://web.archive.org/web/20240404074233/https://apiconference.net/api-design/api-design-patterns/) in London, UK, and [JAX 2024](https://www.linkedin.com/feed/update/urn:li:activity:7188124254440161280?commentUrn=urn%3Ali%3Acomment%3A%28activity%3A7188124254440161280%2C7188216889062412288%29&dashCommentUrn=urn%3Ali%3Afsd_comment%3A%287188216889062412288%2Curn%3Ali%3Aactivity%3A7188124254440161280%29) in Mainz, Germany. Daniel will also speak at the [W-JAX 2024](https://jax.de/speaker/dr-daniel-luebke/) conference in the fall. -->

<!--
Five of our patterns increase the understandability of API design, according to a controlled experiment run by Stuttgart University! Well, four do; [Request Bundle](/patterns/quality/dataTransferParsimony/RequestBundle.html) aims to improve performance. A paper reporting this experience has just been presented in the main research track at [ICSA 2024](https://conf.researchr.org/home/icsa-2024); experiment setup and result presentation won a [Distinguished Artifact Award](https://www.linkedin.com/posts/justus-bogner_we-are-extremely-happy-that-our-2-icsa-papers-activity-7205133754569216000-GYF2?utm_source=share&utm_medium=member_desktop). You can find the author's copy (pre-print) of the paper [here (PDF)](http://arxiv.org/pdf/2402.13696.pdf). Other academics use our patterns for research in the area of API design tools as well. According to Google Scholar, [almost thirty papers have cited our book](https://scholar.google.com/scholar?oi=bibs&hl=en&cites=5509464773059542870) already. 
-->]]></content><author><name></name></author><category term="news" /><summary type="html"><![CDATA[We have been busy with our Interface Refactoring Catalog. We present the next seven refactorings in Workshop B of EuroPLoP 2024 taking place this week. The first eight interface refactorings were workshopped at EuroPLoP 2023; see our trip report.]]></summary></entry><entry><title type="html">Refactorings Workshopped at EuroPLoP23</title><link href="/news/refactorings-workshopped/" rel="alternate" type="text/html" title="Refactorings Workshopped at EuroPLoP23" /><published>2023-12-08T00:00:00+01:00</published><updated>2023-12-08T00:00:00+01:00</updated><id>/news/refactorings-workshopped</id><content type="html" xml:base="/news/refactorings-workshopped/"><![CDATA[<p>We submitted eight interface refactorings to this year’s EuroPLoP writer’s workshop. The paper was well received, and we received a lot of helpful and constructive feedback on how to improve it. The overall impression was that it was well written, the figures helped with understanding, and the examples were well chosen and explained. See <a href="https://medium.com/olzzio/return-to-europlop-api-refactoring-patterns-217787f90930">Mirko’s blog post</a> for more details.</p>

<p>The open-access paper is available for download <a href="/assets/APIRefactoringToPatternsEuroPLoP2023.pdf">here</a>.</p>]]></content><author><name></name></author><category term="news" /><summary type="html"><![CDATA[We submitted eight interface refactorings to this year’s EuroPLoP writer’s workshop. The paper was well received, and we received a lot of helpful and constructive feedback on how to improve it. The overall impression was that it was well written, the figures helped with understanding, and the examples were well chosen and explained. See Mirko’s blog post for more details.]]></summary></entry><entry><title type="html">API Design Pattern of the Week</title><link href="/news/api-design-pattern-of-the-week/" rel="alternate" type="text/html" title="API Design Pattern of the Week" /><published>2023-10-26T00:00:00+02:00</published><updated>2023-10-26T00:00:00+02:00</updated><id>/news/api-design-pattern-of-the-week</id><content type="html" xml:base="/news/api-design-pattern-of-the-week/"><![CDATA[<p>The API Design Pattern of the Week series is a collection of articles introducing the API design patterns featured in the <a href="https://api-patterns.org/book">Patterns for API Design</a> book. The series is published on <a href="https://www.linkedin.com/feed/hashtag/?keywords=apidpotw">LinkedIn</a> and <a href="https://medium.com/olzzio">Medium</a>. A Medium article provides an <a href="https://medium.com/olzzio/api-design-pattern-of-the-week-47e88dcdb9e">overview of the series</a>.</p>]]></content><author><name></name></author><category term="news" /><summary type="html"><![CDATA[The API Design Pattern of the Week series is a collection of articles introducing the API design patterns featured in the Patterns for API Design book. The series is published on LinkedIn and Medium. A Medium article provides an overview of the series.]]></summary></entry><entry><title type="html">API Design Patterns Book Published</title><link href="/news/patterns-book-published/" rel="alternate" type="text/html" title="API Design Patterns Book Published" /><published>2022-11-17T00:00:00+01:00</published><updated>2022-11-17T00:00:00+01:00</updated><id>/news/patterns-book-published</id><content type="html" xml:base="/news/patterns-book-published/"><![CDATA[<p>The <a href="https://microservice-api-patterns.org/quickstart">API design patterns</a> featured in many of the refactorings in this catalog form the core of the book called “Patterns for API Design: Simplifying Integration with Loosely Coupled Message Exchanges”, published by the Addison-Wesley Signature series editor Vaughn Vernon on <a href="https://twitter.com/VaughnVernon/status/1551226753988714497">Twitter</a> and <a href="https://www.linkedin.com/feed/update/urn:li:activity:6956992785325461504/">LinkedIn</a>.</p>

<p>The book features 44 patterns as well as an introduction to API fundamentals and a domain model for APIs. Six decision narratives guide through the conceptual level of API design, identifying 29 recurring decisions with options and criteria. It applies the patterns to three cases, the fictitious <a href="https://github.com/Microservice-API-Patterns/LakesideMutual">Lakeside Mutual</a> microservices scenario as well as two real-world projects that have been running in productions for a long time. The book also contains an introduction to the <a href="https://microservice-api-patterns.github.io/MDSL-Specification/">Microservice Domain Specific Language (MDSL)</a> that we used to illustrate many of our refactorings. A pattern eligibility cheat sheet is available as well.</p>

<p><a href="https://www.amazon.com/Patterns-API-Design-Simplifying-Addison-Wesley/dp/0137670109" target="_blank"><img src="https://www.informit.com/ShowCover.aspx?isbn=9780137670109&amp;type=f" alt="Patterns for API Design Cover Image" /></a></p>

<p>“Patterns for API Design” is available at <a href="https://www.amazon.com/Patterns-API-Design-Simplifying-Addison-Wesley/dp/0137670109">Amazon.com</a>, <a href="https://www.informit.com/store/patterns-for-api-design-simplifying-integration-with-9780137670109">InformIT</a> and other bookstores.</p>]]></content><author><name></name></author><category term="news" /><summary type="html"><![CDATA[The API design patterns featured in many of the refactorings in this catalog form the core of the book called “Patterns for API Design: Simplifying Integration with Loosely Coupled Message Exchanges”, published by the Addison-Wesley Signature series editor Vaughn Vernon on Twitter and LinkedIn.]]></summary></entry><entry><title type="html">Refactorings implemented in MDSL Tools</title><link href="/news/refactorings-implemented-in-mdsl/" rel="alternate" type="text/html" title="Refactorings implemented in MDSL Tools" /><published>2022-02-03T00:00:00+01:00</published><updated>2022-02-03T00:00:00+01:00</updated><id>/news/refactorings-implemented-in-mdsl</id><content type="html" xml:base="/news/refactorings-implemented-in-mdsl/"><![CDATA[<p>The latest <a href="https://microservice-api-patterns.github.io/MDSL-Specification/tools">MDSL Tools</a> implement most refactorings described in this catalog. They are also available through the <a href="https://mdsl-web.up.railway.app">MDSL Web Tools</a>, a Web application to transform API specifications written in MDSL and generate Open API and other interface descriptions from them. The following screenshot shows the user interface to apply the <a href="/refactorings/introducepagination">Introduce Pagination</a> refactoring:</p>

<p><img src="/assets/images/mdsl-web-screenshot.png" alt="" /></p>

<p>The source code is freely available at <a href="https://github.com/Microservice-API-Patterns/MDSL-Web">GitHub</a>. See the MDSL documentation on <a href="https://microservice-api-patterns.github.io/MDSL-Specification/soad#transformations-related-to-patterns-and-refactorings">Transformations Related to Patterns and Refactorings</a> for details.</p>]]></content><author><name></name></author><category term="news" /><summary type="html"><![CDATA[The latest MDSL Tools implement most refactorings described in this catalog. They are also available through the MDSL Web Tools, a Web application to transform API specifications written in MDSL and generate Open API and other interface descriptions from them. The following screenshot shows the user interface to apply the Introduce Pagination refactoring:]]></summary></entry><entry><title type="html">Done for 2021</title><link href="/news/seventh-slice-released/" rel="alternate" type="text/html" title="Done for 2021" /><published>2021-12-13T00:00:00+01:00</published><updated>2021-12-13T00:00:00+01:00</updated><id>/news/seventh-slice-released</id><content type="html" xml:base="/news/seventh-slice-released/"><![CDATA[<p>The final four API “refactorings” (for this year) are now published online. Unlike the previously provided ones, they affect service level agreements and desired evolution qualities rather than the endpoint design and the message structures (for the most part):</p>

<ul>
  <li><a href="/refactorings/introduceversionidentifier">Introduce Version Identifier</a></li>
  <li><a href="/refactorings/tightenevolutionstrategy">Tighten Evolution Strategy</a></li>
  <li><a href="/refactorings/relaxevolutionstrategy">Relax Evolution Strategy</a></li>
  <li><a href="/refactorings/introduceversionmediator">Introduce Version Mediator</a></li>
</ul>

<p>API providers and customers are often in opposing positions when making decisions about API longevity and development. For example, providers might want to increase their customer base while at the same time minimizing the number of different versions they have to run and maintain in production. An individual customer whose use case is covered by the API may not want to be forced to upgrade to new API versions. In such cases, it helps if the provider clearly states their API guarantees. If they have to be adjusted, advice can be found in our new <a href="/refactorings/tightenevolutionstrategy">Tighten Evolution Strategy</a> and <a href="/refactorings/relaxevolutionstrategy">Relax Evolution Strategy</a> refactorings.</p>

<p>One possible outcome could be that the API will be offered in several versions, with the provider <a href="/refactorings/introduceversionidentifier">introducing an explicit Version Identifier</a> so that clients can choose which version to use. Depending on API changes, <a href="/refactorings/introduceversionmediator">introducing a Version Mediator</a> can (temporarily) hide API changes from clients by introducing a mediator that maps the old API calls and their request- and response messages to new ones.</p>]]></content><author><name></name></author><category term="news" /><summary type="html"><![CDATA[The final four API “refactorings” (for this year) are now published online. Unlike the previously provided ones, they affect service level agreements and desired evolution qualities rather than the endpoint design and the message structures (for the most part):]]></summary></entry><entry><title type="html">Slice 6 available online</title><link href="/news/sixth-slice-released/" rel="alternate" type="text/html" title="Slice 6 available online" /><published>2021-11-29T00:00:00+01:00</published><updated>2021-11-29T00:00:00+01:00</updated><id>/news/sixth-slice-released</id><content type="html" xml:base="/news/sixth-slice-released/"><![CDATA[<p>Three new API refactorings are now published online:</p>

<ul>
  <li><a href="/refactorings/addwishtemplate">Add Wish Template</a></li>
  <li><a href="/refactorings/renamerepresentationelement">Rename Representation Element</a></li>
  <li><a href="/refactorings/mergeoperations">Merge Operations</a></li>
</ul>

<p>With today’s release, the previously published <a href="/refactorings/addwishlist">Add Wish List</a> gets an alternative refactoring: <a href="/refactorings/addwishtemplate">Add Wish Template</a>. If a plain list that enumerates the desired response data structure elements is not flexible enough, the <a href="https://www.microservice-api-patterns.org/patterns/quality/dataTransferParsimony/WishTemplate">Wish Template</a> pattern offers a richer alternative where clients can express their wishes in a complex data structure. The new <a href="/refactorings/renamerepresentationelement">Rename Representation Element</a> refactoring completes the <em>Rename</em> series of <a href="/refactorings/renameendpoint">Rename Endpoint</a> and <a href="/refactorings/renameoperation">Rename Operation</a>. Finally, <a href="/refactorings/mergeoperations">Merge Operations</a> reverts <a href="/refactorings/splitoperation">Split Operation</a> and is eligible when two (or more) operations should be collapsed into a single one.</p>]]></content><author><name></name></author><category term="news" /><summary type="html"><![CDATA[Three new API refactorings are now published online:]]></summary></entry><entry><title type="html">Fifth Slice of API Refactorings Released</title><link href="/news/fifth-slice-released/" rel="alternate" type="text/html" title="Fifth Slice of API Refactorings Released" /><published>2021-11-01T00:00:00+01:00</published><updated>2021-11-01T00:00:00+01:00</updated><id>/news/fifth-slice-released</id><content type="html" xml:base="/news/fifth-slice-released/"><![CDATA[<p>In today’s release, we are happy to present you three new API refactorings:</p>

<ul>
  <li><a href="/refactorings/makerequestconditional">Make Request Conditional</a></li>
  <li><a href="/refactorings/renameendpoint">Rename Endpoint</a></li>
  <li><a href="/refactorings/splitoperation">Split Operation</a></li>
</ul>

<p><em>Make Request Conditional</em> is concerned with speeding up the communication between API client and provider by not re-sending data the client already has. This can be done by refactoring an API operation to the <a href="https://www.microservice-api-patterns.org/patterns/quality/dataTransferParsimony/ConditionalRequest">Conditional Request</a> pattern. The other two refactorings in this release, <em>Rename Endpoint</em> and <em>Split Operation</em>, aim at improving the <a href="/refactorings/by-stakeholder-concerns/#maintainability">maintainability</a> of an API, specifically <a href="/refactorings/by-stakeholder-concerns/#learnability">learnability</a>, <a href="/refactorings/by-stakeholder-concerns/#understandability">understandability</a>, and <a href="/refactorings/by-stakeholder-concerns/#evolvability">evolvability</a>.</p>

<p>We also updated several of the previously published refactorings substantially to incorporate feedback and to consolidate the stakeholder concerns and smell sections across refactorings. For example, <a href="/refactorings/introducepagination#hints-and-pitfalls-to-avoid">Introduce Pagination</a> was significantly expanded with more “Hints and Pitfalls to Avoid”, contributed by <a href="https://au.linkedin.com/in/andreifurda">Andrei Furda</a>.</p>]]></content><author><name></name></author><category term="news" /><summary type="html"><![CDATA[In today’s release, we are happy to present you three new API refactorings:]]></summary></entry></feed>