SlideShare a Scribd company logo
1 of 27
Download to read offline
Transacties
Theorie
mei ’16
Resources
Presentatie:
?
Sources:
https://github.com/ninckblokje/transactions-soa12c
De ontdekking van de transactie, nagespeeld in 2016:
https://www.youtube.com/watch?v=Kv7jALjWx5g
JBoss keynote over transacties (aanrader):
https://vimeo.com/16211058
mei ’16 2
Wat is een transactie
“A transaction is a complete unit of work. It may comprise
many computational tasks, which may include user
interface, data retrieval, and communications.”
mei ’16 3
Wat is een transactie
Atomicity
Consistency
Isolation
Durability
mei ’16 4
Wat is een transactie
try {
begin();
…
…
commit();
} catch {
rollback();
}
mei ’16 5
Wat is een transactie
“all activities as part of an operation are either successfully
executed and committed together or in case an operation
fails, all activities as part of the operation are rolled back”
mei ’16 6
Distributed transaction
“A distributed transaction is a database transaction in
which two or more network hosts are involved.”
mei ’16 7
XA transactie
“The goal of XA is to allow multiple resources (such as
databases, application servers, message queues,
transactional caches, etc.) to be accessed within the same
transaction, thereby preserving the ACID properties across
applications. XA uses a two-phase commit to ensure that all
resources either commit or roll back any particular
transaction consistently (all do the same).”
mei ’16 8
XA transactie
• Database
• EJB
• JMS
• MQ
• UMS
• …
mei ’16 9
XA transactie
mei ’16 10
TransactionManager
Application Program
Resource Manager
Resource Manager
Transactionele
wijzigingen
Transactie start
/ einde
Prepare
Commit
Rollback
Transaction Manager
“A transaction manager is the part of an application that is
responsible for coordinating transactions across one or
more resources.”
mei ’16 11
Transaction Manager
• Local transaction manager
• Global transaction manager
• Distributed transaction manager
mei ’16 12
Resource Manager
“The Resource Manager manages a particular resource
such as a database or a JMS system.”
mei ’16 13
JTA
“The Java Transaction API (JTA) enables distributed
transactions to be done across multiple X/Open XA
resources in a Java environment”
mei ’16 14
Overzicht (Spring)
mei ’16 15
Overzicht (OC4J)
mei ’16 16
2-Phase Commit
“The two-phase commit protocol (2PC) is a type of atomic
commitment protocol (ACP). It is a distributed algorithm
that coordinates all the processes that participate in a
distributed atomic transaction on whether to commit or
abort (roll back) the transaction (it is a specialized type of
consensus protocol).”
mei ’16 17
2-Phase Commit
mei ’16 18
2-Phase Commit
Optimalisaties:
• Read-only
• 1-Phase commit
mei ’16 19
Last Resource
“Sometimes it is necessary to allow a non-XA-aware
resource manager to participate in a transaction. This is
often the case with data stores that do not support
distributed transactions. In this situation, you can use a
technique known as Last Resource Commit Optimization
(LRCO).”
mei ’16 20
Last Resource
mei ’16 21Commit last resource
WS-Atomic Transaction
“WS-AtomicTransaction defines protocols that enable
existing transaction processing systems to wrap their
proprietary protocols and interoperate across different
hardware and software vendors.”
mei ’16 22
WS-Atomic Transaction
<wsdl:definitions
targetNamespace="bank.example.com"
xmlns:tns="bank.example.com"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns:wsat="http://docs.oasis-open.org/ws-tx/wsat/2006/06"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" >
<wsp:Policy wsu:Id="TransactedPolicy" >
<wsat:ATAssertion wsp:optional="true" />
<!-- omitted assertions -->
</wsp:Policy>
<!-- omitted elements -->
<wsdl:binding name="BankBinding" type="tns:BankPortType" >
<!-- omitted elements -->
<wsdl:operation name="TransferFunds" >
<wsp:PolicyReference URI="#TransactedPolicy" wsdl:required="true" />
<!-- omitted elements -->
</wsdl:operation>
</wsdl:binding>
</wsdl:definitions>
mei ’16 23
WS-Atomic Transaction
mei ’16 24
WS-Atomic Transaction
mei ’16 25
SOAP Request
TXN Register
TXN Register Response
SOAP Response
TXN Prepare
TXN Prepare Reponse
TXN Commit
TXN Commit Response
Krak!
• Timeouts
• Crashes
• Racing condities
• Inconsistente staat
• Data zichtbaarheid (?)
mei ’16 26
Eindhoven
De Zaale 11
5612 AJ Eindhoven
Netherlands
Utrecht
Blok D, Graadt van Roggenweg 328-334
3531 AH Utrecht
Netherlands
Sofia Bulgaria
Nikolay Haytov 12
1113 Sofia
Bulgaria
info@syntouch.nl
www.syntouch.nl

More Related Content

What's hot

What's hot (19)

CBGTBT - Part 3 - Transactions 101
CBGTBT - Part 3 - Transactions 101CBGTBT - Part 3 - Transactions 101
CBGTBT - Part 3 - Transactions 101
 
