SlideShare a Scribd company logo
Moving beyond request-reply:
How smart APIs are different.
@berndruecker
Moving beyond request reply - designing smarter APIs
Some
Service
Some
Service
Some
Service
Some
Service
Some
Service
Some
Service
Some
Service
Failure will happen.
Accept it!
But keep it local!
Be resilient.
Photo by Tookapic, available under Creative Commons CC0 1.0 license.
„There was an error
while sending your
boarding pass“
Check-in
Web-UI
Me
Current situation
Check-in
Barcode
Generator
Web-UI
Me
Output
Mgmt
Current situation
Check-in
Barcode
Generator
Web-UI
Me
Output
Mgmt
Current situation
Check-in
Barcode
Generator
Web-UI
Me
Output
Mgmt
Current situation – the good part
Circuit
breaker
Moving beyond request reply - designing smarter APIs
Check-in
Barcode
Generator
Web-UI
Me
Output
Mgmt
Current situation – the bad part
Check-in
Barcode
Generator
Web-UI
Me
Output
Mgmt
Current situation – the bad part
Check-in
Barcode
Generator
Web-UI
Me
Output
Mgmt
Current situation – the bad part
Stateful
Retry
Moving beyond request reply - designing smarter APIs
We are having some technical
difficulties and cannot present you
your boarding pass right away.
But we do actively retry ourselves, so
lean back, relax and we will send it
on time.
Check-in
Barcode
Generator
Web-UI
Me
Output
Mgmt
Possible situation – much better!
Check-in
Barcode
Generator
Web-UI
Me
Output
Mgmt
Possible situation – much better!
Stateful
Retry
Warning:
Contains Opinion
Berlin, Germany
http://berndruecker.io/
mail@berndruecker.io
@berndruecker
Bernd Ruecker
Co-founder and
Chief Technologist of
Camunda
Check-In
You can use a workflow engine (=durable state machine)!
Barcode
REST
Stateful
retry
Want to see code?
https://github.com/berndruecker/flowing-retail
has to implement
Retry
has to implement
Idempotency
Client Service Provider
Moving beyond request reply - designing smarter APIs
Moving beyond request reply - designing smarter APIs
Don‘t worry, it will happen safely –
even if you loose connection.
Feel free to reload this page any time!
Photo by pixabay, available under Creative Commons CC0 1.0 license.
Requirement: Idempotency of services!
Photo by pixabay, available under Creative Commons CC0 1.0 license.
Requirement: Idempotency of services!
Photo by Chr.Späth, available under Public Domain.
Make every service idempotent!
Credit
Card
Payment
Charge Credit Card
cardNumber
amount
Charge Credit Card
cardNumber
amount
transactionId
Not idempotent
Idempotent
charge
Generally: create Ids
as soon as possible
Distributed systems introduce complexity you have to tackle!
Credit
Card
Payment
REST
Distributed
systems
It is impossible to
differentiate certain
failure scenarios.
Independant of
communication style!
Service
Provider
Client
Distributed systems introduce complexity you have to tackle!
Credit
Card
Payment
REST
Distributed systems introduce complexity you have to tackle!
Credit
Card
Payment
REST
Cancel
charge
Being able to implement
long running services
is essential for smart APIs
(on a technical level)
@berndruecker
Example
Booking Payment
Retrieve
Payment
@berndruecker
Example
Booking Payment
Credit
Card
Retrieve
Payment
@berndruecker
Example
Booking Payment
Credit
Card
Retrieve
Payment
Rejected
@berndruecker
Example
Booking Payment
If the credit
card was
rejected, the
customer can
provide new
details
Credit
Card
Retrieve
Payment
Rejected
Rejected
@berndruecker
Example
Booking Payment
If the credit
card was
rejected, the
customer can
provide new
details
Credit
Card
Retrieve
Payment
Rejected
Rejected
@berndruecker
A few
smart god services
tell
anemic CRUD services
what to do
Sam Newmann
Payment
failed
Who is responsible to deal with problems?
Booking Payment
If the credit
card was
rejected, the
customer can
provide new
details
Credit
Card
Retrieve
Payment
Rejected
Payment
received
@berndruecker
Payment
failed
Long running services
Booking Payment
Credit
Card
Retrieve
Payment
Rejected
Payment
received
Smart endpoints are
potentially long-running
@berndruecker
Being able to implement
long running services
is essential for smart APIs
(on a business level)
@berndruecker
Long running services
require async communication
Synchronous communication
Synchronous communication
is the crystal meth of
distributed programming
Todd Montgomery and Martin Thompson
in “How did we end up here” at GOTO Chicago 2015
Check-in
Barcode
Generator
Web-UI
Me
Output
Mgmt
Asynchronous communication
You need to
monitor
timeouts
Workflow…
Workflow…
Being able to implement
long running services
makes it easy to get async
@berndruecker
Can your company
leverage your
hipster architecture?
Shutterstock
You need to
change business
processes and
customer
experience!
Example
@berndruecker
Example
Payment
Seat
ReservationBooking
Ticket
Generation
Example
@berndruecker
sync
Example
@berndruecker
Weaknesses
Payment
Seat
ReservationBooking
Ticket
Generation
REST
Weaknesses: Latency creep
Payment
Seat
ReservationBooking
Ticket
Generation
REST
300 ms
1150 + x ms
600 ms
250 ms
Weaknesses: Availabiliy erosion
Payment
Seat
ReservationBooking
Ticket
Generation
REST
99 % uptime
99 % uptime
99 % uptime
96 % uptime
And it is even hard to implement
Payment
Seat
ReservationBooking
Ticket
Generation
REST
And it is even hard to implement
Payment
Seat
ReservationBooking
Ticket
Generation
REST
Typical pattern
Payment
Seat
ReservationBooking
Ticket
Generation
REST
Simulate synchronicty by waiting
(callback or polling)
@berndruecker
happy
case
failure
case
Redesign your business process accordingly!
Or some interface
to poll for status
Sync in happy case
Async response
@berndruecker
Redesign your business process accordingly!
Your business processes need to be more reactive!
@berndruecker
https://www.reactivemanifesto.org/
Yeah!
Let‘s go reactive.
Phil Calcado at QCon NYC 2019
API
API
API
API
API
API
API
Microservices
External Services
Standard Software
„What the hell just happened?“
@berndruecker
Example:
order fulfillment via
dash button
Photo by 0xF2, available under Creative Commons BY-ND 2.0
license. https://www.flickr.com/photos/0xf2/29873149904/
@berndruecker
Three steps…
@berndruecker
(Micro-)services
Checkout
Payment
Inventory
Shipment
@berndruecker
Order
Placed
Payment
Received
Goods
Fetched
Notification
Checkout
Payment
Inventory
Shipment
Event-driven architecture
@berndruecker
Peer-to-peer event chains
Checkout
Payment
Inventory
Shipment
Order
placed
Payment
received
Goods
shipped
Goods
fetched
@berndruecker
Peer-to-peer event chains
Checkout
Payment
Inventory
Shipment
Order
placed
Payment
received
Goods
shipped
Goods
fetched
@berndruecker
The danger is that it's very easy to make
nicely decoupled systems with event
notification, without realizing that you're
losing sight of that larger-scale flow, and
thus set yourself up for trouble in future
years.
https://martinfowler.com/articles/201701-event-driven.html
@berndruecker
The danger is that it's very easy to make
nicely decoupled systems with event
notification, without realizing that you're
losing sight of that larger-scale flow, and
thus set yourself up for trouble in future
years.
https://martinfowler.com/articles/201701-event-driven.html
@berndruecker
The danger is that it's very easy to make
nicely decoupled systems with event
notification, without realizing that you're
losing sight of that larger-scale flow, and
thus set yourself up for trouble in future
years.
https://martinfowler.com/articles/201701-event-driven.html
@berndruecker
Peer-to-peer event chains
Checkout
Payment
Inventory
Shipment
Order
placed
Payment
received
Goods
shipped
Goods
fetched
Fetch the goods
before the
payment
@berndruecker
Peer-to-peer event chains
Checkout
Payment
Inventory
Shipment
Fetch the goods
before the
payment
Goods
fetched
Order
placed
Payment
received
Goods
shipped
@berndruecker
What we wanted
Photo by Lijian Zhang, available under Creative Commons SA 2.0 License and P..19 / CC BY-SA 4.0
@berndruecker
Order
Extract the end-to-end responsibility
Checkout
Payment
Inventory
ShipmentPayment
received
Order
placed
Retrieve
payment
@berndruecker
Order
Events & Commands
Checkout
Payment
Inventory
ShipmentPayment
received
Order
placed
Retrieve
payment
@berndruecker
Event
Command
Fact,
happened in the past,
immutable
Intend,
Want s.th. to happen
Order
It is not about the protocol!
Checkout
Payment
Inventory
Shipment
Order
placed
Retrieve
payment
It can still be messaging!
@berndruecker
Order
It is about where to decide about the coupling!
Checkout
Payment
Inventory
Shipment
Order
placed
Retrieve
payment
Order decides
. to listen to the event
. to issue the command
@berndruecker
Extract Orchestration logic
Workflows live inside service boundaries
@berndruecker
Your ITarchitecture
Choreography
Orchestration
@berndruecker
Your services
or applications
Monolith Chaos
Choreography
Orchestration
@berndruecker
Process Monitoring
Your services
or applications
Your ITarchitecture
Process Monitoring
Monolith Chaos
Choreography
Orchestration
Your services
or applications
Balance choreography and orchestration
@berndruecker
. Distributed systems are complex. At-least-once, retries and
idempotency are here to stay. Embrace async!
. Long-running services make your life easier and your API
smarter.
. Change business processes and customer experience accordingly
. Use commands + events = balance choreography and
orchestration
Thank you!
mail@berndruecker.io
@berndruecker
https://berndruecker.io
https://medium.com/berndruecker
https://github.com/berndruecker
https://www.infoq.com/articles/events-
workflow-automation
Contact:
Slides:
Blog:
Code:
https://www.infoworld.com/article/3254777/
application-development/
3-common-pitfalls-of-microservices-
integrationand-how-to-avoid-them.html
https://thenewstack.io/5-workflow-automation-
use-cases-you-might-not-have-considered/

