SlideShare a Scribd company logo
1 of 65
Download to read offline
1CONFIDENTIAL
DISTRIBUTED TRANSACTIONS
IN SOA AND MICROSERVICES
KANSTANTSIN SLISENKA
LEAD SOFTWARE ENGINEER
NOV 9, 2017
2CONFIDENTIAL
kanstantsin_slisenka@epam.com
Kanstantsin Slisenka
Java Team Lead
Financial services, trading solutions
Speaker at: Minsk Java Tech Talks, IT Week, SEC Online,
Java Professionals
github.com/kslisenko
3CONFIDENTIAL
AGENDA
Local transactions1
Distributed transactions2
Compensations: SAGA pattern3
Live demo4
4CONFIDENTIAL
WHY DO WE NEED
TRANSACTIONS?
5CONFIDENTIAL
WHY DO WE NEED TRANSACTIONS?
New order created Payment received Product shipped
Data must be in known state anytime
6CONFIDENTIAL
Application
Business workflows
Infrastructure
Transactions in file systems, databases,
message brokers, caches, application servers
7CONFIDENTIAL
Transaction processing is
based on logging of
states and
transitions
HOW IT WORKS
8CONFIDENTIAL
Transaction log
• Always in known state
• States and transitions are logged
• Log can be used for recovery
DATABASE TRANSACTION AS STATE MACHINE
begin in progress
commit
rollback
INSERT UPDATE DELETE commitbegin
9CONFIDENTIAL
ACID TRANSACTION GUARANTEES
Atomicity
All or nothing
Write-ahead log
10CONFIDENTIAL
ACID TRANSACTION GUARANTEES
Atomicity
All or nothing
Write-ahead log
Consistency
Data always in valid state
Constraints
11CONFIDENTIAL
ACID TRANSACTION GUARANTEES
Atomicity
All or nothing
Write-ahead log
Consistency
Data always in valid state
Constraints
Isolation
Visibility of concurrent actions
Locking
12CONFIDENTIAL
ACID TRANSACTION GUARANTEES
Consistency
Data always in valid state
Constraints
Isolation
Visibility of concurrent actions
Locking
Durability
Changes become permanent
Write-ahead log
Atomicity
All or nothing
Write-ahead log
13CONFIDENTIAL
Transactions guarantee
the data to always be
in valid state
14CONFIDENTIAL
HOW IT WORKS?
15CONFIDENTIAL
TRAVEL BOOKING
EXAMPLE
16CONFIDENTIAL
Book trip
1. Book hotel
2. Book flight
3. Hire rental car
4. Record booking
17CONFIDENTIAL
TRAVEL BOOKING SYSTEM
DBBackend
browser
hotels flights cars bookings
18CONFIDENTIAL
TRAVEL BOOKING TRANSACTION
hotels flights cars bookings
DB
Action Rollback action
19CONFIDENTIAL
TRAVEL BOOKING TRANSACTION
Begin
hotels flights cars bookings
DB
Action Rollback action
begin
20CONFIDENTIAL
TRAVEL BOOKING TRANSACTION
Begin
hotels flights cars bookings
DB
Action Rollback action
begin
room_id=15
status=booked, traveler=Kostia
room_id=15
status=free, traveler=null
LOCK
UPDATE
21CONFIDENTIAL
TRAVEL BOOKING TRANSACTION
Begin
hotels flights cars bookings
DB
Action Rollback action
begin
room_id=15
status=booked, traveler=Kostia
room_id=15
status=free, traveler=null
seat_id=17c
status=booked, traveler=Kostia
seat_id=17c
status=free, traveler=null
LOCK
UPDATE
LOCK
UPDATE
22CONFIDENTIAL
TRAVEL BOOKING TRANSACTION
Begin
hotels flights cars bookings
DB
Action Rollback action
begin
room_id=15
status=booked, traveler=Kostia
room_id=15
status=free, traveler=null
seat_id=17c
status=booked, traveler=Kostia
seat_id=17c
status=free, traveler=null
car_num=1234AA7
status=booked, traveler=Kostia
car_num=1234AA7
status=free, traveler=null
LOCK
UPDATE
LOCK
UPDATE
LOCK
UPDATE
23CONFIDENTIAL
TRAVEL BOOKING TRANSACTION
Begin
hotels flights cars bookings
DB
Action Rollback action
begin
room_id=15
status=booked, traveler=Kostia
room_id=15
status=free, traveler=null
seat_id=17c
status=booked, traveler=Kostia
seat_id=17c
status=free, traveler=null
car_num=1234AA7
status=booked, traveler=Kostia
car_num=1234AA7
status=free, traveler=null
INSERT traveler=Kostia, room_id=15,
seat_id=17c, car_num=1234AA7
DELETE traveler=Kostia, room_id=15,
seat_id=17c, car_num=1234AA7
LOCK
UPDATE
LOCK
UPDATE
LOCK
UPDATE
LOCK
UPDATE
24CONFIDENTIAL
TRAVEL BOOKING TRANSACTION
Begin
hotels flights cars bookings
DB
Action Rollback action
begin
room_id=15
status=booked, traveler=Kostia
room_id=15
status=free, traveler=null
seat_id=17c
status=booked, traveler=Kostia
seat_id=17c
status=free, traveler=null
car_num=1234AA7
status=booked, traveler=Kostia
car_num=1234AA7
status=free, traveler=null
INSERT traveler=Kostia, room_id=15,
seat_id=17c, car_num=1234AA7
DELETE traveler=Kostia, room_id=15,
seat_id=17c, car_num=1234AA7
commit
LOCK
UPDATE
LOCK
UPDATE
LOCK
UPDATE
LOCK
UPDATE
Commit
25CONFIDENTIAL
TRAVEL BOOKING TRANSACTION
Begin
hotels flights cars bookings
DB
UPDATE UPDATE UPDATE UPDATE
Rollback
Action Rollback action
begin
room_id=15
status=booked, traveler=Kostia
room_id=15
status=free, traveler=null
seat_id=17c
status=booked, traveler=Kostia
seat_id=17c
status=free, traveler=null
car_num=1234AA7
status=booked, traveler=Kostia
car_num=1234AA7
status=free, traveler=null
INSERT traveler=Kostia, room_id=15,
seat_id=17c, car_num=1234AA7
DELETE traveler=Kostia, room_id=15,
seat_id=17c, car_num=1234AA7
rollback
LOCK LOCK LOCK LOCK
26CONFIDENTIAL
NOT ONLY IN DATABASES
TRANSACTIONS ARE
27CONFIDENTIAL
• Isolation levels
• Locking
• Commit logs
• Transactions
– ONE and TWO phase
28CONFIDENTIAL
Cache
Messages
Transactions
Subscriptions
ACKs, …
• Transacted sessions
• JMS attributes
– JMSXConsumerTXID
– JMSXProducerTXID
29CONFIDENTIAL
AGENDA
Local transactions1
Distributed transactions2
Compensations: SAGA pattern3
Live demo4
30CONFIDENTIAL
Application
HTTP
REST
SOAP
WE WANT THIS
commit
31CONFIDENTIAL
Application
HTTP
REST
SOAP
OR THIS
rollback
32CONFIDENTIAL
Application
HTTP
REST
SOAP
WHAT ACTUALLY HAPPENS
commit
fail
commit
fail
33CONFIDENTIAL
34CONFIDENTIAL
35CONFIDENTIAL
Application
HTTP
REST
SOAP
Coordinator
36CONFIDENTIAL
Application
HTTP
REST
SOAP
Coordinator
37CONFIDENTIAL
WEB-SERVICE AS STATE MACHINE
/reserve
/confirm
/cancel
reserved
confirmed
cancelled
/reserve
/confirm
/cancel
timeout
2
1
Idempotent operations
38CONFIDENTIAL
2-PHASE COMMIT
JTA/XA
39CONFIDENTIAL
2-PHASE COMMIT ALGORITHM
begin in progress
commit
rollback
prepare
All changes
saved to log
Changes copied
to storage
Changes
cancelled
2
1
40CONFIDENTIAL
JTA AND XA SPECIFICATION
Java
application
41CONFIDENTIAL
Application server
JTA AND XA SPECIFICATION
Transaction
Manager
Java
application
42CONFIDENTIAL
Application server
JTA AND XA SPECIFICATION
Resource
manager
Resource
manager
Resource
manager
Transaction
Manager DB
JMS
?
Java
application
JDBC
CUSTOM
43CONFIDENTIAL
JTA AND XA SPECIFICATION
Resource
manager
Resource
manager
Resource
manager
Application server
Transaction
Manager DB
?
Java
application
begin
begin
begin
44CONFIDENTIAL
Application server
JTA AND XA SPECIFICATION
Resource
manager
Resource
manager
Resource
manager
Transaction
Manager DB
?
Java
application
update
update
update
45CONFIDENTIAL
Application server
JTA AND XA SPECIFICATION
Resource
manager
Resource
manager
Resource
manager
Transaction
Manager DB
?
Java
application
prepare
prepare
prepare
46CONFIDENTIAL
Application server
JTA AND XA SPECIFICATION
Resource
manager
Resource
manager
Resource
manager
Transaction
Manager DB
?
Java
application
commit
commit
commit
47CONFIDENTIAL
TM does all the job for us, but:
• Needs too many messages
• Doesn’t scale well
• Not all vendors support XA
48CONFIDENTIAL
AGENDA
Local transactions1
Distributed transactions2
Compensations: SAGA pattern3
Live demo4
49CONFIDENTIAL
WHAT IS SAGA?
50CONFIDENTIAL
SAGA EXAMPLE
Book hotel Book flight Book car
Cancel hotel Cancel flight
Confirm
booking
Fail! Retry
Retry failed
Start
Finish
Skip
51CONFIDENTIAL
SAGA TYPES
Central
coordinator
Routing slip
(peer-to-peer)
52CONFIDENTIAL
SAGA TYPES
Forward Backward
53CONFIDENTIAL
ACID
Availability
Consistency
Isolation
Durability
BASE
Basic Availability
Soft state
Eventual consistency
(Trading consistency for availability)
2-PHASE COMMIT SAGA
54CONFIDENTIAL
System is partitioned
CAP THEOREM
CONSISTENCY AVAILABILITY
Consistency
and
Availability
System is single node
55CONFIDENTIAL
AGENDA
Local transactions1
Distributed transactions2
Compensations: SAGA pattern3
Live demo4
56CONFIDENTIAL
Car
service
Frontend
Tier 1
Backend
Tier 2
Agency
DB
Hotels
DB
Flight
service
requests
responsescache
Distributed
transaction
JMS
endpoint
Remote
call
Local
call
JMS
queue
github.com/kslisenko/distributed-transactions
57CONFIDENTIAL
Frontend
Tier 1
Backend
cache
Tier 2
/bookTrip
requests
responses
Car
service
Agency
DB
Hotels
DB
Flight
service
Distributed
transaction
JMS
endpoint
Remote
call
Local
call
JMS
queue
/getTrips
github.com/kslisenko/distributed-transactions
58CONFIDENTIAL
Car
service
Frontend
Tier 1
Backend
cache
Tier 2
/bookTrip
Agency
DB
Hotels
DB
Flight
service
JMS
requests
responses
Distributed
transaction
JMS
endpoint
Remote
call
Local
call
JMS
queue
/getTrips
github.com/kslisenko/distributed-transactions
59CONFIDENTIAL
Car
service
Frontend
Tier 1
Backend
cache
Tier 2
/bookTrip
Agency
DB
Hotels
DB
Flight
service
requests
responses
JMS JMS
Distributed
transaction
JMS
endpoint
Remote
call
Local
call
JMS
queue
/getTrips
github.com/kslisenko/distributed-transactions
60CONFIDENTIAL
Frontend
Tier 1
Backend
cache
Tier 2
/bookTrip
requests
responses
Car
service
Agency
DB
Hotels
DB
Flight
service
JMS JMS
Distributed
transaction
JMS
endpoint
Remote
call
Local
call
JMS
queue
/getTrips
github.com/kslisenko/distributed-transactions
61CONFIDENTIAL
Frontend
Tier 1
Backend
cache
Tier 2
/bookTrip
requests
responses
Car
service
Agency
DB
Hotels
DB
Flight
service
JMS JMS
JMS
Distributed
transaction
JMS
endpoint
Remote
call
Local
call
JMS
queue
/getTrips
github.com/kslisenko/distributed-transactions
62CONFIDENTIAL
Frontend
Tier 1
Backend
cache
Tier 2
/bookTrip
requests
responses
Car
service
Agency
DB
Hotels
DB
Flight
serviceJMS
JMS JMS
JMS
/getTrips
Distributed
transaction
JMS
endpoint
Remote
call
Local
call
JMS
queue
github.com/kslisenko/distributed-transactions
63CONFIDENTIAL
LET’S GO!
64CONFIDENTIAL
CONCLUSION
1. State machines everywhere
2. Transactions everywhere
3. Design for failure
4. Rely on tools or handle by own
65CONFIDENTIAL
QUESTIONS?
THANK YOU!
KANSTANTSIN_SLISENKA@EPAM.COM

