Skip to content
  • Sign In
  • Try Now
View all events
Application Programming Interface (API)

API Styles Fundamentals

Published by O'Reilly Media, Inc.

Beginner content levelBeginner

Understanding trade-offs and choosing the correct solution for your architecture

In this course, you’ll:

  • Learn how a variety of APIs are designed
  • Understand the differences among API communication methods
  • Learn which API design decisions are best for which use cases

Course description

If you only have a hammer, everything begins to look like a nail, but sticking with a single API style is limiting. Nowadays, a service or microservice has several APIs, and they must all be well-defined.

Join expert Lukasz Dynowski to broaden your API style palette. You’ll examine the best types of APIs for your use cases as well as the design decisions you must make for RESTful APIs, GraphQL APIs, Websockets API, gRPC API, and messaging protocols. You’ll learn how to design a variety of APIs, recognize the trade-offs among them, and understand where to use each one for the best communication among applications.

What you’ll learn and how you can apply it

  • Understand the open systems interconnection (OSI) model
  • Consider the trade-offs when selecting and designing APIs
  • Differentiate between various API communication methods
  • Make appropriate API design decisions for your use case
  • Recognize what constitutes a well-designed API
  • Use existing standards to describe your API

This live event is for you because...

  • You want to be aware of the drawbacks of the APIs you’re using.
  • You want to understand the trade-offs when selecting an API design.
  • You’re a software architect who wants to learn how to develop various APIs.

Prerequisites

Recommended follow-up:

Schedule

The time frames are only estimates and may vary according to how the class is progressing.

Introduction (10 minutes)

  • Presentation: API means many things; API lifecycle; the OSI model; communication styles; encoding; authentication; documentation (open API, async API)

RESTful API (20 minutes)

  • Presentation: What is REST?; trade-offs; examples; best practices
  • Q&A

GraphQL API (20 minutes)

  • Presentation: What is GraphQL?; trade-offs; examples; best practices
  • Q&A

Websocket API (20 minutes)

  • Presentation: What is Websocket?; trade-offs; examples; best practices
  • Q&A

gRPC API (20 minutes)

  • Presentation: What is gRPC?; trade-offs; examples; best practices
  • Q&A

Messaging (20 minutes)

  • Presentation: What is messaging?; messaging styles; trade-offs; examples; best practices
  • Q&A

Wrap-up (10 minutes)

Your Instructor

  • Lukasz Dynowski

    Lukasz Dynowski is an independent consultant who in his career was involved in over 150+ projects. Counting over 10 years of experience as a software engineer Lukasz was doing Full-Stack, DevOps, Software Architecture, as well as building distributed systems for High Performance Computing. Lukasz has a scientific background; he spent a number of years in academia where he was co-author or contributor to several scientific papers including high impact journals. Besides that, Lukasz is a firm believer of open source projects, and values behind Agile Manifesto. He had a chance to spin start several open source projects and contribute to few including Kubernetes. Lukasz is the winner of the first ever O’Reilly’s Software Architectural Katas, and is ranked in the first 0.3% of developers on stackoverflow.com. Finally, he calls himself “the biggest geek that he knows” and he’s a husband to a lovely wife and a father to two lovely kids.