More Related Content

What's hot (20)

PDF
Apache Kafka Meets Workflow Engines | Bernd Ruecker, Camunda
HostedbyConfluent
 
PDF
JCon 2021 - Loosely or lousily coupled
Bernd Ruecker
 
PDF
Camunda Con 2019 Keynote - I want my process back #microservices #serverless
Bernd Ruecker
 
PDF
Automating Processes in Modern Architectures
Bernd Ruecker
 
PDF
Monitoring and Orchestration of your Microservices Landscape with Kafka and Z...
Bernd Ruecker
 
PDF
QCon NYC 2019 - Workflow automation reinvented
Bernd Ruecker
 
PDF
Digitalization and Workflow Automation - Camunda Process Automation Forum
Bernd Ruecker
 
PDF
Process Automation Forum April 2021 - Practical Process Automation
Bernd Ruecker
 
PDF
Lost in transaction - Strategies to deal with (in)consistency in distributed ...
Bernd Ruecker
 
PDF
AWS Community Summit London 2019 - Lost in transaction
Bernd Ruecker
 
PDF
Destination Automation: Automating Processes in Modern Hipster Architectures
Bernd Ruecker
 
PDF
Workflow automation with BPMN. Lessons learned.
Bernd Ruecker
 
PDF
Jfokus 2018: Lost in transaction - Strategies to deal with (in-)consistency ...
Bernd Ruecker
 
