Interface Quality Patterns — Communicating and Improving the Quality of Microservices APIs

Interface Quality Patterns — Communicating and Improving the Quality of Microservices APIs

Abstract

The design and evolution of Application Programming Interfaces(APIs) in microservices architectures is challenging. General de-sign issues in integration and programming have been coveredin great detail in many pattern languages since the beginnings ofthe patterns movement, and service-oriented infrastructure designpatterns have also been published in the last decade. However, theinterface representations (i.e., the content of message payloads)have received less attention. We presented five structural represen-tation patterns in our previous work; in this paper we continue ourcoverage of the API design space and propose five interface qualitypatterns that deal with the observable aspects of quality-attribute-driven interface design for efficiency, security, and manageability:AnAPI Keyallows API providers to identify clients. Providers mayoffer rich data contracts in their responses, which not all consumersmight need. AWish Listallows the client to request only the at-tributes in a response data set that it is interested in. If a clientmakes many API calls, the provider can employ aRate Limitandbill clients according to a specifiedRate Plan. A provider has toprovide a high-quality service while at the same time having to useits available resources economically. The resulting compromise isexpressed in a provider’sService Level Agreement.

Grafik Top
Authors
  • Stocker, Mirko
  • Zimmermann, Olaf
  • Lübke, Daniel
  • Zdun, Uwe
  • Pautasso, Cesare
Grafik Top
Shortfacts
Category
Paper in Conference Proceedings or in Workshop Proceedings (Paper)
Event Title
23rd European Conference on Pattern Languages of Programs 2018
Divisions
Software Architecture
Subjects
Software Engineering
Event Location
Irsee, Germnay
Event Type
Conference
Event Dates
4 - 8 July 2018
Date
July 2018
Export
Grafik Top