Proven Patterns for Designing Evolvable High-Quality APIs--For Any Domain, Technology, or Platform APIs enable breakthrough innovation and digital transformation in organizations and ecosystems of all kinds. To create user-friendly, reliable and well-performing APIs, architects, designers, and developers need expert design guidance. This practical guide cuts through the complexity of API conversations and their message contents, introducing comprehensive guidelines and heuristics for designing APIs sustainably and specifying them clearly, for whatever technologies or platforms you use. In Patterns for API Simplifying Integration with Loosely Coupled Message Exchanges , five expert architects and developers cover the entire API lifecycle, from launching projects and establishing goals through defining requirements, elaborating designs, planning evolution, and creating useful documentation. They crystallize the collective knowledge of many practitioners into 44 API design patterns, consistently explained with context, pros and cons, conceptual solutions, and concrete examples. To make their pattern language accessible, they present a domain model, a running case study, decision narratives with pattern selection options and criteria, and walkthroughs of real-world projects applying the patterns in two different industries. "This book provides a healthy mix of theory and practice, containing numerous nuggets of deep advice but never losing the big picture . . . grounded in real-world experience and documented with academic rigor applied and practitioner community feedback incorporated. I am confident that [it] will serve the community well, today and tomorrow." -- Prof. Dr. Dr. h. c. Frank Leymann, Managing Director, Institute of Architecture of Application Systems, University of Stuttgart
“APIs are eating the world.” But how to design good APIs? Just as good software architecture, API design needs lots of experience. Patterns are a good starting point to work around common pitfalls. This book presents patterns to work towards a sound API design.
In Part 1, the authors set the ground by introducing why API design is important and give an overview of which pattern to choose based on the design decisions you have to address. Part 2 presents the API catalog. This second part can be browsed through in the first reading and reconsulted later when having a concrete problem at hand. Part 3 summarizes the book with two case studies where the authors show which API patterns they found in real world examples.
Overall the book is a good reading for everyone that has to design public or private APIs. Basing the API design on the patterns from this book will help to increase the quality of your APIs. It does not go into technology details except for some HTTP and JSON examples, but that’s ok as far as I am concerned, because patterns are supposed to be platform independent.
A great book that contains a lot of valuable knowledge that is helpful when making decisions in API design.
The book excellently describes the decisions we as architects and software engineers have to make when designing APIs and what choices we have; in the form of a collection of patterns. Very well structured, reads good, and contains nice and helpful visualizations and examples.