Interface Responsibility Patterns: Processing Resources and Operation Responsibilities
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.
Top- Zimmermann, Olaf
- Lübke, Daniel
- Zdun, Uwe
- Pautasso, Cesare
- Stocker, Mirko
Category |
Paper in Conference Proceedings or in Workshop Proceedings (Paper) |
Event Title |
European Conference on Pattern Languages of Programs 2020 |
Divisions |
Software Architecture |
Subjects |
Software Engineering |
Event Location |
Irsee, Germany |
Event Type |
Conference |
Event Dates |
July 1-4, 2020 |
Date |
2020 |
Export |