Document Open Access Logo

Introduction to Microservice API Patterns (MAP)

Authors Olaf Zimmermann, Mirko Stocker, Daniel Lübke, Cesare Pautasso, Uwe Zdun



PDF
Thumbnail PDF

File

OASIcs.Microservices.2017-2019.4.pdf
  • Filesize: 0.7 MB
  • 17 pages

Document Identifiers

Author Details

Olaf Zimmermann
  • University of Applied Sciences of Eastern Switzerland, Rapperswil, Switzerland
Mirko Stocker
  • University of Applied Sciences of Eastern Switzerland, Rapperswil, Switzerland
Daniel Lübke
  • iQuest GmbH, Hanover, Germany
Cesare Pautasso
  • Software Institute, Faculty of Informatics, USI Lugano, Switzerland
Uwe Zdun
  • University of Vienna, Faculty of Computer Science, Software Architecture Research Group, Vienna, Austria

Cite AsGet BibTex

Olaf Zimmermann, Mirko Stocker, Daniel Lübke, Cesare Pautasso, and Uwe Zdun. Introduction to Microservice API Patterns (MAP). In Joint Post-proceedings of the First and Second International Conference on Microservices (Microservices 2017/2019). Open Access Series in Informatics (OASIcs), Volume 78, pp. 4:1-4:17, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2020)
https://doi.org/10.4230/OASIcs.Microservices.2017-2019.4

Abstract

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.

Subject Classification

ACM Subject Classification
  • Software and its engineering → Patterns
  • Software and its engineering → Designing software
Keywords
  • application programming interfaces
  • distributed systems
  • enterprise application integration
  • service-oriented computing
  • software architecture

Metrics

  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    0
    PDF Downloads

References

  1. Subbu Allamaraju. RESTful Web Services Cookbook. O'Reilly, 2010. Google Scholar
  2. Robert Daigneau. Service Design Patterns: Fundamental Design Solutions for SOAP/WSDL and RESTful Web Services. Addison-Wesley Professional, 2011. URL: http://www.servicedesignpatterns.com/.
  3. Eric Evans. Domain-Driven Design: Tacking Complexity In the Heart of Software. Addison-Wesley, 2003. Google Scholar
  4. Pat Helland. Data on the Outside Versus Data on the Inside. In CIDR 2005, Second Biennial Conf. on Innovative Data Systems Research, Asilomar, CA, USA, January 4-7, 2005, Online Proceedings, pages 144-153, 2005. URL: http://cidrdb.org/cidr2005/papers/P12.pdf.
  5. Gregor Hohpe. SOA patterns: New insights or recycled knowledge? https://www.enterpriseintegrationpatterns.com/docs/HohpeSOAPatterns.pdf, 2007.
  6. Gregor Hohpe, Rebecca Wirfs-Brock, Joseph W. Yoder, and Olaf Zimmermann. Twenty Years of Patterns' Impact. IEEE Software, 30(6):88, 2013. URL: https://doi.org/10.1109/MS.2013.135.
  7. Gregor Hohpe and Bobby Woolf. Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions. Addison-Wesley, 2003. Google Scholar
  8. Klaus Julisch, Christophe Suter, Thomas Woitalla, and Olaf Zimmermann. Compliance by design-Bridging the chasm between auditors and IT architects. Computers &Security, 30(6):410-426, 2011. Google Scholar
  9. Stefan Kapferer. A Domain-specific Language for Service Decomposition. Term project, University of Applied Sciences of Eastern Switzerland (HSR FHO), 2018. URL: https://eprints.hsr.ch/722.
  10. James Lewis and Martin Fowler. Microservices: a definition of this new architectural term. https://martinfowler.com/articles/microservices.html/, 2014.
  11. Daniel Lübke, Olaf Zimmermann, Mirko Stocker, Cesare Pautasso, and Uwe Zdun. Interface Evolution Patterns - Balancing Compatibility and Extensibility across Service Life Cycles. In Proc. of the 24th European Conference on Pattern Languages of Programs, EuroPLoP '19, 2019. Google Scholar
  12. Paul B. Monday. Web Services Patterns: Java Edition. Apress, Berkely, CA, USA, 2003. Google Scholar
  13. Sam Newman. Building Microservices: Designing Fine-Grained Systems. O'Reilly, 2015. Google Scholar
  14. Guy Pardon, Cesare Pautasso, and Olaf Zimmermann. Consistent Disaster Recovery for Microservices: the BAC Theorem. IEEE Cloud Computing, 5(1):49-59, December 2018. URL: https://doi.org/10.1109/MCC.2018.011791714.
  15. Cesare Pautasso and Olaf Zimmermann. The Web as a Software Connector: Integration Resting on Linked Resources. IEEE Software, 35:93-98, 2018. URL: https://doi.org/10.1109/MS.2017.4541049.
  16. Cesare Pautasso, Olaf Zimmermann, Mike Amundsen, James Lewis, and Nicolai M. Josuttis. Microservices in Practice, Part 1: Reality Check and Service Design. IEEE Software, 34(1):91-98, 2017. URL: https://doi.org/10.1109/MS.2017.24.
  17. Mirko Stocker, Olaf Zimmermann, Daniel Lübke, Uwe Zdun, and Cesare Pautasso. Interface Quality Patterns - Communicating and Improving the Quality of Microservices APIs. In Proc. of the 23nd European Conference on Pattern Languages of Programs, EuroPLoP '18, 2018. Google Scholar
  18. Phil Sturgeon. Build APIs you won't hate. LeanPub, https://leanpub.com/build-apis-you-wont-hate, 2016. Google Scholar
  19. Vaughn Vernon. Implementing Domain-Driven Design. Addison-Wesley Professional, 2013. Google Scholar
  20. Rebecca Wirfs-Brock and Alan McKean. Object Design: Roles, Responsibilities, and Collaborations. Pearson Education, 2002. Google Scholar
  21. Uwe Zdun, Mirko Stocker, Olaf Zimmermann, Cesare Pautasso, and Daniel Lübke. Guiding Architectural Decision Making on Quality Aspects in Microservice APIs. In 16th International Conference on Service-Oriented Computing ICSOC 2018, pages 78-89, November 2018. URL: http://eprints.cs.univie.ac.at/5956/.
  22. Olaf Zimmermann. Microservices Tenets. Comput. Sci., 32(3-4):301-310, July 2017. URL: https://doi.org/10.1007/s00450-016-0337-0.
  23. Olaf Zimmermann, Mirko Stocker, Daniel Lübke, and Uwe Zdun. Interface Representation Patterns: Crafting and Consuming Message-Based Remote APIs. In Proc. of the 22nd European Conference on Pattern Languages of Programs, EuroPLoP '17, pages 27:1-27:36. ACM, 2017. URL: https://doi.org/10.1145/3147704.3147734.
Questions / Remarks / Feedback
X

Feedback for Dagstuhl Publishing


Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail