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 Design: 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.
- Identify and overcome API design challenges with patterns
- Size your endpoint types and operations adequately
- Design request and response messages and their representations
- Refine your message design for quality
- Plan to evolve your APIs
- Document and communicate your API contracts
- Combine patterns to solve real-world problems and make the right
tradeoffs
"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