PDF
JAX 2019 - Workflow automation reinvented
Bernd Ruecker
 
PDF
Microservices with Camunda - Talk from Camunda Days 01/2018
Bernd Ruecker
 
PDF
Webinar: Monitoring & Orchestrating Your Microservices Landscape using Workfl...
camunda services GmbH
 
PDF
DDD Europe 2019: Lost in transaction
Bernd Ruecker
 
PDF
OOP 2021 - Leverage the full potential of your hipster architecture
Bernd Ruecker
 
PDF
JFS 2021 - The Process Automation Map
Bernd Ruecker
 
PDF
Java User Group Erfurt 2018: Zeebe.io - Event-driven Microservice Orchestration
Bernd Ruecker
 
Apache Kafka Meets Workflow Engines | Bernd Ruecker, Camunda
HostedbyConfluent
 
JCon 2021 - Loosely or lousily coupled
Bernd Ruecker
 
Camunda Con 2019 Keynote - I want my process back #microservices #serverless
Bernd Ruecker
 
Automating Processes in Modern Architectures
Bernd Ruecker
 
Monitoring and Orchestration of your Microservices Landscape with Kafka and Z...
Bernd Ruecker
 
QCon NYC 2019 - Workflow automation reinvented
Bernd Ruecker
 
Digitalization and Workflow Automation - Camunda Process Automation Forum
Bernd Ruecker
 
Process Automation Forum April 2021 - Practical Process Automation
Bernd Ruecker
 
Lost in transaction - Strategies to deal with (in)consistency in distributed ...
Bernd Ruecker
 
AWS Community Summit London 2019 - Lost in transaction
Bernd Ruecker
 
Destination Automation: Automating Processes in Modern Hipster Architectures
Bernd Ruecker
 
Workflow automation with BPMN. Lessons learned.
Bernd Ruecker
 
Jfokus 2018: Lost in transaction - Strategies to deal with (in-)consistency ...
Bernd Ruecker
 
JAX 2019 - Workflow automation reinvented
Bernd Ruecker
 
Microservices with Camunda - Talk from Camunda Days 01/2018
Bernd Ruecker
 
Webinar: Monitoring & Orchestrating Your Microservices Landscape using Workfl...
camunda services GmbH
 
DDD Europe 2019: Lost in transaction
Bernd Ruecker
 
OOP 2021 - Leverage the full potential of your hipster architecture
Bernd Ruecker
 
JFS 2021 - The Process Automation Map
Bernd Ruecker
 
Java User Group Erfurt 2018: Zeebe.io - Event-driven Microservice Orchestration
Bernd Ruecker
 

Similar to Moving beyond request reply - designing smarter APIs (20)

PDF
JCon Live 2023 - Lice coding some integration problems
Bernd Ruecker
 
PDF
Communication between (micro-)services - Bernd Rücker - Codemotion Amsterdam ...
Codemotion
 
PDF
Camunda Con Live 2020 Keynote - Microservice Orchestration and Integration
Bernd Ruecker
 
PDF
WeAreDevelopers Live 2024 - Mastering long-running processes in modern archit...
Bernd Ruecker
 
PDF
GopherCon UK 2018 - Orchestration of microservices
Bernd Ruecker
 
PDF
MuCon London 2017: Break your event chains
Bernd Ruecker
 
PDF
O'Reilly SA NYC 2018: Complex event flows in distributed systems
Bernd Ruecker
 
PDF
JCon 2017: Let your microservices flow
Bernd Ruecker
 
PDF
QCon London: Mastering long-running processes in modern architectures
Bernd Ruecker
 
PDF
Camunda Day New York 2019: Workflow Automation in Microservices Architectures...
camunda services GmbH
 
PDF
Complex Event Flows in Distributed Systems (Bernd Ruecker, Camunda) Kafka Sum...
confluent
 
PDF
Collaboration of (micro-)services
Bernd Ruecker
 
PDF
"Choreography. The microservices ballet", Mauro Servienti
Fwdays
 
PDF
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
Bernd Ruecker
 
PDF
JUG Frankfurt - Orchestration of microservices
Bernd Ruecker
 
PDF
November 2017: Collaboration of (micro-)services
Bernd Ruecker
 
PDF
Goto meetup Stockholm - Let your microservices flow
Bernd Ruecker
 
