Creating maintainable APIs : a practical case-study approach /
Saved in:
Author / Creator: | Varga, Ervin (Professional software engineer) |
---|---|
Imprint: | Berkeley, CA : Apress, 2016. |
Description: | 1 online resource (295 pages) |
Language: | English |
Subject: | |
Format: | E-Resource Book |
URL for this record: | http://pi.lib.uchicago.edu/1001/cat/bib/11269005 |
Table of Contents:
- At a Glance; Contents; About the Author; About the Technical Reviewers; Acknowledgments; Introduction; Chapter 1: Information Hiding and APIs; Entropy and Its Impact on Assumptions; Case Study: API for Calculating an Integral of a Function; Version I: Direct Summation (Riemann Sum); Version II: Simpson's Rule; Version III: Romberg's Method; Summary; References; Chapter 2: Modular Design; API-Driven Development; Use Case; Abstraction; Data; Encapsulation; Type Coercion Case Study; Use Case: Coercing Arguments; Type Coercion Module; Standard Java's Limitations.
- OSGi as a Disruptive TechnologyOSGi in Action; Modular Integral Calculation; The Architecture of the System; The Provider API; Direct Summation Provider; The Client API; Demo; Summary; References; Chapter 3: Designing Classes for Reuse; Case Study: Client of Reuse; Version I; Version II; Version III; Conclusion; Case Study: Provider of Reuse; Summary; References; Chapter 4: TDD as an API Design Technique; Case Study: TDD Doesn't Replace OOD Principles; Conclusion; Case Study: Tests Are Rubbish Without TDD; Case Study: Retrofitting Tests to Follow TDD; Case Study: Introduction to BDD.
- Case Study: TDD for APIs Is a Complex TopicThe Subtleties of the Spliterator API; Checking for API Incompatibilities Between Different Versions; Postprocessor as a Rescue for Bugs; Better Serialization Support; Performance Guarantees Are Mandatory; The Reworked Version Ready for Publication; Summary; References; Chapter 5: Identifying Resources; Case Study: Problem Reports Microservice; Discovering and Describing Resources; Rapid Application Development (RAD) Tactic; Name Reconciliation; Summary; References; Chapter 6: Versioning REST APIs; The Main Traits of REST API Versioning.
- Altering the Resource URLsAPI Keys as a Way to Control Versioning; The Importance of Stable UR[IL]s; Versioning of Media Types; Versioning of Profiles; Switching API Versions; Upgrading the HTTP Version; Summary; Reference; Chapter 7: Encoding Actions on Resources; Implementing the Core Features; Interaction of Resources via Hypermedia Controls; Skeleton of the Service; The Remaining Representations and Controllers; Smoke Testing the Service; Adding an Ontology; Summary; References; Chapter 8: Implementing Synchronous and Asynchronous REST APIs; Client-Controlled Asynchrony.
- Server-Controlled AsynchronyCase Study: Favorite Problem Report; Summary; Reference; Chapter 9: Documenting REST APIs; Case Study: Attempting the Universal Method; Case Study: Producing a Swagger API Specification; Extending the Service to Implement This New Specification; Smoke Testing the Service; Generating the Dynamic HTML Client; Summary; Reference; Chapter 10: Testing REST APIs; Case Study: Testing with a Level 2 Tool; Examine the Service Use Case; Find General Information Use Case; Delete a Problem Report Use Case; Load Testing the Examine the Service Use Case.