More Related Content

What's hot

What's hot (20)

Event Sourcing & CQRS, Kafka, Rabbit MQ
Event Sourcing & CQRS, Kafka, Rabbit MQEvent Sourcing & CQRS, Kafka, Rabbit MQ
Event Sourcing & CQRS, Kafka, Rabbit MQ
 
Event-driven microservices
Event-driven microservicesEvent-driven microservices
Event-driven microservices
 
Service-Oriented Architecture (SOA)
Service-Oriented Architecture (SOA)Service-Oriented Architecture (SOA)
Service-Oriented Architecture (SOA)
 
Distributed sagas a protocol for coordinating microservices
Distributed sagas a protocol for coordinating microservicesDistributed sagas a protocol for coordinating microservices
Distributed sagas a protocol for coordinating microservices
 
SOA
SOASOA
SOA
 
Building Event Driven (Micro)services with Apache Kafka
Building Event Driven (Micro)services with Apache KafkaBuilding Event Driven (Micro)services with Apache Kafka
Building Event Driven (Micro)services with Apache Kafka
 
Microservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native AppsMicroservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native Apps
 
Microservices + Events + Docker = A Perfect Trio (dockercon)
Microservices + Events + Docker = A Perfect Trio (dockercon)Microservices + Events + Docker = A Perfect Trio (dockercon)
Microservices + Events + Docker = A Perfect Trio (dockercon)
 
