►
From YouTube: API Management, meet Event Management, Jonathan Schabowsky & Marc DiPasquale at Solace
Description
APIdays San Francisco 2019
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
So
hello,
everyone,
I'm
Jonathan,
Cheban,
Sookie,
I'm,
a
senior
architect
in
the
office
of
the
CTO
and
I'm
joined
here
with
Mark
DiPasquale,
a
developer
advocate
for
solace.
So
the
purpose
of
our
discussion
today
is
really
to
talk
about
a
vent,
Riven
and,
ultimately,
the
need
for
event
management
and
ultimately,
how
we're
keying
in
on
sort
of
the
way
that
API
management
works
and
how
we're
using
those
things
sort
of
tenants
from
an
API
and
event
management
perspective
at
solace.
A
So,
ultimately,
a
big
part
of
this
talk
is
also
to
explain
sort
of
what
do
we
mean
by
event-driven?
A
vent.
Riven
is
certainly
a
technical
thing,
but
it
can
also
be
a
very
personal
thing
in
a
business
thing,
and
so,
ultimately,
the
point
also
can
be
that
our
lives
are
really
event-driven
and
so
from
my
own
perspective
of
traveling
to
California.
In
order
to
do
this
presentation,
of
course,
I
swipe
my
credit
card
along
the
way,
and
that
ultimately,
is
an
event
onto
itself.
A
But
then
the
question
is
is
really:
how
do
you
from
a
business
perspective
key
into
those
events
and
what
are
the
things
that
you
need
to
do
as
part
of
that
event?
So,
of
course,
the
very
first
thing
you
might
do
is
is
check
to
see
if
I
have
available
credit.
Luckily
I
do
so.
That
was
good,
but
that
event
can
mean
a
lot
more
things
to
the
business.
I
think
everyone,
these
days
is
doing
things
like
fraud,
detection
and
they're
doing
it
in
real
time
in
order
to
get
that
end.
A
Answer
back,
but
also
some
of
our
customers
are
doing
things
like,
as
you
swipe,
maybe
doing
a
in-store
offer.
So
one
of
the
big
banks
has
a
thing
with
Best
Buy,
and
so
when
you
swipe,
if
you
have
points
available,
you
could
actually
pay
for
that
purchase
with
your
points
versus
actually
with
their
credit
card.
So
another
example
is
your
flights
delayed.
A
Luckily,
the
weather
was
good
here
in
San
Francisco,
so
I
didn't
have
a
problem
getting
in,
but
if
I
had,
my
airline
certainly
would
have
taken
that
event
that
maybe
came
from
the
FAA
and
notified
the
passengers,
such
as
myself
of
the
impending
delay.
But
what
else
can
we
do
with
that
event?
Well,
I
would
hope
my
airline
would
rebook
the
connections,
maybe
in
order
of
your
loyalty
and
priority,
but
also
you
know,
notify
partners,
hotels.
You
know
I'm
staying
here
at
a
Marriott
they're,
a
partner
of
the
airline
I
flew
in
on.
A
So
how
about
instead
of
me
having
to
call
the
hotel
saying
you
know,
I'm
gonna
show
up
at
2
a.m.
you
just
notify
the
hotel,
and
maybe
the
hotel
does
something
nice
for
me
as
well.
A
hotel
keycard
is
used
in
an
elevator,
so
the
hotel
we're
staying
at
down
the
road.
You
basically
have
to
you
know
just
to
get
to
your
room.
You
have
to
tap
your
card,
so
that's
another
typo
novum
of
an
event.
So
what
could
you
do
with
that?
A
Of
course
validate
that
I
am
allowed
to
go
to
that
floor,
but
maybe
give
an
offer
for
the
bar.
Maybe
I
was
there
last
night,
which
I
was,
and
maybe,
if
you
gave
me
a
two-for-one
offer
instead
of
going
back
to
my
room,
I
would
actually
have
another
drink,
spend
some
more
money,
and
maybe
some
personalization.
You
know
traveling
for
business
all
the
time
kind
of
sucks,
but
maybe
a
nice
message,
targeted
directly
towards
me,
increases
my
brand
awareness
and
ultimately,
my
desire
to
stay
at
that
hotel
chain.
A
A
The
number
of
times
that
you
buy
a
vehicle
right
around
that
time
is
is,
is
almost
a
given,
and
so
because
of
that
maybe
offer
me
a
new
auto
loan
rate
so
that
I'm
incentivized
to
start
to
spend
some
of
that
money
from
a
banking
perspective.
So
the
point
here
being
that
really
our
lives
are
event-driven
in
organizations
themselves
want
to
be
an
event
driven,
but
why
is
it
really
that
we
all
aren't
event
driven
I?
A
A
lot
of
the
organizations
that
have
been
very
successful
with
being
event-driven
they've
had
to
invest
a
lot
of
resources
and
time
and
effort
in
order
to
develop
the
expertise
in-house
in
order
to
really
make
this
transition
to
being
a
pin
driven
things
like
AMQP
api's
aren't
exactly
beautiful
and
MQTT
and
impala
like
these
are
things
that
aren't
as
easy
to
use
as
rusty
TI's,
and
so
you
kind
of
really
have
to
want
to
be
event-driven.
I.
Think
that's
that
sad,
the
other
aspect
being
the
lack
of
manageability
and
sort
of
cause.
A
You
know
in
governance
really
and
the
issues
that
they
cause.
So
imagine
you're
ten
years
ago,
like
myself
and
you're
tasked
with
how
do
you
do
air
traffic
management
and
providing
all
of
this
information
to
Airlines
in
real-time
from
an
FAA
perspective,
and
you
realize
the
weather
domain
just
of
itself
has
over
20,000
individual
events
different
sensors
at
different
airports
different
triggers
all
of
these
different
things.
How
do
you
discover
20,000
different
things?
How
do
you
figure
out
what
you
actually
want
to
consume
and
the
types
of
insights
you
could
get
by
consuming
these
events?
A
That's
sort
of
the
lack
of
manageability
and
the
lack
of
governance
that
we're
really
talking
about,
and
it
really
creates
this,
the
wild
wild
west
of
events,
and
so
ultimately,
you
have
to
figure
out
how
to
tame
that
and
in.
But
in
spite
of
these
challenges,
we
from
a
company
are
supporting
a
lot
of
companies
successfully,
but
it
tends
to
be
within
different
enclaves
so,
for
instance,
at
RBC,
they're
they're
low
latency
trading
platform
to
sixty
billion
transactions
across
US
a
day.
A
Are
they
successful
within
capital
markets
absolutely
had
they
really
become
an
adventure
of
an
organization
across
the
entire
bank?
Not
exactly
Nets
pay
in
Singapore
is
another
one
of
our
customers
and
really
what
they
were
looking
to
provide
is
an
easier
customer
payment
experience
and
ultimately
giving
the
bank's
much
more
information
about
the
customer
journey
as
they
were
going
and
buying
different
products
within
Singapore.
Are
they
successful
absolutely,
but
has
it
are
they
truly
an
Avenger
of
an
organization
they're
getting
there?
Finally,
Airtel
I
think
they're,
one
of
the
largest
telcos
in
India.
A
They
were
able
to
decrease
the
time
in
which
it
takes
to
provision
of
phone
from
a
large
number
of
minutes
down
to
seconds
by
being
event-driven,
and
ultimately
we
do
90
billion
transactions
a
day
with
them.
But
how
do
we
fix
this,
such
that?
It's
not
just
sort
of
a
niche
environment,
a
large
Bank,
a
large
telco,
that's
able
to
participate
in
being
of
intrument
so
because
our
perspective
is,
is
that
api's
aren't
going
anywhere
they're
awesome
for
commands.
They're
awesome
for
queries,
but
there
is
this
category
of
events
into
be.
A
Real-Time
in
event-driven
is
ultimately
what
a
lot
of
customers
and
organizations
are
trying
to
do
so.
First,
what
we
need
to
be
able
to
do
is
manage
events,
and
so
what
ultimately
we're
talking
about
is
we
need
answers
to
the
who?
What,
when,
where?
Why?
How
other
that's
you
know
where
do
I
go
to
discover
events?
What
are
the
events
that
are
available
from
a
catalog
perspective
of
things
I
can
consume?
How
do
I
specify
the
asynchronous
application
interfaces
of
the
applications,
so
that
I
can
even
do
things
like
total
lifecycle
management?
A
When
are
events
available,
are
going
to
be
deprecated,
etc?
And
how
do
you
do
things
even
from
a
developer
perspective,
like
maybe
generate
code
like
you're
able
to
do
with
open
api
and
swagger,
but
also,
I
think
it's
important
to
recognize,
and
I
think
this
is
something
that
we
from
a
saul's
perspective
have
realized,
is
you're
really
API
management
has
solved
a
lot
of
the
who.
What,
when,
where?
Why?
How
of
events?
You
know,
there's
API
gateways
and
that's
the
runtime
asset.
A
That's
generally
proxying
these
api's,
but
there's
also,
this
thing
called
an
api
portal
which
a
lot
of
you
of
course
have
used,
and
that's
where
you
do
your
documentation
that
enables
a
discovery.
It's
where
you
do
your
registration
and
in
it
helps
you
govern.
Ultimately,
your
api
ecosystem.
You
can
do
analysis
to
know
sort
of
what
are
the
most
used.
Services
least
you
services,
etc.
Even
the
performance
of
your
services
and
finally
be
able
to
communicate
and
collaborate
around
the
api's
that
are
in
your
organization.
But
what
about
the
event
side
right?
A
We
from
our
perspective,
have
been
providing
event
brokers
to
the
market
for
a
decade
and
stitching
them
in
to
get
together
from
a
dynamic,
Federation
perspective
into
something
we
call
a
dynamic
event
mesh
where
we
connect
sources
and
syncs
all
across
the
world
to
exchange
information
in
real
time.
Doing
all
of
the
things
that
we
all
know
and
care
about,
like
security
and
persistence,
all
of
the
different
qualities
of
service,
but
we've
completely
ignored
in
the
industry,
has
completely
ignored
the
design
development
in
management
time
from
an
event-driven
API
perspective.
A
So,
thirdly,
we
need
to
be
able
to
model
our
event-driven
enterprises
in
our
event-driven
landscape,
and
so
to
do
that
there
are
a
couple
of
elements
and
foundational
elements
that
we
have
to
keep
track
of.
So
the
very
first
is
imagine
a
world
where
you
have
an
event
portal
and
you
can
define
application
domains
and
application
domains
are
just
ways
in
which
to
organize
your
enterprise.
Maybe
there
are
lines
of
business
within
a
bank,
maybe
it's
wealth
management
versus
securities,
but
then
within
those
different
domains
there,
of
course,
payload
schemas.
A
You
know
they're
XML,
schemas,
Avro,
schemas,
JSON
schemas,
but
then
it's
time
to
define
the
event
and
an
event
is
ultimately
it's
got
that
payload,
so
it's
referenced,
but
it
also
has
business
context.
You
know
when
working
with
the
FAA,
it's
funny
that
you
know
there's
a
lot
of
schemas,
but
in
one
particular
case
Airlines
were
very
confused
by
there's
three
different
events.
They
all
look
the
same,
but
they
all
have
actually
a
different
field
and
the
airlines
were
going.
What
do
I
do
with
this?
A
A
You
know
we
help
review
the
specification
with
Fran,
but
we're
also
looking
to
be
building
code
generators
to
help
the
development
experience,
which
is
certainly
what
marks
about
to
show
us
here
and
so
ultimately,
for
those
who
have
missed
any
of
Fran's
talks.
Since
he's
been
here,
you
know,
here's
a
quick
example
mark
will
show
one
as
well
directly
applicable
to
the
use
case.
We're
gonna
do,
which
is
you
have
these
things
called
channels
and
salts
world?
Those
relate
to
topics,
and
you
know
they
define
down.
A
You
know
what
is
the
action
you're
gonna
do
publishers
subscribe
and
then
finally,
the
message
definition
which
is
going
to
come
in
or
or
out
of
that
channel,
and
so
enough
talking
from
me
markets
it's
time
to
sort
of
do
a
demo
of
what
we're
bringing
to
market
this
fall.
Obviously,
there's
a
warning
here
of
you
know
it's
a
live
demo,
so
things
are
bound
to
go
wrong
so
mark
over
to
you
thanks.
B
B
Here
we
go
alright,
so,
as
Jonathan
was
mentioning
earlier,
we
were
building
a
event
portal,
so
this
is
a
preview
of
that
and
we're
hoping
to
release
it
later.
This
fall
so
from
an
architect's
perspective.
You
know
we
really
want
to
allow
you
to
design
and
visualize
your
event-driven
architectures,
so
this
is
kind
of
a
home
screen
right
now
and
we
have
the
different
application
domains
that
that
Jonathan
mentioned.
So
this
could
be
different
lines
of
business.
B
Different
software
engineering
groups
different
different
projects,
whatever
whatever
makes
sense
for
your
organization,
you
can
also
see
different
schemas
or
domains
or
sorry,
events
that
traverse
those
application
domains.
So
for
this
demo,
I'm
gonna
go
ahead
and
use
our
tweet
analytics
application
domain
and
good
Stoll
on
the
Internet.
Okay,
great.
B
So
as
part
of
that
we
can
see,
we
have,
we
have
one
schema,
two
events
in
three
applications
as
part
of
the
application
domain,
so
we've
got
a
tweet
source
application
here
and
that
so
the
tweet
source
application
sends
an
inbound
tweet,
that's
received
bar
no
yelling
processor
and
then
that
is
going
to
produce
a
no
yelling
tweet.
So
now
our
polite
tweet,
which
throws
it
into
our
elastic
search
basically
datastore
using
a
restful
interface
on
elasticsearch.
B
So,
as
we'd
expect,
we
have
a
tweet
schema,
so
what
the
portal
allows
you
to
do
is
define
kind
of
your
business
object,
schema
or
your
payload
schema.
So
we
have
a
schema
name
and
versioning,
so
you
can
version.
Obviously
your
business
has
to
you
know
your
business.
Will
change
and
events
will
change.
The
share
schema
button
here
allows
you
to
share
your
events
across
application
domains.
So
in
this
case
this
application
domain
was
for
like
a
marketing
department,
but
I'm
sure,
like
the
sales
department,
would
also
like
to
receive
tweet
events.
B
And
potentially
you
know,
if
somebody's
out
there
trying
to
buy
the
product
I'm
sure
the
sales
team
will
jump
right
on
that.
You
can
also
define
your
events
and,
of
course,
use
a
a
schema
to
do
so.
So
in
this
case
for
the
preview,
we've
got
a
JSON
schema
in
here,
but,
as
Jonathan
mentioned
earlier,
when
we
released
later
this
fall,
we
expect
to
support
Avro
schema,
an
XML
schema
as
well
and
and
more
to
follow
that.
B
Alright,
so
let's
go
ahead
and
look
at
one
of
the
applications.
So
if
I
look
at
the
no
yelling
processor
here
for
an
application
perspective
again,
of
course
you
can
name
and
version
your
application.
Well,
you
can
also
choose
one
or
multiple
events
that
are
produced
from
the
application
and
also
consumed.
So
these
are.
These
are
the
events
from
an
ape
event-driven
perspective
right
that
are
come
into
our
application
and
the
ones
that
get
sent
out
after
our
processing
is
processing
is
complete.
B
We
can
define
a
language
that
we
want
to
build
our
application
in
a
wire
line
protocol.
So
in
this
case
it's
all
messageformat,
but
it
could
be
mqtt
AMQP.
You
know
any
any
protocol
of
your
choice
and
an
api,
so
in
this
case
we're
using
spring
cloud
streams
so
spring
cloud
streams
is
basically
one
of
the
spring
projects
that
allows
you
to
build
kind
of
highly
scalable,
event-driven
micro-services
and
then
so.
B
At
this
point
we
can
kind
of
see
how
we
can
define
our
events,
how
we
can
define
our
schemas,
how
we
can
connect
them
together
and
I
guess
just
to
show
we
saw
the
visualization
here.
So
this
is
obviously
a
graph
visualization
of
how
they
connect
up
we'll
be
adding
visualizations
to
that
as
well.
So
this
is
great
for
an
architect's
perspective,
but
now
for
a
developer,
I
really
want
to
make
development
easier,
so
say,
I
was
developing
that
no
yelling
processor
application
that
we
were
just
looking
at.
B
So
what
I
can
actually
do
is
export
an
async
API
spec,
that
Jonathan
mentioned
and
I
can
choose
the
the
solace
cloud
service
or
the
event
broker.
That
I
want
to
run
that
against
so
I'm
just
going
to
go
ahead
and
download
a
a
syncope,
I
suspect
2.0,
so
I
want
to
use
the
latest
and
then
let's
go
ahead
and
look
at
what
that
looks
like.
So,
if
I
go
to
sub-line
open
recent,
so
that.
B
Here
to
a
no
yelling
processor,
yeah
no
file,
and
so
in
here
I
can
see
the
different
components
of
my
application.
So
this
specification,
this
async
API
specification,
defines
my
application.
The
no
yelling
application,
so
I've
got
different
components
here,
so
the
schema
is,
we
can
see
our
tweet
object
and
as
we
scroll
down,
it's
got
all
the
different
fields
that
are
expected
in
that
object.
B
B
So
if
you've
ever,
if
you're
a
Java
developer,
this
setup
will
look
normal
to
you.
I've
got
my
source
main
Java
folder,
where
my
you
know
main
classes
are:
I've
got
a
test
directory,
etc,
and
so
under
types
it
actually
generated
the
tweet
POJO
and
all
the
fields
that
belong
to
a
tweet,
so
the
user
that
tweeted
it
the
text,
hashtags,
etc,
and
we've
got
our
red
X
here,
which
is
obviously
not
good.
So
we,
but
essentially
here
we've
got
the
no
yelling
processor
application.
B
B
All
right
so
very
simple:
we're
just
gonna
log
that
we
received
it
sweet
change,
all
the
lowercase
R,
all
the
uppercase
letters
to
lowercase
and
then
return
that
tweet
and
so
through
the
power
of
spring
cloud
streams.
It
abstracts
all
the
messaging
so
I
just
say:
hey
I,
want
to
receive
from
the
input
channel,
I
want
to
send
to
the
output
channel
and
that's
all
defined
by
the
code
generator
and
it's
in
a
configuration
file.
B
Essentially,
so
all
the
developer
had
to
do
was
add
as
business
logic
and
now
I
can
run
that
as
as
a
spring
boot
app
and
spring
cloud
streams
is
based
on
spring
boot,
so
the
application
will
start
up
and
there
we
go
it's
receiving
tweets.
So
you
can
see
essentially
through
the
event
portal,
by
using
an
async,
API
specification
and
using
code
generation.
A
A
Yeah
so
I
think
that's
a
really
great
question.
Do
you
want
me
to
repeat
the
question
yeah,
so
the
question
was
is
sort
of
when
should
I
use
an
event-driven
architecture
versus
when
should
I
use
an
API
or
synchronous
based
based
architecture?
So
I
think
that's
a
really
good
question.
I
sort
of
said
before
you
know
things
where
you're
doing
commands
and
queries
are
obviously
great
for
api's
I.
Think
when
you
really
start
to
think
about
state
changes,
change
events,
maybe
something
is
coming
in.
A
Maybe
a
new
user
signing
up
that
might
be
a
command
that
you're
taking
in
from
an
API
perspective,
but
that's
also
can
be
an
event
to
anything
else
in
the
system
and
so
I
think
when
you
start
to
think
about
sort
of
the
different
state
changes
that
can
occur
within
your
applications
and
within
your
systems.
Those
are
all
great
candidates
to
make
available
as
events
and
once
you've
made
it
available
as
an
event,
then
any
number
of
things
in
the
future
could
receive
it
so,
for
instance,
doing
the
fraud
detection.
A
Is
this
person
a
real
person
or
not
being
able
to
provide
predictive
analytics
or
machine
learning
can
now
just
hang
off
and
ultimately,
your
experience
from
an
end-user
perspective
can
still
be
API
driven
at
the
front
end,
but
then,
within
your
system
demarcation
in
a
lot
of
cases,
that's
a
great
use
case
for
being
event-driven.
Does
that
help.
A
Sure,
but
the
problem
that
we
find
typically,
is
that
those
services
end
up
being
point-to-point
and
so
as
you're,
then
wanting
to
add
more
and
more
capability.
So,
for
instance,
you
want
to
then
have
that
go
into
a
downstream.
You
know
a
I
machine
learning
type
of
a
system
or
you
want
it
to
go
to
a
different
cloud
to
take
advantage
of
another
service
you're
having
to
now
do
sort
of
point-to-point
integration
over
and
over
again.
A
C
C
A
That
is,
that
is
the
loaded
question
of
the
hour,
so
I
think
there's,
there's
there's
a
multitude
of
definitions
of
what
an
event
is.
Most
organizations
use
events
for
any
time.
State
changes
right,
so
you
know
ultimately
a
vehicle
moving
and
in
that
sort
of
a
ping,
that's
an
event
to
an
organization,
a
temperature
change
on
a
sensors,
an
event
account
being
opened
or
closed
or
overdraft.
These
are
all
examples
of
events,
so
typically
I
think
the
cleanest
definition
is.
Is
wind
state
changes,
that's
an
event.
D
Response
in
this
synchronous
process,
do
you
think
using
events
drive
this
up
the
like
or
a
choreography
model
running
a
domain.
Business
logic
is
a
way
to
go
or
keep
the
called
synchronous
all
through
by
accessing
API
endpoints
for
synchronous
response,
but
for
offline
workflows
we
use
even
driven
mechanism.
We,
how
do?
How
do
you?
How
do
you
see
what
is
the
right
way
of
depending
on
API
is
or
events
in
a
synchronous
flow
yeah.
A
So
it's
a
good
question.
I
think
I
understand
your
question,
so
I
believe
that
we
just
actually
did
this
last
year
with
a
big
bank
around
the
kind
of
this
question
of
you
know
if
you
have
sort
of
a
synchronous,
interaction
style
and
it's
sort
of
a
chain,
that's
kind
of
orchestrated
or
one
services
calling
another.