Patterns for API Design: Simplifying Integration with Loosely Coupled Message Exchanges
Autor Olaf Zimmermann, Mirko Stocker, Daniel Lubke, Uwe Zdun, Cesare Pautassoen Limba Engleză Paperback – 15 dec 2022
Recomandăm explorarea studiului de caz central, Lakeside Mutual, care servește drept coloană vertebrală pentru întreaga lucrare. Acesta nu este doar un exemplu teoretic, ci un proiect complex de asigurări care demonstrează cum se trece de la cerințele de business la specificații tehnice riguroase. Autorii folosesc acest context pentru a ilustra procesul de selecție a pattern-urilor de structură și responsabilitate, oferind o perspectivă aplicată asupra modului în care deciziile arhitecturale influențează sustenabilitatea unui sistem pe termen lung. Considerăm că volumul se distinge prin rigoarea academică aplicată unor probleme practice de inginerie software. Structura este organizată logic în trei părți esențiale: fundamente și narative de decizie, catalogul propriu-zis de 44 de pattern-uri și strategii de evoluție. Spre deosebire de abordările pur descriptive, Patterns for API Design: Simplifying Integration with Loosely Coupled Message Exchanges pune accent pe 'forțele' care determină o alegere tehnică — avantaje, dezavantaje și compromisuri necesare în proiectarea endpoint-urilor și a mesajelor de cerere-răspuns. Subliniem că acest volum este complementar titlului Principles of Web API Design de James Higginbotham. În timp ce Higginbotham se concentrează pe procesele de scalare la nivel de echipă și integrarea fluxurilor de lucru, Olaf Zimmermann și echipa sa aprofundează granularitatea mesajelor și decuplarea fluxurilor de date prin schimburi de mesaje slab cuplate. De asemenea, față de Creating Maintainable APIs, care pune accent pe principii OOP aplicate în servicii distribuite, această lucrare oferă un catalog mult mai extins de soluții specifice pentru conținutul mesajelor și reprezentarea acestora, indiferent de tehnologia sau platforma utilizată.
Preț: 314.51 lei
Preț vechi: 393.13 lei
-20%
Carte disponibilă
Livrare economică 27 mai-10 iunie
Livrare express 12-16 mai pentru 52.06 lei
Specificații
ISBN-10: 0137670109
Pagini: 544
Dimensiuni: 178 x 232 x 30 mm
Greutate: 0.92 kg
Ediția:1. Auflage
Editura: Pearson International
De ce să citești această carte
Pentru arhitecții și dezvoltatorii care doresc să depășească etapa de design ad-hoc, această carte oferă un vocabular tehnic comun și soluții verificate pentru integrarea sistemelor. Veți câștiga capacitatea de a proiecta contracte API robuste care rezistă în timp. Este o resursă esențială dacă lucrați cu microservicii sau sisteme distribuite unde calitatea mesajelor schimbate este critică pentru performanță.
Despre autor
Echipa de autori reunește experți de renume în arhitectura software și sisteme distribuite. Olaf Zimmermann este profesor la OST (Eastern Switzerland University of Applied Sciences) și un cercetător recunoscut, anterior lucrând la IBM Research, unde s-a specializat în servicii web și arhitecturi orientate pe servicii (SOA). Împreună cu Mirko Stocker, Daniel Lubke, Uwe Zdun și Cesare Pautasso, aceștia combină experiența industrială vastă cu rigoarea academică, fiind contribuitori activi în comunitatea de pattern-uri software și design de sisteme complexe.
Cuprins
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