Published February 19, 2021 | Version v1
Conference paper Open

Interface Responsibility Patterns: Processing Resources and Operation Responsibilities

  • 1. University of Applied Sciences of Eastern Switzerland, Rapperswil
  • 2. iQuest GmbH
  • 3. University of Vienna
  • 4. USI Lugano

Description

Remote Application Programming Interfaces (APIs), as for instance offered in microservices architectures, are used in almost any distributed system today and are thus enablers for many digitalization efforts. It is hard to design such APIs so that they are easy and effective to use; maintaining their runtime qualities while preserving backward compatibility is equally challenging. Finding well suited granularities in terms of the architectural capabilities of endpoints and the read-write semantics of their operations are particularly important design concerns. Existing pattern languages have dealt with local APIs in object-oriented programming, with remote objects, with queue-based messaging and with service-oriented computing platforms. However, patterns or equivalent guidances for the architectural design of API endpoints, operations and their request and response message structures are still missing. In this paper, we extend our microservice API pattern language (MAP) and introduce endpoint role and operation responsibility patterns, namely Processing Resource, Computation Function,  State Creation Operation, Retrieval Operation, and State Transition Operation. Known uses and examples of the patterns are drawn from public Web APIs, as well as application development and system integration projects the authors have been involved in.

Files

MAP-EuroPlop2020aPaper.pdf

Files (1.1 MB)

Name Size Download all
md5:5bb9c4f675c64a5f40540cfb39a0351e
1.1 MB Preview Download

Additional details

Funding

Analytics-centric Continuous Design of Microservice APIs I 4268
FWF Austrian Science Fund