A quick introduction to Consensus Models
A quick introduction to Consensus ModelsA quick introduction to Consensus Models
A quick introduction to Consensus Models
 
Proof-of-Stake & Its Improvements (San Francisco Bitcoin Devs Hackathon)
Proof-of-Stake & Its Improvements (San Francisco Bitcoin Devs Hackathon)Proof-of-Stake & Its Improvements (San Francisco Bitcoin Devs Hackathon)
Proof-of-Stake & Its Improvements (San Francisco Bitcoin Devs Hackathon)
 
Blockchain technology
Blockchain technologyBlockchain technology
Blockchain technology
 
Aleksandr Shevchenko ITEM 2018
Aleksandr Shevchenko ITEM 2018Aleksandr Shevchenko ITEM 2018
Aleksandr Shevchenko ITEM 2018
 
How does the Bitcoin network work?
How does the Bitcoin network work?How does the Bitcoin network work?
How does the Bitcoin network work?
 
How to Create AltCoin(Alternative Cryptocurrency)?
How to Create AltCoin(Alternative Cryptocurrency)?How to Create AltCoin(Alternative Cryptocurrency)?
How to Create AltCoin(Alternative Cryptocurrency)?
 
CBGTBT - Part 5 - Blockchains 102
CBGTBT - Part 5 - Blockchains 102CBGTBT - Part 5 - Blockchains 102
CBGTBT - Part 5 - Blockchains 102
 
CBGTBT - Part 6 - Transactions 102
CBGTBT - Part 6 - Transactions 102CBGTBT - Part 6 - Transactions 102
CBGTBT - Part 6 - Transactions 102
 
Real world blockchains
Real world blockchainsReal world blockchains
Real world blockchains
 
Wallets and Transactions #2
Wallets and Transactions #2Wallets and Transactions #2
Wallets and Transactions #2
 
CBGTBT - Part 4 - Mining
CBGTBT - Part 4 - MiningCBGTBT - Part 4 - Mining
CBGTBT - Part 4 - Mining
 
CBGTBT - Part 2 - Blockchains 101
CBGTBT - Part 2 - Blockchains 101CBGTBT - Part 2 - Blockchains 101
CBGTBT - Part 2 - Blockchains 101
 
Distributed Consensus: Making the Impossible Possible
Distributed Consensus: Making the Impossible PossibleDistributed Consensus: Making the Impossible Possible
Distributed Consensus: Making the Impossible Possible
 
Capodieci - Proof of... what?
Capodieci - Proof of... what?Capodieci - Proof of... what?
Capodieci - Proof of... what?
 
The Bitcoin Lightning Network
The Bitcoin Lightning NetworkThe Bitcoin Lightning Network
The Bitcoin Lightning Network
 
10 Facts to Know About the Future of Blockchain Technology
10 Facts to Know About the Future of Blockchain Technology10 Facts to Know About the Future of Blockchain Technology
10 Facts to Know About the Future of Blockchain Technology
 
Waves Platform - A Complete Overview
Waves Platform - A Complete OverviewWaves Platform - A Complete Overview
Waves Platform - A Complete Overview
 
Nuxeo World Session: Case Management Framework
Nuxeo World Session: Case Management FrameworkNuxeo World Session: Case Management Framework
Nuxeo World Session: Case Management Framework
 

Viewers also liked

Viewers also liked (20)

Tanques nazis gigantes
Tanques nazis gigantesTanques nazis gigantes
Tanques nazis gigantes
 
A2 Media Key Concepts - Synaesthesia
A2 Media Key Concepts - SynaesthesiaA2 Media Key Concepts - Synaesthesia
A2 Media Key Concepts - Synaesthesia
 
Keep Texas Beautiful
Keep Texas BeautifulKeep Texas Beautiful
Keep Texas Beautiful
 
Cs01 2014
Cs01 2014Cs01 2014
Cs01 2014
 
5. bahan tayang penerapan pendekatan scientific pada pemb tematik
5. bahan tayang penerapan pendekatan scientific pada pemb tematik5. bahan tayang penerapan pendekatan scientific pada pemb tematik
5. bahan tayang penerapan pendekatan scientific pada pemb tematik
 
Campus Life and Events
Campus Life and EventsCampus Life and Events
Campus Life and Events
 
Gestion de proyectos fvera
Gestion de proyectos fveraGestion de proyectos fvera
Gestion de proyectos fvera
 
Module One
Module OneModule One
Module One
 
Heartfulness Magazine Issue 10
Heartfulness Magazine Issue 10Heartfulness Magazine Issue 10
Heartfulness Magazine Issue 10
 
Sound And Vision - Secondary Research
Sound And Vision - Secondary ResearchSound And Vision - Secondary Research
Sound And Vision - Secondary Research
 
Transacties SOA Suite 12c r2
Transacties SOA Suite 12c r2Transacties SOA Suite 12c r2
Transacties SOA Suite 12c r2
 
SEMINAR PRESENTATION
SEMINAR PRESENTATIONSEMINAR PRESENTATION
SEMINAR PRESENTATION
 
Dilnawaz Ansari.C.V (1)
Dilnawaz Ansari.C.V (1)Dilnawaz Ansari.C.V (1)
Dilnawaz Ansari.C.V (1)
 
