Foreword by Vaughn Vernon, Series Editor
Foreword by Frank Leymann
Preface
Part 1: Foundations and Narratives
Chapter 1: Application Programming Interface (API) Fundamentals
From Local Interfaces to Remote APIs
Decision Drivers in API Design
A Domain Model for Remote APIs
Summary
Chapter 2: Lakeside Mutual Case Study
Business Context and Requirements
Architecture Overview
API Design Activities
Target API Specification
Summary
Chapter 3: API Decision Narratives
Prelude: Patterns as Decision Options, Forces as Decision Criteria
Foundational API Decisions and Patterns
Decisions about API Roles and Responsibilities
Selecting Message Representation Patterns
Interlude: Responsibility and Structure Patterns in the Lakeside Mutual Case
Governing API Quality
Deciding for API Quality Improvements
Decisions about API Evolution
Summary
Part 2: The Patterns
Chapter 4: Pattern Language Introduction
Positioning and Scope
Patterns: Why and How?
Navigating through the Patterns
Foundations: API Visibility and Integration Types
Basic Structure Patterns
Summary
Chapter 5: Define Endpoint Types and Operations
Introduction to API Roles and Responsibilities
Endpoint Roles (aka Service Granularity)
Operation Responsibilities
Summary
Chapter 6: Design Request and Response Message Representations
Introduction to Message Representation Design
Element Stereotypes
Special-Purpose Representations
Summary
Chapter 7: Refine Message Design for Quality
Introduction to API Quality
Message Granularity
Client-Driven Message Content (aka Response Shaping)
Message Exchange Optimization (aka Conversation Efficiency)
Summary
Chapter 8: Evolve APIs
Introduction to API Evolution
Versioning and Compatibility Management
Life-Cycle Management Guarantees
Summary
Chapter 9: Document and Communicate API Contracts
Introduction to API Documentation
Documentation Patterns
Summary
Part 3: Our Patterns in Action (Now and Then)
Chapter 10: Real-World Pattern Stories
Large-Scale Process Integration in the Swiss Mortgage Business
Offering and Ordering Processes in Building Construction
Summary
Chapter 11: Conclusion
Short Retrospective
API Research: Refactoring to Patterns, MDSL, and More
The Future of APIs
Additional Resources
Appendix A: Endpoint Identification and Pattern Selection Guides
Appendix B: Implementation of the Lakeside Mutual Case
Appendix C: Microservice Domain-Specific Language (MDSL)
Bibliography
Index