PDF
3 common pitfalls in microservice integration
Bernd Ruecker
 
PDF
DDD Belgium Meetup 2017: Events, flows and long running services
Bernd Ruecker
 
PDF
QCon London 2018: 3 common pitfalls in microservice integration and how to av...
Bernd Ruecker
 
JCon Live 2023 - Lice coding some integration problems
Bernd Ruecker
 
Communication between (micro-)services - Bernd Rücker - Codemotion Amsterdam ...
Codemotion
 
Camunda Con Live 2020 Keynote - Microservice Orchestration and Integration
Bernd Ruecker
 
WeAreDevelopers Live 2024 - Mastering long-running processes in modern archit...
Bernd Ruecker
 
GopherCon UK 2018 - Orchestration of microservices
Bernd Ruecker
 
MuCon London 2017: Break your event chains
Bernd Ruecker
 
O'Reilly SA NYC 2018: Complex event flows in distributed systems
Bernd Ruecker
 
JCon 2017: Let your microservices flow
Bernd Ruecker
 
QCon London: Mastering long-running processes in modern architectures
Bernd Ruecker
 
Camunda Day New York 2019: Workflow Automation in Microservices Architectures...
camunda services GmbH
 
Complex Event Flows in Distributed Systems (Bernd Ruecker, Camunda) Kafka Sum...
confluent
 
Collaboration of (micro-)services
Bernd Ruecker
 
"Choreography. The microservices ballet", Mauro Servienti
Fwdays
 
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
Bernd Ruecker
 
JUG Frankfurt - Orchestration of microservices
Bernd Ruecker
 
November 2017: Collaboration of (micro-)services
Bernd Ruecker
 
Goto meetup Stockholm - Let your microservices flow
Bernd Ruecker
 
3 common pitfalls in microservice integration
Bernd Ruecker
 
DDD Belgium Meetup 2017: Events, flows and long running services
Bernd Ruecker
 
QCon London 2018: 3 common pitfalls in microservice integration and how to av...
Bernd Ruecker
 
Ad

More from Bernd Ruecker (15)

PDF
JFall - Process Oriented Integration
Bernd Ruecker
 
PDF
CamundaCon NYC 2023 Keynote - Shifting into overdrive with process orchestration
Bernd Ruecker
 
PDF
JavaLand 2023 - Process Oriented Integration
Bernd Ruecker
 
PDF
CraftConf: Surviving the hyperautomation low code bubbl
Bernd Ruecker
 
PDF
Mastering Data for Higher Business Impact - at Commerzbank Innovation Summit
Bernd Ruecker
 
PDF
Camunda Chapter Hamburg - Surviving the hyperautomation low code bubble
Bernd Ruecker
 
PDF
Loosely or lousily coupled - Understanding communication patterns in microser...
Bernd Ruecker
 
PDF
CamundaCon 2022 Keynote: The Process Orchestration Journey
Bernd Ruecker
 
PDF
JAX 2022 - Loosely or lousily coupled
Bernd Ruecker
 
PDF
CamundaCon 2021 Keynote :From Human Workflow to High-Throughput Process Autom...
Bernd Ruecker
 
PDF
Kafka Summit 2021 - Apache Kafka meets workflow engines
Bernd Ruecker
 
PDF
Micronaut Webinar 2021 - Process Automation Introduction
Bernd Ruecker
 
PDF
Webinar "Communication Between Loosely Coupled Microservices"
Bernd Ruecker
 
PDF
CamundaCon 2020 Keynote - The Return of Process Automation
Bernd Ruecker
 
PDF
Camunda Meetup: Rethink Business Processes and User Experience to Leverage Th...
Bernd Ruecker
 
JFall - Process Oriented Integration
Bernd Ruecker
 
CamundaCon NYC 2023 Keynote - Shifting into overdrive with process orchestration
Bernd Ruecker
 
JavaLand 2023 - Process Oriented Integration
Bernd Ruecker
 
CraftConf: Surviving the hyperautomation low code bubbl
Bernd Ruecker
 