Introduction to Event-Driven Architecture
Introduction to Event-Driven Architecture Introduction to Event-Driven Architecture
Introduction to Event-Driven Architecture
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture
 
Microservice architecture design principles
Microservice architecture design principlesMicroservice architecture design principles
Microservice architecture design principles
 
Microservice architecture
Microservice architectureMicroservice architecture
Microservice architecture
 
Introduction to Service Oriented Architecture
Introduction to Service Oriented ArchitectureIntroduction to Service Oriented Architecture
Introduction to Service Oriented Architecture
 
From Monolithic to Microservices
From Monolithic to Microservices From Monolithic to Microservices
From Monolithic to Microservices
 
Aggregating API Services with an API Gateway (BFF)
Aggregating API Services with an API Gateway (BFF)Aggregating API Services with an API Gateway (BFF)
Aggregating API Services with an API Gateway (BFF)
 
Architecture: Microservices
Architecture: MicroservicesArchitecture: Microservices
Architecture: Microservices
 
Event Driven Architecture (EDA) Reference Architecture
Event Driven Architecture (EDA) Reference ArchitectureEvent Driven Architecture (EDA) Reference Architecture
Event Driven Architecture (EDA) Reference Architecture
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
 
Event driven architecture
Event driven architectureEvent driven architecture
Event driven architecture
 
