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