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.
Features -
1. Identify and overcome API design challenges with patterns Size your endpoint types and operations adequately
2. Design request and response messages and their representations
3. Refine your message design for quality Plan to evolve your APIs
4. Document and communicate your API contracts Combine patterns to solve real-world problems and make the right tradeoffs
About the Author -
Olaf Zimmerman is a professor and institute partner at the Institute for Software at the University of Applied Sciences of Eastern Switzerland, Rapperswil (OST) in Rapperswil, Switzerland. His areas of interest include API design and management, domain-driven design and (micro-) services on solution, portfolio and enterprise level. As an industrial researcher and software architect at ABB and IBM, he provided design, implementation and integration services to clients in multiple industries before. He also developed and taught middleware and tools for systems and network management.
Olaf is a certified The Open Group Distinguished (Chief/Lead) IT Architect and a member of Hillside Europe and the Agile Alliance. He is an author of “Perspectives on Web Services” (Springer, 2003) and the first IBM Redbook on Eclipse and Web services (2001). He was awarded the first IEEE Software Best Presentation New Directions Award at SEI SATURN 2010. He currently leads the Microservice API Patterns (MAP) and Microservice Domain Specific Language (MDSL) projects and created the Design Practice Repository (DPR). He also is a co-editor of the Insights column in IEEE Software.
Mirko Stocker is professor of software engineering at Eastern Switzerland University of Applied Sciences, specializing on Web development and cloud solutions.
Daniel Lübke is an independent coding and consulting architect who specializes in business process automation and digitization projects.
Uwe Zdun is professor of software architecture at the University of Vienna, focusing on distributed systems engineering, DevOps, patterns, modeling, and empirical software engineering.
Cesare Pautasso is a professor at the Università della Svizzera Italiana, where he leads the Architecture, Design, and Web Information Systems Engineering research group. The authors are active community members participating in pattern writer's workshops, shepherding other authors, serving on program committees, and chairing conferences.
Contents –
Part 1. Foundations and Narratives –
1. Application Programming Interface (API) Fundamentals 2. Lakeside Mutual Case Study 3. API Decision Narratives
Part 2. The Patterns –
4. Pattern Language Introduction 5. Define Endpoint Types and Operations 6. Design Request and Response Message Representations 7. Refine Message Design for Quality 8. Evolve APIs 9. Document and Communicate API Contracts
Part 3. Our Patterns in Action (Now and Then) –
10. Real-World Pattern Stories 11. Conclusion