Skip to the content.

What is API

It’s like a humans conversation interface, but for the digital world.

At my previous company, we were talking about few Java developers that they have a “heavy interface” -> meaning “they are not most communicative, and close to a cave man”

Wouldn’t it be nice to have it documented and publicly available? Oh wait -> Solid Project

Sync vs Async

What is a Protocol

Good real-life example is the dyplomatic protocol

Example protocol implementation is the United Nations manual of protocol.

On technical side: It is a set of rules that describe how information is transmited.

HTTP protocol on example of AsyncAPI website :

Specifications

Event Driven Architecture (EDA)

Q: Why do you do event-driven API, is REST API not enough?

A1: Because I want to know what is happening in real-time without asking for an update constantly.

OR

A2: When you send a message, and definitely do not expect a response.

there are many other patterns: Messaging Patterns

EDA is pretty old

Just look at the browser and mouseover event:

=>

Microservices brought event-driven into renesance. Serverless puts it to the moon.

EDA protocols

amqp, http, ibmmq, jms, kafka, anypointmq, mqtt, solace, stomp, websocket, mercure

EDA Docs

EDA Setup - Simplified

These two perspectives cause some headache in AsyncAPI