Creating Maintainable APIs: A Practical, Case-Study Approach

  • 5h 24m
  • Ervin Varga
  • Apress
  • 2016

Build straightforward and maintainable APIs to create services that are usable and maintainable. Although this book focuses on distributed services, it also emphasizes how the core principles apply even to pure OOD and OOP constructs.

The overall context of Creating Maintainable APIs is to classify the topics into four main areas: classes and interfaces, HTTP REST APIs, messaging APIs, and message payloads (XML, JSON and JSON API as well as Apache Avro).

What You Will Learn

  • Use object-oriented design constructs and their APIs
  • Create and manage HTTP REST APIs
  • Build and manage maintainable messaging APIs, including the use of Apache Kafka as a principal messaging hub
  • Handle message payloads via JSON

Who This Book Is For

Any level software engineers and very experienced programmers.

About the Author

Ervin Varga is in the software industry as a professional software engineer since 1994. He is an IEEE Software Engineering Certified Instructor, and an assistant professor at the University of Novi Sad, Faculty of Technical Sciences, Novi Sad, Serbia. As an owner of the software consulting company Expro I.T. Consulting, he is always in touch with production software. Consequently, he does posses production level expertise with the content of this book. Lastly, Ervin has a M.Sc. from computer science, and a Ph.D. from electrical engineering (my thesis was an application of software engineering/computer science in the domain of electrical power systems).

In this Book

  • Information Hiding and APIs
  • Modular Design
  • Designing Classes for Reuse
  • TDD as an API Design Technique
  • Identifying Resources
  • Versioning REST APIs
  • Encoding Actions on Resources
  • Implementing Synchronous and Asynchronous REST APIs
  • Documenting REST APIs
  • Testing REST APIs
  • Implementing Messaging APIs
  • Apache Kafka as a Messaging Hub
  • Testing Messaging APIs
  • Schema-Based Messages
  • The Core JSON API
  • Evolving the JSON API
  • Katharsis
SHOW MORE
FREE ACCESS