►
From YouTube: Async API Specification 2.0 Franz Mendez @ AsyncAPI
Description
APIdays Barcelona 2019
Async API Specification 2.0
Franz Mendez @ AsyncAPI
Speakers slides from the conference:
https://www.slideshare.net/APIdays_official
Learn more on APIscene, the global media made by the community for the community:
https://www.apiscene.io/
Explore the API ecosystem with the API Landscape:
https://www.apiscene.io/api-landscape/
Deep dive into the API industry with our reports:
https://www.apidays.co/industry-reports
Subscribe to our global newsletter:
https://apidays.typeform.com/to/i1MPEW
A
A
Today
I
wanted
to
mention
that
I'm
we
launched
it
version
two
and
all
the
staff,
but
then
I
realized
that
not
many
of
you
really
knew
about
what
async
api
is
right,
so
this
makes
sense
that
I
come
here
and
say
a
version
yeah
of
what
right.
So
let
me
start
a
little
bit
with
with
the
story.
So
this
is
my
young
me.
A
A
Michael
is
a
for
those
of
you
of
you
who
don't
know
it's
a
town
next
to
Portugal
in
south
Spain,
so
at
the
at
the
age
of
11,
I
started
coding
and
it
all
started
because
of
our
of
a
dream
or
because
of
a
lie
depends
on
how
you
look
at
it
right.
So
it
was
actually
my
brother
who
told
me
you
know
what
Fran,
if
you
learn
coding,
you
will
be
able
to
to
create
your
own
games.
A
A
A
It
was
hard
to
find
other
people
wanting
to
do
stuff
like
coding
or
design
or
video
game,
or
whatever
it's
really
hard.
So
it
was
time
to
move
to
Barcelona.
Basically
so
I
moved
to
Barcelona
and
during
a
company
called
API
changelog
and
our
hitch,
you
may
have
heard
about
them
and
that
then
we
started
exploring
more
about
event-driven,
architectures
and
so
I
got
in
love
with
this
concept
and
forget
about
the
games
of
the
staff
right.
So
for
me
that
was
my
game
like
this.
A
A
So
suddenly
I
was
working
at
Mirotic,
so
we
got
in
charge
of
creating
the
the
internal
integration
platform
so
think
about
this,
like
an
integration
platform
like
the
public
ones
that
you
you
see
very
often,
but
only
for
internal
customers
like
internal
teams
and
in
the
beginning
it
was
more
or
less
like
this
right.
Like
message
broker,
there
I
put
message
broker,
it
could
have
been
anything
in
our
case.
A
It
was
Kafka
and
it
was
really
simple,
like
we
have
few
services
here
and
there
publishing
and
subscribing
to
Kafka,
it's
easy
to
do
to
manage
and
to
reason
about
right,
but
then
we
started
growing
and
suddenly
you
see
the
number
of
interactions
there.
This
is
just
illustrative:
it's
not
real
life,
but
it
was
similar
so
that
came
that
came
after
we
had
to
grow
our
team
because
we
grew,
we
grew
our
team.
A
Suddenly,
you
have
you
had
more
speed,
you
have
more
services
and
also
we
had
other
teams
in
the
company
using
our
or
testing
our
integrations
platform.
So
you
had
more
people,
publishing
messages
and
subscribing
to
the
Kafka
right
and
that's
what
happened
afterwards
like
and
then
someone
comes
to
you
and
say:
hey
Fran,
we're
publishing
hearing
to
this
topic
into
this
Kafka
topic.
This
message:
do
you
know
who's
using
this
information
who's
consuming
this
information?
A
A
A
That's
that's
terrifying,
like
and,
and
we
cannot
look
at
the
Kafka
at
the
Kafka
stats,
because
one
could
say
if
you
have
a
connection
open
in
this
topic,
then
you
know
someone
is
using
it
or
not,
because
maybe
it's
just
subscribed,
but
it's
doing
nothing
because
of
a
feature
flag
here
and
here
and
there.
So
maybe
it's
just
consuming
it,
but
doing
nothing
so
in
practice
is
doing
nothing.
A
These
are
all
resources,
but
the
problem
is
that
when,
when
people
look
at
this
type
of
diagrams
or
whatever
you
want
to
call
this
people
see
services,
computer,
sending
information
I
try
to
look
at
this
as
teams.
This
is
actually
team
collaboration.
These
are
people
or
spread
all
over
the
world
trying
to
collaborate
with
each
other,
because
I'm
publishing
this
message
to
Kafka
but
I
have
many
other
teams
consuming
this
messages
from
Kafka
and
in
theory,
I
should
not
know
anything
about
these
teams.
In
theory.
That's
that's.
A
What
even
driven
architecture
architecture
allows
you
right,
but
that's
a
that's
how
through
right,
that's
how
through
and
these
people
are
usually
spread
around
the
world
so
time
zones.
Then
you
have
the
problem.
You
want
to
change
something
and
you
don't
change
it
immediately
and
in
health
and
our
you
have
it
in
production.
If
you
want,
or
in
an
hour
or
whatever,
you
have
to
probably
wait
24
hours,
this
casts
forever
and
in
the
middle
of
the
discussion
you
have
to
wait
another
24
hours
because
you
probably
have
just
one
hour
coincidence.
A
A
So
how
many,
how
many
of
you
are
familiar
with
these
event-driven
architectures
and
and
all
these,
this
kind
of
stuff
that
I'm
talking
about
okay
I,
see
many
racin
hands?
How
many
of
you
are
actually
implementing
it
in
production,
Kafka,
wrapped
in
qib
mmq,
whatever
okay
lots
as
well?
So
you
know
what
I'm
talking
about?
Probably.
A
A
A
It
is,
if
you
have
it
on
your
on
your
paper,
you
you
mark
it
right
or
just
discard
it,
because
you
don't
have
it,
but
suddenly,
at
some
point
some
of
you
will
become
the
publisher
and
will
say
bingo
I,
don't
know
how
to
say
this
in
English
I
think
it's
like
linear
in
English
like,
but
at
some
point,
you're
gonna,
say
bingo,
right
and
I
will
become
a
subscriber
and
I
will
receive
your
message
right
and
I
will
process
it.
So
you
get
it
right.
A
That
simple
example
has
an
implicit
contract
that
we
oftentimes
forget
or
ignore,
which
is
the
language
right.
She'll
follow
particular
kia-ora,
so
much
grunts,
bang,
but
persevere
when
that
could
go
to
the
seal.
That
is
there
right.
So
if
I
change
the
language,
that's
what
I
was
saying.
If
I
change
language
only
some
of
you
will
understand
right
and
some
of
you
will
break.
You
were
expecting
information
in
a
format
and
it
was
not
delivering
that
format.
So,
bang
you
lose
money
because
it's
a
bingo,
you
probably
losing
money
right.
So
that's
what's
happening.
A
A
A
I'm
always
mentioning
like
even
driven
architectures.
This
is
a
it's
like
a
common
way
to
describe
or
a
general
generic
term
for
all
this.
For
all
these
architectures
right,
but
usually
this
is
seen
in
image.
Event-Driven
micro
can
be
micro
or
not
services
or
Internet
of
Things
api's
or
you
know
streaming
API
is
like
the
famous
Twitter
API
streaming
API
that
was
closed
last
year.
A
A
Want
to
stress
this
out
a
lot
I
get
lots
of
questions
very
often
like
what
protocol
are
you
working
with
none
or
all
of
them?
I
mean
it
depends
on
how
you
look
at
it.
So
the
specification
is
to
define
the
contract
the
communication
contract.
We
don't
care
if
it's
Kafka,
if
it's
same,
could
be
if
it's
I'm
qt,
that's
I
mean
we
could
even
define
the
bingo
example
I
think
API,
so
that
that's
just
to
put
an
example.
A
We
of
course
offer
some
tooling
some
implementations
of
the
spec
to
use
it
with
Kafka
to
use
it
with
mqp
or
wrapped
in
queue
or
IBM
in
queue
whatever
right
or
WebSockets.
So
you
can
generate
a
documentation.
You
can
generate
code,
you
can
do
all
sorts
of
things
right,
just
a
and
all
of
that
just
for
what
it's
exactly
for
for
trying
to
prevent
what
I.
What
I
said
before
to
prevent
this
problem,
that
we
don't
know
what
our
services
are
doing
right.
A
So
we
have
a
formal
documentation
and
even
we
can
use
the
async
API
file.
They
still
keep
a
definition
to
validate
messages
before
they
reach
the
broker
right.
But
I
think
this
is
a
another
separate
topic:
I'm
happy
to
chat
about
it.
If
anyone
is
willing
to
know
more
about
API
management
for
even
driven
architectures
I'm
happy
to
talk
about
it,
it's
in
their
topic,
but
I
think
it's
a
huge
different
topic
and.
A
You
probably
familiar
with
this
with
this
list
like
the
API
life
cycle.
Some
people
like
to
call
it
event,
life
cycle
in
the
case
of
async
API
again
I
will
I
want
to
stress
that
also
that
the
factor
that
the
fact
that
even
driven
architectures
are
also
API
is
we
tend
to
call
API,
is
only
to
rest
API.
So
HTTP
api
is-
and
that's
not
true,
I
mean
in
the
in
our
context,
and
that's
not
true,
because.
A
Sometimes
you
have
not
sometimes
an
API
is
actually
something
right.
That's
there
is
actually
listening
for
your
for
your
requests
or
your
responses,
or
you
know
for
messages
actually
something
it's
it's
it's
a
system
that
allows
you
to
send
information
will
do
and
it
will
do
something
it
will
create
a
behavior
on
the
other
side
on
the
application
right.
You
can
do
this
with
HTTP.
You
can
do
this
with
Kafka.
You
can
do
this
with
TCP.
A
A
We
want
to
know,
what's
happening
with
our
system
right
same
thing
with
async
async',
a
backhand
play
a
role
in
all
these
areas
and,
as
I
said
before
now
that
you
more
or
less
know
what
async,
API
or
I
hope.
You
know
a
little
bit
better.
What
async
API
is
about
at
least
the
concept
we
like
two
days
ago.
We
release
I,
think
API
2.0.
So
previous
version
just
for
context,
only
allowed
kind
of
JSON
schema
ish
schema
definitions
like
an
open
API.
It
was
exactly
the
same
as
in
open
API
right
now.
A
We
support
JSON
schema,
open,
API,
schemas
and
Avro,
and
some
of
you
who
are
working
with
a
bro
will
kill
me.
If
I
don't
mention
this,
we
are
in
the
process
of
supporting
it
in
the
tooling,
but
the
spec.
This
is
possible,
so
we
unified
all
the
interfaces
before
for
events
or
there
was
a
separation
between
events
and
messages.
A
Events
was
more.
It
was
terribly
a
terrible
name
for
for
that,
but
events
where,
for
instance,
WebSockets
where
you
only
have
one
channel
and
all
the
messages
are
in
the
same
channel
and
topics
were
like
in
Kafka,
where
you
have
multiple
channels
and
you
can
decide
where
they
message
go
through
and
also
we
we
have
a
section
in
SPECT
called
stream
for
HTTP
streaming.
Api
is
like
server
sent
events
and
all
this
stuff
right,
so
everything
has
been
unified
under
channels.
A
Okay,
so
everything
is
simplified
now
and
we
also
added
a
new
concept
called
bindings
or
protocol
bindings,
and
it's
because
we
didn't
want
to
pollute
the
the
specification
with
with
protocol
specific
things,
like
imagine.
Kafka,
for
instance,
is
a
it's
a
key/value.
The
messages
are
key
value:
they're,
not
just
a
JSON
object
or
whatever
it
has
a
key,
and
it
has
a
value,
but
that's
only
for
Kafka.
If
we
do,
if
we
put
it
on
the
spec,
what
do
we
do
then?
With
the
other
protocols?
A
Everything
will
be
like
kind
of
weird
if
we,
if
we
were
using
WebSockets
right
so
instead
of
polluting
the
spec
with
these
kind
of
things,
we
added
something
called
bindings
that
will
allow
you
to
put
more
information
of
a
specific
protocol.
For
instance,
we're
using
Kafka
I
want
this
message
to
have
the
key
X,
but
only
when
using
Kafka.
If
you
migrate
your
system
to
rabbit
in
queue
tomorrow
and
and
and
you
want
to
change
it,
you
only
have
to
change
the
Kafka
part,
the
rest
of
the
interface.
A
This
has
to
be
the
same
right,
because
the
interface
haven't
changed.
Just
only
your
system.
Back
in
it
well
see,
if
you
want
to
know
more,
you
can
go
to
a
sync
API,
calm
or
I'll,
be
happy
to
answer
your
questions
now
or,
and
after
I'll
be
around
and
25
minutes
doesn't
really
it's.
Doesn't
it's
not
really
much
time
to
show
an
example,
but
I'll
be
happy
to
do
so
later
and
thank
you.
A
So
slack,
for
instance,
has
their
public
their
events
API
it's
like
events
API
they
have
it
publicly
defined
with
the
sync
API
in
the
repo,
so
I
help
them
actually,
most
of
it.
I
grow
it
myself
as
an
example
to
you
how
to
use
async
API,
and
then
we
continue
and
I'm
also
helping
Salesforce,
mule,
soft
and
and
other
sponsors
too,
to
create
products
on
top
of
API
I.
Think
API
to
help
other
people
create
a
sink
API
documents
and.
A
We
have
a
documentation
generator
and
we
have
a
playground
as
well
that
could
be
use
to
generate
HTML
documentation
or
markdown
documentation.
I
prefer
to
have
both
like
markdown
in
in
the
repo,
for
instance,
along
along
with
the
repo
with
your
code
and
a
central
place
where
you
can
have
all
the
HTML
documentation,
browsable
right,
Sam,
it's
possible.
Okay,.