Introduction to Microservice API Patterns (MAP)

The Microservice API Patterns (MAP) language and supporting website premiered under this name at Microservices 2019. MAP distills proven, platform- and technology-independent solutions to recurring (micro-)service design and interface specification problems such as finding well-fitting service granularities, rightsizing message representations, and managing the evolution of APIs and their implementations. In this paper, we motivate the need for such a pattern language, outline the language organization and present two exemplary patterns describing alternative options for representing nested data. We also identify future research and development directions.

[1]  Subbu Allamaraju RESTful Web Services Cookbook , 2010 .

[2]  Cesare Pautasso,et al.  Interface evolution patterns: balancing compatibility and extensibility across service life cycles , 2019, EuroPLoP.

[3]  Cesare Pautasso,et al.  Consistent Disaster Recovery for Microservices: the BAC Theorem , 2018, IEEE Cloud Computing.

[4]  Ivar Jacobson,et al.  Object Design: Roles, Responsibilities, and Collaborations , 2002 .

[5]  Cesare Pautasso,et al.  Interface Quality Patterns: Communicating and Improving the Quality of Microservices APIs , 2018, EuroPLoP.

[6]  Gregor Hohpe,et al.  Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions , 2003 .

[7]  Vaughn Vernon,et al.  Implementing Domain-Driven Design , 2013 .

[8]  Robert Daigneau,et al.  Service Design Patterns: Fundamental Design Solutions for SOAP/WSDL and RESTful Web Services , 2011 .

[9]  Paul B. Monday Web Services Patterns: Java Edition , 2003 .

[10]  Olaf Zimmermann,et al.  Twenty Years of Patterns' Impact , 2013, IEEE Softw..

[11]  Pat Helland Data on the outside versus data on the inside , 2005, CIDR.

[12]  Cesare Pautasso,et al.  The Web as a Software Connector: Integration Resting on Linked Resources , 2017, IEEE Software.

[13]  Olaf Zimmermann,et al.  Microservices tenets , 2017, Computer Science - Research and Development.

[14]  Cesare Pautasso,et al.  Guiding Architectural Decision Making on Quality Aspects in Microservice APIs , 2018, ICSOC.

[15]  Cesare Pautasso,et al.  Microservices in Practice, Part 1: Reality Check and Service Design , 2017, IEEE Software.

[16]  Gregor Hohpe,et al.  SOA Patterns – New Insights or Recycled Knowledge ? , 2007 .

[17]  Olaf Zimmermann,et al.  Compliance by design - Bridging the chasm between auditors and IT architects , 2011, Comput. Secur..

[18]  Sam Newman,et al.  Building microservices - designing fine-grained systems, 1st Edition , 2015 .

[19]  Evans,et al.  Domain-driven design , 2003 .

[20]  Olaf Zimmermann,et al.  Interface Representation Patterns: Crafting and Consuming Message-Based Remote APIs , 2017, EuroPLoP.