Creating Maintainable APIs [electronic resource] : A Practical, Case-Study Approach /
Varga, Ervin.author.
This book explains the importance of having straightforward and maintainable APIs in order for services to be usable and maintainable. Although, the focus is on services, this book also emphasizes how the core principles apply even to bare classes. The overall context of this book is to classify the topics into 4 main areas: classes and interfaces, HTTP REST APIs, messaging APIs, and message payloads (XML, JSON and JSON API as well as Apache Avro). Here is what you'll learn: What are Object-Oriented design constructs and their APIs How to create and manage the HTTP REST APIs How to create and manage maintainable messaging APIs, including the use of Apache Kafka ad a principle messaging hub How to handle message payloads via JSON mostly And more.
Includes bibliographical references at the end of each chapters and index.
1. Information Hiding and APIs -- 2. Modular Design -- 3. Designing Classes for Reuse -- 4. TDD as an API Design Technique -- 5. Identifying Resources -- 6. Versioning REST APIs -- 7. Encoding Actions on Resources -- 8. Implementing Synchronous and Asynchronous REST APIs -- 9. Documenting REST APIs -- 10. Testing REST APIs -- 11. Implementing Messaging APIs -- 12. Apache Kafka as a Messaging Hub -- 13. Testing Messaging APIs -- 14. Schema Based Messages -- 15. The Core JSON API -- 16. Evolving the JSON API -- 17. Katharsis.
This book explains the importance of having straightforward and maintainable APIs in order for services to be usable and maintainable. Although, the focus is on services, this book also emphasizes how the core principles apply even to bare classes. The overall context of this book is to classify the topics into 4 main areas: classes and interfaces, HTTP REST APIs, messaging APIs, and message payloads (XML, JSON and JSON API as well as Apache Avro). Here is what you'll learn: What are Object-Oriented design constructs and their APIs How to create and manage the HTTP REST APIs How to create and manage maintainable messaging APIs, including the use of Apache Kafka ad a principle messaging hub How to handle message payloads via JSON mostly And more.
Programming languages (Electronic computers).
Computer programming.
Programming Languages, Compilers, Interpreters.
Programming Techniques.