London JBUG September Event - 'Compensating Transactions: When ACID is too much'
by Paul Robinson, Senior Software Engineer at JBoss
|WHEN||WHERE||HOW TO REGISTER?|
Skills Matter eXchange
116-120 Goswell Road
London, EC1V 7DP
Fill in the form at the bottom
ACID transactions are a useful tool for application developers and can provide very strong guarantees, even in the presence of failures. However, ACID transactions are not always appropriate for every situation.
ACID transactions are achieved by holding locks on resources and require the ability to rollback changes. In some situations, the blocking nature of the protocol can be too limiting to performance, especially if the transaction is distributed. Also, some actions can’t simply be rolled back; for example, sending an email.
A common strategy for applications that can’t use ACID, is to throw out transactions altogether. However, with this approach you are missing out on many of the benefits that transactions can provide. There are alternative transaction models that relax some of the ACID properties, while still retaining many of the strong guarantees essential for building robust enterprise applications. These should be considered before deciding not to use transactions at all.
In this talk, I’ll present one such alternative to ACID transactions: compensation-based transactions. I’ll provide an overview of ACID and it’s limitations and describe some use-cases where ACID is not appropriate. I’ll then present our new API for compensation-based transactions and demonstrate how it can be used to address these problems. Finally, I’ll present our future plans to improve and expand our support for compensation-based transactions."
Dr Paul Robinson is a Senior Software Engineer at JBoss by Red Hat where he currently leads the Web Service Transactions project.
Paul has worked in the field of transactions and Java middleware for over 10 years. His experience began at Hewlett Packard where he was a member of the Transactions Team. Here he contributed to the first Web service transactions implementation. Previously, Paul headed up the consultancy arm of Arjuna Technologies, helping high-profile customers deploy JBoss Transactions, JBossWS and also Arjuna's Cloud Computing product.
Paul received a PhD in middleware and non-repudiation from the University of Newcastle upon Tyne, where he now holds the role of Visiting Research Fellow. In this role he teaches Transactions and Java EE to Advanced-Masters students.
18:00 - 18:15 - Coffee, Welcome and Networking
18:15 - 19:30 - 'Compensating Transactions: When ACID is too much' by Dr Paul Robinson
19:30 - 20:00 - Lightning Talks & Problem Solving Sessions
20:00 - 20:30 - Beer, Pizza and Networking
‘Problem Solving’ Sessions