Principles of Web API Design: Delivering Value with APIs and Microservices
API

Principles of Web API Design: Delivering Value with APIs and Microservices

James Higginbotham, 2021

Inhaltsverzeichnis des Buches

  • Dedication Page
  • Contents
  • Series Editor Foreword
  • Foreword
  • Preface
  • Who Should Read This Book
  • About This Book
  • What’s Not in the Book
  • Acknowledgments
  • About the Author
  • Part I: Introduction to Web API Design
  • Chapter 1. The Principles of API Design
  • The Elements of Web API Design
  • API Design Is Communication
  • Reviewing the Principles of Software Design
  • Resource-Based API Design
  • Resources Are Not Object or Domain Models
  • Resource-Based APIs Exchange Messages
  • The Principles of Web API Design
  • Summary
  • Chapter 2. Collaborative API Design
  • Why an API Design Process?
  • API Design Process Antipatterns
  • The API Design-First Approach
  • Remaining Agile with API Design-First
  • The Align-Define-Design-Refine Process
  • The Role of DDD in API Design
  • API Design Involves Everyone
  • Applying the Process Effectively
  • Summary
  • Part II: Aligning on API Outcomes
  • Chapter 3. Identify Digital Capabilities
  • Ensuring Stakeholder Alignment
  • What Are Digital Capabilities?
  • Focusing on the Jobs to Be Done
  • What Are Job Stories?
  • The Components of a Job Story
  • Writing Job Stories for APIs
  • Overcoming Job Story Challenges
  • Techniques for Capturing Job Stories
  • A Real-World API Design Project
  • Job Story Examples
  • Summary
  • Chapter 4. Capture Activities and Steps
  • Extending Job Stories into Activities and Steps
  • Using EventStorming for Collaborative Understanding
  • How EventStorming Works
  • The Benefits of EventStorming
  • Facilitating an EventStorming Session
  • Summary
  • Part III: Defining Candidate APIs
  • Chapter 5. Identifying API Boundaries
  • Avoiding API Boundary Antipatterns
  • Bounded Contexts, Subdomains, and APIs
  • Finding API Boundaries Using EventStorming
  • Finding API Boundaries through Activities
  • Naming and Scoping APIs
  • Summary
  • Chapter 6. API Modeling
  • What Is API Modeling?
  • The API Modeling Process
  • Validating the API Model with Sequence Diagrams
  • Evaluating API Priority and Reuse
  • Summary
  • Part IV: Designing APIs
  • Chapter 7. REST-Based API Design
  • What Is a REST-Based API?
  • REST API Design Process
  • Selecting a Representation Format
  • Common REST Design Patterns
  • Summary
  • Chapter 8. RPC and Query-Based API Design
  • What Is an RPC-Based API?
  • RPC API Design Process
  • What Is a Query-Based API?
  • Query-Based API Design Process
  • Summary
  • Chapter 9. Async APIs for Eventing and Streaming
  • The Problem with API Polling
  • Async APIs Create New Possibilities
  • A Review of Messaging Fundamentals
  • Async API Styles
  • Designing Async APIs
  • Documenting Async APIs
  • Summary
  • Part V: Refining the API Design
  • Chapter 10. From APIs to Microservices
  • What Are Microservices?
  • Microservices Reduce Coordination Costs
  • The Difference between APIs and Microservices
  • Weighing the Complexity of Microservices
  • Synchronous and Asynchronous Microservices
  • Microservice Architecture Styles
  • Right-Sizing Microservices
  • Decomposing APIs into Microservices
  • Considerations When Transitioning to Microservices
  • Summary
  • Chapter 11. Improving the Developer Experience
  • Creating a Mock API Implementation
  • Providing Helper Libraries and SDKs
  • Offering CLIs for APIs
  • Summary
  • Chapter 12. API Testing Strategies
  • Acceptance Testing
  • Automated Security Testing
  • Operational Monitoring
  • API Contract Testing
  • Selecting Tools to Accelerate Testing
  • The Challenges of API Testing
  • Make API Testing Essential
  • Summary
  • Chapter 13. Document the API Design
  • The Importance of API Documentation
  • API Description Formats
  • Extending Docs with Code Examples
  • From Reference Docs to a Developer Portal
  • Effective API Documentation
  • The Minimum Viable Portal
  • Tools and Frameworks for Developer Portals
  • Summary
  • Chapter 14. Designing for Change
  • The Impact of Change on Existing APIs
  • API Versioning Strategies
  • Deprecating APIs
  • Establishing an API Stability Contract
  • Summary
  • Chapter 15. Protecting APIs
  • The Potential for API Mischief
  • Essential API Protection Practices
  • Components of API Protection
  • API Gateway Topologies
  • Identity and Access Management
  • Considerations before Building an In-House API Gateway
  • Summary
  • Chapter 16. Continuing the API Design Journey
  • Establishing an API Style Guide
  • Conducting API Design Reviews
  • Developing a Culture of Reuse
  • The Journey Has Only Begun
  • Appendix: HTTP Primer
  • Index
  • Code Snippets