Cantitate/Preț
Produs

Patterns for API Design: Simplifying Integration with Loosely Coupled Message Exchanges

Autor Olaf Zimmermann, Mirko Stocker, Daniel Lubke, Uwe Zdun, Cesare Pautasso
en 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ă.

Citește tot Restrânge

Preț: 31451 lei

Preț vechi: 39313 lei
-20%

Puncte Express: 472

Carte disponibilă

Livrare economică 27 mai-10 iunie
Livrare express 12-16 mai pentru 5206 lei


Specificații

ISBN-13: 9780137670109
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 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

Notă biografică

Olaf Zimmermann is professor of software architecture at the Institute for Software at Eastern Switzerland University of Applied Sciences, Distinguished IT Architect at The Open Group, and co-editor of IEEE Softwares Insights column. Mirko Stocker is professor of software engineering at Eastern Switzerland University of Applied Sciences, specializing on Web development and cloud solutions. Daniel L�bke is an independent coding and consulting architect who specializes in business process automation and digitization projects. Uwe Zdun is professor of software architecture at the University of Vienna, focusing on distributed systems engineering, DevOps, patterns, modeling, and empirical software engineering. Cesare Pautasso is a professor at the Universit� della Svizzera Italiana, where he leads the Architecture, Design, and Web Information Systems Engineering research group. The authors are active community members participating in pattern writer's workshops, shepherding other authors, serving on program committees, and chairing conferences.

Descriere

Proven Patterns for Designing Evolvable High-Quality APIs--For Any Domain, Technology, or Platform APIs enable breakthrough innovation and digital transformation in organizations and ecosystems of all kinds. To create user-friendly, reliable and well-performing APIs, architects, designers, and developers need expert design guidance. This practical guide cuts through the complexity of API conversations and their message contents, introducing comprehensive guidelines and heuristics for designing APIs sustainably and specifying them clearly, for whatever technologies or platforms you use. In Patterns for API Design: Simplifying Integration with Loosely Coupled Message Exchanges, five expert architects and developers cover the entire API lifecycle, from launching projects and establishing goals through defining requirements, elaborating designs, planning evolution, and creating useful documentation. They crystallize the collective knowledge of many practitioners into 44 API design patterns, consistently explained with context, pros and cons, conceptual solutions, and concrete examples. To make their pattern language accessible, they present a domain model, a running case study, decision narratives with pattern selection options and criteria, and walkthroughs of real-world projects applying the patterns in two different industries. Identify and overcome API design challenges with patterns Size your endpoint types and operations adequately Design request and response messages and their representations Refine your message design for quality Plan to evolve your APIs Document and communicate your API contracts Combine patterns to solve real-world problems and make the right tradeoffs "This book provides a healthy mix of theory and practice, containing numerous nuggets of deep advice but never losing the big picture . . . grounded in real-world experience and documented with academic rigor applied and practitioner community feedback incorporated. I am confident that [it] will serve the community well, today and tomorrow." --Prof. Dr. Dr. h. c. Frank Leymann, Managing Director, Institute of Architecture of Application Systems, University of Stuttgart