Serverless
ServerlessServerless
Serverless
 

Similar to Distributed transactions in SOA and Microservices

Similar to Distributed transactions in SOA and Microservices (20)

Mucon: Not Just Events: Developing Asynchronous Microservices
Mucon: Not Just Events: Developing Asynchronous MicroservicesMucon: Not Just Events: Developing Asynchronous Microservices
Mucon: Not Just Events: Developing Asynchronous Microservices
 
Building microservices with Scala, functional domain models and Spring Boot (...
Building microservices with Scala, functional domain models and Spring Boot (...Building microservices with Scala, functional domain models and Spring Boot (...
Building microservices with Scala, functional domain models and Spring Boot (...
 
#hacksummit 2016 - event-driven microservices – Events on the outside, on the...
#hacksummit 2016 - event-driven microservices – Events on the outside, on the...#hacksummit 2016 - event-driven microservices – Events on the outside, on the...
#hacksummit 2016 - event-driven microservices – Events on the outside, on the...
 
SVCC Developing Asynchronous, Message-Driven Microservices
SVCC Developing Asynchronous, Message-Driven Microservices  SVCC Developing Asynchronous, Message-Driven Microservices
SVCC Developing Asynchronous, Message-Driven Microservices
 
Saturn 2018: Managing data consistency in a microservice architecture using S...
Saturn 2018: Managing data consistency in a microservice architecture using S...Saturn 2018: Managing data consistency in a microservice architecture using S...
Saturn 2018: Managing data consistency in a microservice architecture using S...
 
Solving distributed data management problems in a microservice architecture (...
Solving distributed data management problems in a microservice architecture (...Solving distributed data management problems in a microservice architecture (...
Solving distributed data management problems in a microservice architecture (...
 
Developing event-driven microservices with event sourcing and CQRS (phillyete)
Developing event-driven microservices with event sourcing and CQRS (phillyete)Developing event-driven microservices with event sourcing and CQRS (phillyete)
Developing event-driven microservices with event sourcing and CQRS (phillyete)
 
Microservices in Java and Scala (sfscala)
Microservices in Java and Scala (sfscala)Microservices in Java and Scala (sfscala)
Microservices in Java and Scala (sfscala)
 
Kafka as an Event Store (Guido Schmutz, Trivadis) Kafka Summit NYC 2019
Kafka as an Event Store (Guido Schmutz, Trivadis) Kafka Summit NYC 2019Kafka as an Event Store (Guido Schmutz, Trivadis) Kafka Summit NYC 2019
Kafka as an Event Store (Guido Schmutz, Trivadis) Kafka Summit NYC 2019
 
Events on the outside, on the inside and at the core (jfokus jfokus2016)
Events on the outside, on the inside and at the core (jfokus jfokus2016)Events on the outside, on the inside and at the core (jfokus jfokus2016)
Events on the outside, on the inside and at the core (jfokus jfokus2016)
 
Building and deploying microservices with event sourcing, CQRS and Docker (QC...
Building and deploying microservices with event sourcing, CQRS and Docker (QC...Building and deploying microservices with event sourcing, CQRS and Docker (QC...
Building and deploying microservices with event sourcing, CQRS and Docker (QC...
 
ArchSummit Shenzhen - Using sagas to maintain data consistency in a microserv...
ArchSummit Shenzhen - Using sagas to maintain data consistency in a microserv...ArchSummit Shenzhen - Using sagas to maintain data consistency in a microserv...
ArchSummit Shenzhen - Using sagas to maintain data consistency in a microserv...
 
Oracle Code One: Events and commands: developing asynchronous microservices
Oracle Code One: Events and commands: developing asynchronous microservicesOracle Code One: Events and commands: developing asynchronous microservices
Oracle Code One: Events and commands: developing asynchronous microservices
 
Developing event-driven microservices with event sourcing and CQRS (london Ja...
Developing event-driven microservices with event sourcing and CQRS (london Ja...Developing event-driven microservices with event sourcing and CQRS (london Ja...
Developing event-driven microservices with event sourcing and CQRS (london Ja...
 
CQRS and Event Sourcing
CQRS and Event Sourcing CQRS and Event Sourcing
CQRS and Event Sourcing
 
[Hands-on] CQRS(Command Query Responsibility Segregation) 와 Event Sourcing 패턴 실습
[Hands-on] CQRS(Command Query Responsibility Segregation) 와 Event Sourcing 패턴 실습[Hands-on] CQRS(Command Query Responsibility Segregation) 와 Event Sourcing 패턴 실습
[Hands-on] CQRS(Command Query Responsibility Segregation) 와 Event Sourcing 패턴 실습
 
Kafka as an Event Store - is it Good Enough?
Kafka as an Event Store - is it Good Enough?Kafka as an Event Store - is it Good Enough?
Kafka as an Event Store - is it Good Enough?
 
JavaOne2017: ACID Is So Yesterday: Maintaining Data Consistency with Sagas
JavaOne2017: ACID Is So Yesterday: Maintaining Data Consistency with SagasJavaOne2017: ACID Is So Yesterday: Maintaining Data Consistency with Sagas
JavaOne2017: ACID Is So Yesterday: Maintaining Data Consistency with Sagas
 
Cloud Native: Designing Change-tolerant Software
Cloud Native: Designing Change-tolerant SoftwareCloud Native: Designing Change-tolerant Software
Cloud Native: Designing Change-tolerant Software
 
Developing event-driven microservices with event sourcing and CQRS (svcc, sv...
Developing event-driven microservices with event sourcing and CQRS  (svcc, sv...Developing event-driven microservices with event sourcing and CQRS  (svcc, sv...
Developing event-driven microservices with event sourcing and CQRS (svcc, sv...
 

More from Constantine Slisenka

Profiling distributed Java applications
Profiling distributed Java applicationsProfiling distributed Java applications
Profiling distributed Java applications
Constantine Slisenka
 

More from Constantine Slisenka (11)

Unlocking the secrets of successful architects: what skills and traits do you...
Unlocking the secrets of successful architects: what skills and traits do you...Unlocking the secrets of successful architects: what skills and traits do you...
Unlocking the secrets of successful architects: what skills and traits do you...
 
Lyft talks #4 Orchestrating big data and ML pipelines at Lyft
Lyft talks #4 Orchestrating big data and ML pipelines at LyftLyft talks #4 Orchestrating big data and ML pipelines at Lyft
Lyft talks #4 Orchestrating big data and ML pipelines at Lyft
 
What does it take to be architect (for Cjicago JUG)
What does it take to be architect (for Cjicago JUG)What does it take to be architect (for Cjicago JUG)
What does it take to be architect (for Cjicago JUG)
 
What does it take to be an architect
What does it take to be an architectWhat does it take to be an architect
What does it take to be an architect
 
VoxxedDays Minsk - Building scalable WebSocket backend
VoxxedDays Minsk - Building scalable WebSocket backendVoxxedDays Minsk - Building scalable WebSocket backend
VoxxedDays Minsk - Building scalable WebSocket backend
 
Building scalable web socket backend
Building scalable web socket backendBuilding scalable web socket backend
Building scalable web socket backend
 
Latency tracing in distributed Java applications
Latency tracing in distributed Java applicationsLatency tracing in distributed Java applications
Latency tracing in distributed Java applications
 
Best practices of building data streaming API
Best practices of building data streaming APIBest practices of building data streaming API
Best practices of building data streaming API
 
Database transaction isolation and locking in Java
Database transaction isolation and locking in JavaDatabase transaction isolation and locking in Java
Database transaction isolation and locking in Java
 
Networking in Java with NIO and Netty
Networking in Java with NIO and NettyNetworking in Java with NIO and Netty
Networking in Java with NIO and Netty
 
Profiling distributed Java applications
Profiling distributed Java applicationsProfiling distributed Java applications
Profiling distributed Java applications
 

Recently uploaded

“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
Muhammad Subhan
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
FIDO Alliance
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
FIDO Alliance
 

Recently uploaded (20)

AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentation
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
 
Event-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingEvent-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream Processing
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
Vector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptxVector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptx
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - Questionnaire
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptx
 
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
 
Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & Ireland
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
 
Frisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdf
Frisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdfFrisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdf
Frisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdf
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 

Distributed transactions in SOA and Microservices