Mastering Data for Higher Business Impact - at Commerzbank Innovation Summit
Bernd Ruecker
 
Camunda Chapter Hamburg - Surviving the hyperautomation low code bubble
Bernd Ruecker
 
Loosely or lousily coupled - Understanding communication patterns in microser...
Bernd Ruecker
 
CamundaCon 2022 Keynote: The Process Orchestration Journey
Bernd Ruecker
 
JAX 2022 - Loosely or lousily coupled
Bernd Ruecker
 
CamundaCon 2021 Keynote :From Human Workflow to High-Throughput Process Autom...
Bernd Ruecker
 
Kafka Summit 2021 - Apache Kafka meets workflow engines
Bernd Ruecker
 
Micronaut Webinar 2021 - Process Automation Introduction
Bernd Ruecker
 
Webinar "Communication Between Loosely Coupled Microservices"
Bernd Ruecker
 
CamundaCon 2020 Keynote - The Return of Process Automation
Bernd Ruecker
 
Camunda Meetup: Rethink Business Processes and User Experience to Leverage Th...
Bernd Ruecker
 
Ad

Recently uploaded (20)

PDF
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
PPTX
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
PPTX
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
PDF
SFWelly Summer 25 Release Highlights July 2025
Anna Loughnan Colquhoun
 
PPTX
Building and Operating a Private Cloud with CloudStack and LINBIT CloudStack ...
ShapeBlue
 
PPTX
Darren Mills The Migration Modernization Balancing Act: Navigating Risks and...
AWS Chicago
 
PDF
Productivity Management Software | Workstatus
Lovely Baghel
 
PDF
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
PDF
Novus-Safe Pro: Brochure-What is Novus Safe Pro?.pdf
Novus Hi-Tech
 
PPTX
✨Unleashing Collaboration: Salesforce Channels & Community Power in Patna!✨
SanjeetMishra29
 
PDF
Apache CloudStack 201: Let's Design & Build an IaaS Cloud
ShapeBlue
 
PDF
CloudStack GPU Integration - Rohit Yadav
ShapeBlue
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
Ampere Offers Energy-Efficient Future For AI And Cloud
ShapeBlue
 
PDF
Smart Air Quality Monitoring with Serrax AQM190 LITE
SERRAX TECHNOLOGIES LLP
 
PDF
Impact of IEEE Computer Society in Advancing Emerging Technologies including ...
Hironori Washizaki
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PDF
Windsurf Meetup Ottawa 2025-07-12 - Planning Mode at Reliza.pdf
Pavel Shukhman
 
PDF
Sustainable and comertially viable mining process.pdf
Avijit Kumar Roy
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
SFWelly Summer 25 Release Highlights July 2025
Anna Loughnan Colquhoun
 
Building and Operating a Private Cloud with CloudStack and LINBIT CloudStack ...
ShapeBlue
 
Darren Mills The Migration Modernization Balancing Act: Navigating Risks and...
AWS Chicago
 
Productivity Management Software | Workstatus
Lovely Baghel
 
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
Novus-Safe Pro: Brochure-What is Novus Safe Pro?.pdf
Novus Hi-Tech
 
✨Unleashing Collaboration: Salesforce Channels & Community Power in Patna!✨
SanjeetMishra29
 
Apache CloudStack 201: Let's Design & Build an IaaS Cloud
ShapeBlue
 
CloudStack GPU Integration - Rohit Yadav
ShapeBlue
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
Ampere Offers Energy-Efficient Future For AI And Cloud
ShapeBlue
 
Smart Air Quality Monitoring with Serrax AQM190 LITE
SERRAX TECHNOLOGIES LLP
 
Impact of IEEE Computer Society in Advancing Emerging Technologies including ...
Hironori Washizaki
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
Windsurf Meetup Ottawa 2025-07-12 - Planning Mode at Reliza.pdf
Pavel Shukhman
 
Sustainable and comertially viable mining process.pdf
Avijit Kumar Roy
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 

Moving beyond request reply - designing smarter APIs