4. “A key distinction of a digital
business is that it's always
sensing and always ready,
which demands grounding in
event processing.”
Source: Gartner
Business Events, Business Moments
and Event Thinking in Digital Business. 4
August 2017
Shift to Event-Driven Architectures and Thinking
4
Lives, businesses are event-driven…
– Mouse click, a screen tap indicates user action
– Temperature sensor detects threshold exceeded
– A command and control call to stop a machine
– A Master Data Update Event, a plane taking off
– Even an API call…
Our lives, the universe, are event-driven…
So why is
computing
usually
Request
Reply?
5. Gartner: Top 10 Strategic Technology Trends for 2018:
Event-Driven Model. 8 March 2018
Shift to Events
is Accelerating
Event-driven microservices are the
optimal software design model to
delivery digital business agility.
By 2022, 70% of new
digital business solutions
will require event-sourced,
real-time situational awareness.
6. Don’t use Y2K
techniques to
deal with
2018 realities
How do you support the shift to “event-driven”?
7. Event Distribution is Complicated
PaaS
IoT
Public Cloud
Legacy Application Infrastructure
iPaaS
Runtimes
Yes, you can stitch it all together today…
But how do you
uniformly connect the
old world with the new?
How do you ensure
high availability, maximum security and
smart governance?
How do you make
your infrastructure
fast and easy to scale?
And how do you automate
for self-learning, dynamic
low-touch operation?
9. What is a Topic
Bus/SBE1234A/lta/posn/001.33951098/103.85626960/
Vehicle type/[busID]/owner/data type/lat/long/
• Every event is published with a topic
• The topic describes the event in human readable form
• It’s hierarchical – broad to granular
• Topics allow us to decouple publishers from subscribers
• Subscribers listen for events – specific or wildcard
• Wildcard on lat/long gives an area
*/*/lta/posn/001.33*/103.85*/> all vehicles near CBD
Bus/SBE1234A/lta/> all events related to SBE1234A
*/*/*/posn/ all vehicle locations
10. IoT - Topic example
Pub
Sub
REST
Bus/[busID]/lta/posn/lat/long/
Logger
*/>
REST
car/[carID]/priv/posn/lat/long/
MQTT
drone/[droneID]/hobby/posn/lat/long/
MQTTMQTT REST MQTTMQTT
taxi/[taxiID]/std/posn/lat/long/
REST
Regulator
AMQP
*/>
SMRT
JMS
*/*/*/>
*/*/lta/>
AI/ML
JMS
Car/>
drone/>
Public
Native
*/>
Comfort
JMS
taxi/c*/>
12. What is a topic
Example : Smart Home
gas/X/(areaID)/(meterID)/(value)
gas/Y/(areaID)/(meterID)/(value)
Event
Bus
Power Company
A
Power Company
B
Gas Company
X
Gas Company
Y
Logger
power/A/>
power/B/>
gas/X/>
gas/Y/>
AI/ML
power/A/(areaID)/(meterID)/(value)
power/B/(areaID)/(meterID)/(value)
JMS
REST
REST
AMQP
JMS
AMQP
MQTT
REST
On-prem
Pub
Sub
power/>, gas/>
power/>
18. How it works
Player 1
Player app
• Listen for race events race/UID/*
• Publish row (click) race/UID/PID/row
Race application & display
• Listen to clicks race/UID/*/row
• Publish positions race/UID/stats
• Start / stop/notify race/UID/[start|stop|etc]
And then
• Analytics
• Fan out to cloud
• Fraud/cheating/etc
Race application & display
Player 2
Player
‘to infinity and beyond’