Slide share presentacion
Slide share presentacionSlide share presentacion
Slide share presentacion
 
LPA Resume
LPA  ResumeLPA  Resume
LPA Resume
 
Curriculum vitae
Curriculum vitaeCurriculum vitae
Curriculum vitae
 
Dog Litter
Dog LitterDog Litter
Dog Litter
 
ELECTRONICS LAB WORK
ELECTRONICS LAB WORKELECTRONICS LAB WORK
ELECTRONICS LAB WORK
 
Sports textile
Sports textileSports textile
Sports textile
 
Niladri Debnath__opt
Niladri Debnath__optNiladri Debnath__opt
Niladri Debnath__opt
 

Similar to Transacties theorie

Similar to Transacties theorie (20)

Structured approach to blockchain and consensus techniques
Structured approach to blockchain and consensus techniquesStructured approach to blockchain and consensus techniques
Structured approach to blockchain and consensus techniques
 
Transactional OSGi Applications Done Right
Transactional OSGi Applications Done RightTransactional OSGi Applications Done Right
Transactional OSGi Applications Done Right
 
Blockchains in agriculture
Blockchains in agricultureBlockchains in agriculture
Blockchains in agriculture
 
Uses of Blockchain Technology in the agrifood system
Uses of Blockchain Technology in the agrifood systemUses of Blockchain Technology in the agrifood system
Uses of Blockchain Technology in the agrifood system
 
Distributed, immutable, secure...
Distributed, immutable, secure...Distributed, immutable, secure...
Distributed, immutable, secure...
 
Creating Fault Tolerant Services on Mesos
Creating Fault Tolerant Services on MesosCreating Fault Tolerant Services on Mesos
Creating Fault Tolerant Services on Mesos
 
Мастер-класс "Логическая репликация и Avito" / Константин Евтеев, Михаил Тюр...
Мастер-класс "Логическая репликация и Avito" / Константин Евтеев,  Михаил Тюр...Мастер-класс "Логическая репликация и Avito" / Константин Евтеев,  Михаил Тюр...
Мастер-класс "Логическая репликация и Avito" / Константин Евтеев, Михаил Тюр...
 
FIWARE Wednesday Webinars - Integrating FIWARE with Blockchain/DLTs
FIWARE Wednesday Webinars - Integrating FIWARE with Blockchain/DLTsFIWARE Wednesday Webinars - Integrating FIWARE with Blockchain/DLTs
FIWARE Wednesday Webinars - Integrating FIWARE with Blockchain/DLTs
 
MuleSoft Meetup: Transaction Management
MuleSoft Meetup: Transaction ManagementMuleSoft Meetup: Transaction Management
MuleSoft Meetup: Transaction Management
 
Distributed concurrency control
Distributed concurrency controlDistributed concurrency control
Distributed concurrency control
 
Blockchain Primer Part 1
Blockchain Primer Part 1Blockchain Primer Part 1
Blockchain Primer Part 1
 
Beyond the RTOS: A Better Way to Design Real-Time Embedded Software
Beyond the RTOS: A Better Way to Design Real-Time Embedded SoftwareBeyond the RTOS: A Better Way to Design Real-Time Embedded Software
Beyond the RTOS: A Better Way to Design Real-Time Embedded Software
 
Vilnius blockchain club 20170413 consensus
Vilnius blockchain club 20170413 consensusVilnius blockchain club 20170413 consensus
Vilnius blockchain club 20170413 consensus
 
Microservices and SOA
Microservices and SOAMicroservices and SOA
Microservices and SOA
 
Magiclock: Scalable Detection of Potential Deadlocks in Large-Scale Multithre...
Magiclock: Scalable Detection of Potential Deadlocks in Large-Scale Multithre...Magiclock: Scalable Detection of Potential Deadlocks in Large-Scale Multithre...
Magiclock: Scalable Detection of Potential Deadlocks in Large-Scale Multithre...
 
Connecting the Dots: How Blockchains Can Interoperate with Polkadot
Connecting the Dots: How Blockchains Can Interoperate with PolkadotConnecting the Dots: How Blockchains Can Interoperate with Polkadot
Connecting the Dots: How Blockchains Can Interoperate with Polkadot
 
[JSDC 2021] Blockchain 101 for Frontend Engs
[JSDC 2021] Blockchain 101 for Frontend Engs[JSDC 2021] Blockchain 101 for Frontend Engs
[JSDC 2021] Blockchain 101 for Frontend Engs
 
OpenTelemetry For Developers
OpenTelemetry For DevelopersOpenTelemetry For Developers
OpenTelemetry For Developers
 
BlockChain for the Banker
BlockChain for the BankerBlockChain for the Banker
BlockChain for the Banker
 
CockroachDB
CockroachDBCockroachDB
CockroachDB
 

Recently uploaded

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
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc
 

Recently uploaded (20)

ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps Productivity
 
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...
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdf
 
Vector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptxVector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.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
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate Guide
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
 
Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptx
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
 
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
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
 
UiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overviewUiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overview
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - Questionnaire
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024
 

Transacties theorie