[jboss-dev-forums] [Design of JBoss ESB] - Re: Embedded FTP Server and FTP Clients
mark.little@jboss.com
do-not-reply at jboss.com
Sun Mar 18 18:34:19 EDT 2007
You misunderstand. You need a reliable coordinator to record the compensations and trigger them when necessary. A rollback is a compensation that is triggered, either by the application or by the recovery subsystem. A forward compensation is just the same: the information about which compensation to trigger and when, needs to be durably recorded and replayed when/if necessary. Believe it or not, but failures during compensation do occur.
As far as compensations are concerned, if you're doing forward compensation then they are often tied to the application or business logic and not generally applicable. Take a look at the OMG Additional Structuring Mechanisms for the OTS, or the Java Activity Service specifications for some examples of what I mean (although I'm fairly sure you understand). Some BPEL engines are implemented on these frameworks. What those frameworks do is generalise a coordinator (what you've called a transactionmanager) so that it can do forward or backward recovery.
Although we have an implementation of these frameworks, ArjunaCore isn't it, but is similar. It allows for the structured relaxation of the ACID properties in "transaction" coordination as defined by Jim Gray in his original IBM technical report. (It was actually the basis of some of the work I mentioned above.)
BTW, compensation transactions (including WS-BA) are being used today in some pretty important and mission critical environments. Compensations aren't new and many vertical sectors have been using them ad hoc for nearly 20 years. What they've been doing over the past 5 years is moving to the standards.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4029148#4029148
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4029148
More information about the jboss-dev-forums
mailing list