Patterns for API Design: Simplifying Integration with Loosely Coupled Message Exchanges, 1st edition
BRAND: PEARSON
Publisher: | Addison-Wesley Professional |
Author: | Olaf Zimmermann; Mirko Stocker; Daniel Lubke.. |
Edition: | (December 5, 2022) © 2023 |
eBook ISBN: | 9780137669981 |
Print ISBN: | 9780136523567 |
Type: | 1 Year Subscription. Dành cho Cá nhân |
eBook edition. 1 Year Subscription. Dành cho Cá nhân | Trường ĐH, Nhóm, Thư Viện: Gọi 0915920514 để báo giá Pearson, Vital Source eBook hoặc mua Sách In
See what in the box
Mô tả sản phẩm
Khi hàng nghìn nhà phát triển tập trung vào việc xây dựng các API đáng tin cậy, hoạt động tốt và an toàn, thì nhu cầu rất lớn về hướng dẫn thiết kế API thực tế, cập nhật, độc lập với công nghệ và nền tảng. Các mẫu thiết kế API: Đơn giản hóa việc tích hợp với các trao đổi tin nhắn được ghép nối lỏng lẻo sẽ lấp đầy khoảng trống này. Một nhóm gồm các tác giả chuyên gia đã giải quyết sự phức tạp của nội dung thông báo và giao tiếp API, trình bày các nguyên tắc thiết kế và chẩn đoán phong phú và đầy đủ cho các API kỹ thuật một cách bền vững và chỉ định chúng một cách rõ ràng.
Mẫu thiết kế API: Đơn giản hóa việc tích hợp với Trao đổi thông báo được ghép nối lỏng lẻo bao gồm toàn bộ vòng đời API, từ việc khởi chạy dự án và thiết lập mục tiêu kinh doanh cho đến việc xác định các yêu cầu quan trọng về mặt kiến trúc, xây dựng và triển khai các thiết kế cũng như tài liệu. Nó làm sáng tỏ các mẫu được rút ra từ cả API web công cộng cũng như các dự án tích hợp phần mềm và phát triển ứng dụng độc quyền mà các tác giả đã dẫn dắt hoặc tham gia. Bạn sẽ tìm thấy một thư viện đầy đủ các mẫu thiết kế cụ thể, có thể hành động, mỗi mẫu được định dạng nhất quán để giải thích bối cảnh, lực lượng, vấn đề, giải pháp, thảo luận và sử dụng đã biết.
Xuyên suốt, các tác giả chia sẻ những hiểu biết thực tế để đưa ra quyết định và đánh đổi thiết kế tốt hơn, tạo điều kiện triển khai dễ dàng hơn cũng như cấu trúc và thiết kế các API chất lượng cao hơn để đáp ứng cả nhu cầu ngắn hạn và dài hạn. Bạn sẽ học cách:
Tạo điều kiện thuận lợi cho các cuộc thảo luận về thiết kế API tốt hơn bằng cách thiết lập vốn từ vựng chung, xác định các quyết định quan trọng và so sánh các tùy chọn thực tế
Đơn giản hóa việc đánh giá thiết kế và đẩy nhanh việc so sánh khách quan
Lập kế hoạch phát triển và mở rộng API một cách suôn sẻ mà không ảnh hưởng đến khả năng tương thích ngược
Nâng cao tài liệu với kiến thức thiết kế hữu ích để giúp nhà phát triển khách hàng nhanh chóng nắm bắt các khả năng và ràng buộc của API, đồng thời tự tin sử dụng API của bạn
Foreword by Vaughn Vernon, Series Editor
xvii
Foreword by Frank Leymann
xxi
Preface
xxiii
Part 1: Foundations and Narratives
1
Chapter 1:
Application Programming Interface (API) Fundamentals 3
From Local Interfaces to Remote APIs 3
Decision Drivers in API Design 14
A Domain Model for Remote APIs 22
Summary 28
Chapter 2:
Lakeside Mutual Case Study 31
Business Context and Requirements 31
Architecture Overview 35
API Design Activities 39
Target API Specification 39
Summary 41
Chapter 3:
API Decision Narratives 43
Prelude: Patterns as Decision Options, Forces as Decision Criteria 43
Foundational API Decisions and Patterns 45
Decisions about API Roles and Responsibilities 57
Selecting Message Representation Patterns 70
Interlude: Responsibility and Structure Patterns in the Lakeside Mutual Case 82
Governing API Quality 84
Deciding for API Quality Improvements 98
Decisions about API Evolution 110
Summary 122
Part 2: The Patterns
125
Chapter 4:
Pattern Language Introduction 127
Positioning and Scope 128
Patterns: Why and How? 130
Navigating through the Patterns 131
Foundations: API Visibility and Integration Types 137
Basic Structure Patterns 146
Summary 158
Chapter 5:
Define Endpoint Types and Operations 161
Introduction to API Roles and Responsibilities 162
Endpoint Roles (aka Service Granularity) 167
Operation Responsibilities 215
Summary 248
Chapter 6:
Design Request and Response Message Representations 253
Introduction to Message Representation Design 253
Element Stereotypes 256
Special-Purpose Representations 282
Summary 305
Chapter 7:
Refine Message Design for Quality 309
Introduction to API Quality 309
Message Granularity 313
Client-Driven Message Content (aka Response Shaping) 325
Message Exchange Optimization (aka Conversation Efficiency) 344
Summary 355
Chapter 8:
Evolve APIs 357
Introduction to API Evolution 357
Versioning and Compatibility Management 362
Life-Cycle Management Guarantees 374
Summary 393
Chapter 9:
Document and Communicate API Contracts 395
Introduction to API Documentation 395
Documentation Patterns 398
Summary 421
Part 3: Our Patterns in Action (Now and Then)
423
Chapter 10:
Real-World Pattern Stories 425
Large-Scale Process Integration in the Swiss Mortgage Business 426
Offering and Ordering Processes in Building Construction 438
Summary 445
Chapter 11:
Conclusion 447
Short Retrospective 448
API Research: Refactoring to Patterns, MDSL, and More 449
The Future of APIs 450
Additional Resources 451
Final Remarks 451
Appendix A: Endpoint Identification and Pattern Selection Guides 453
Appendix B: Implementation of the Lakeside Mutual Case 463
Appendix C: Microservice Domain-Specific Language (MDSL) 471
Bibliography
483
Index
499
Khi hàng nghìn nhà phát triển tập trung vào việc xây dựng các API đáng tin cậy, hoạt động tốt và an toàn, thì nhu cầu rất lớn về hướng dẫn thiết kế API thực tế, cập nhật, độc lập với công nghệ và nền tảng. Các mẫu thiết kế API: Đơn giản hóa việc tích hợp với các trao đổi tin nhắn được ghép nối lỏng lẻo sẽ lấp đầy khoảng trống này. Một nhóm gồm các tác giả chuyên gia đã giải quyết sự phức tạp của nội dung thông báo và giao tiếp API, trình bày các nguyên tắc thiết kế và chẩn đoán phong phú và đầy đủ cho các API kỹ thuật một cách bền vững và chỉ định chúng một cách rõ ràng.
Mẫu thiết kế API: Đơn giản hóa việc tích hợp với Trao đổi thông báo được ghép nối lỏng lẻo bao gồm toàn bộ vòng đời API, từ việc khởi chạy dự án và thiết lập mục tiêu kinh doanh cho đến việc xác định các yêu cầu quan trọng về mặt kiến trúc, xây dựng và triển khai các thiết kế cũng như tài liệu. Nó làm sáng tỏ các mẫu được rút ra từ cả API web công cộng cũng như các dự án tích hợp phần mềm và phát triển ứng dụng độc quyền mà các tác giả đã dẫn dắt hoặc tham gia. Bạn sẽ tìm thấy một thư viện đầy đủ các mẫu thiết kế cụ thể, có thể hành động, mỗi mẫu được định dạng nhất quán để giải thích bối cảnh, lực lượng, vấn đề, giải pháp, thảo luận và sử dụng đã biết.
Xuyên suốt, các tác giả chia sẻ những hiểu biết thực tế để đưa ra quyết định và đánh đổi thiết kế tốt hơn, tạo điều kiện triển khai dễ dàng hơn cũng như cấu trúc và thiết kế các API chất lượng cao hơn để đáp ứng cả nhu cầu ngắn hạn và dài hạn. Bạn sẽ học cách:
Tạo điều kiện thuận lợi cho các cuộc thảo luận về thiết kế API tốt hơn bằng cách thiết lập vốn từ vựng chung, xác định các quyết định quan trọng và so sánh các tùy chọn thực tế
Đơn giản hóa việc đánh giá thiết kế và đẩy nhanh việc so sánh khách quan
Lập kế hoạch phát triển và mở rộng API một cách suôn sẻ mà không ảnh hưởng đến khả năng tương thích ngược
Nâng cao tài liệu với kiến thức thiết kế hữu ích để giúp nhà phát triển khách hàng nhanh chóng nắm bắt các khả năng và ràng buộc của API, đồng thời tự tin sử dụng API của bạn
Foreword by Vaughn Vernon, Series Editor
xvii
Foreword by Frank Leymann
xxi
Preface
xxiii
Part 1: Foundations and Narratives
1
Chapter 1:
Application Programming Interface (API) Fundamentals 3
From Local Interfaces to Remote APIs 3
Decision Drivers in API Design 14
A Domain Model for Remote APIs 22
Summary 28
Chapter 2:
Lakeside Mutual Case Study 31
Business Context and Requirements 31
Architecture Overview 35
API Design Activities 39
Target API Specification 39
Summary 41
Chapter 3:
API Decision Narratives 43
Prelude: Patterns as Decision Options, Forces as Decision Criteria 43
Foundational API Decisions and Patterns 45
Decisions about API Roles and Responsibilities 57
Selecting Message Representation Patterns 70
Interlude: Responsibility and Structure Patterns in the Lakeside Mutual Case 82
Governing API Quality 84
Deciding for API Quality Improvements 98
Decisions about API Evolution 110
Summary 122
Part 2: The Patterns
125
Chapter 4:
Pattern Language Introduction 127
Positioning and Scope 128
Patterns: Why and How? 130
Navigating through the Patterns 131
Foundations: API Visibility and Integration Types 137
Basic Structure Patterns 146
Summary 158
Chapter 5:
Define Endpoint Types and Operations 161
Introduction to API Roles and Responsibilities 162
Endpoint Roles (aka Service Granularity) 167
Operation Responsibilities 215
Summary 248
Chapter 6:
Design Request and Response Message Representations 253
Introduction to Message Representation Design 253
Element Stereotypes 256
Special-Purpose Representations 282
Summary 305
Chapter 7:
Refine Message Design for Quality 309
Introduction to API Quality 309
Message Granularity 313
Client-Driven Message Content (aka Response Shaping) 325
Message Exchange Optimization (aka Conversation Efficiency) 344
Summary 355
Chapter 8:
Evolve APIs 357
Introduction to API Evolution 357
Versioning and Compatibility Management 362
Life-Cycle Management Guarantees 374
Summary 393
Chapter 9:
Document and Communicate API Contracts 395
Introduction to API Documentation 395
Documentation Patterns 398
Summary 421
Part 3: Our Patterns in Action (Now and Then)
423
Chapter 10:
Real-World Pattern Stories 425
Large-Scale Process Integration in the Swiss Mortgage Business 426
Offering and Ordering Processes in Building Construction 438
Summary 445
Chapter 11:
Conclusion 447
Short Retrospective 448
API Research: Refactoring to Patterns, MDSL, and More 449
The Future of APIs 450
Additional Resources 451
Final Remarks 451
Appendix A: Endpoint Identification and Pattern Selection Guides 453
Appendix B: Implementation of the Lakeside Mutual Case 463
Appendix C: Microservice Domain-Specific Language (MDSL) 471
Bibliography
483
Index
499