Interface Representation Patterns - Crafting and Consuming Message-Based Remote APIs

Interface Representation Patterns - Crafting and Consuming Message-Based Remote APIs

Abstract

Remote Application Programming Interfaces (APIs) are technology enablers for major distributed system trends such as mobileand cloud computing and the Internet of Things. In such settings, message-based APIs dominate over procedural and object-oriented ones. It is hard to design such APIs so that they are easy and efficient to use for client developers. Maintaining theirruntime qualities while preserving backward compatibility is equally challenging for API providers. For instance, finding a wellsuited granularity for services and their operations is a particularly important design concern in APIs that realize service-orientedsoftware architectures. Due to the fallacies of distributed computing, the forces for message-based APIs and service interfacesdiffer from those for local APIs – for instance, network latency and security concerns deserve special attention. Existing patternlanguages have dealt with local APIs in object-oriented programming, with remote objects, with queue-based messaging andwith service-oriented computing platforms. However, patterns or equivalent guidance for the structural design of request andresponse messages in message-based remote APIs is still missing. In this paper, we outline such a pattern language and introducefive basic interface representation patterns to promote platform-independent design advice for common remote API technologiessuch as RESTful HTTP and Web services (WSDL/SOAP). Known uses and examples of the patterns are drawn from publicWeb APIs, as well as application development and software integration projects the authors have been involved in.

Grafik Top
Authors
  • Zimmermann, Olaf
  • Stocker, Mirko
  • Lübke, Daniel
  • Zdun, Uwe
Grafik Top
Shortfacts
Category
Paper in Conference Proceedings or in Workshop Proceedings (Paper)
Event Title
22nd European Conference on Pattern Languages of Programs (EuroPLoP 2017)
Divisions
Software Architecture
Subjects
Software Engineering
Event Location
Irsee in Bavaria, Germany
Event Type
Conference
Event Dates
12-16 July 2017
Page Range
pp. 1-36
Date
July 2017
Export
Grafik Top