This post originated from an RSS feed registered with .NET Buzz
by Peter van Ooijen.
Original Post: An idea waiting for a commit
Feed Title: Peter's Gekko
Feed URL: /error.htm?aspxerrorpath=/blogs/peter.van.ooijen/rss.aspx
Feed Description: My weblog cotains tips tricks and opinions on ASP.NET, tablet PC's and tech in general.
As a yearly recurring event around TechEd Europe Juval Löwy did a presenation for dotned, the Dutch user group. It was a fascinating talk, for two hours we have been bombarded with some very fascinating idea's.
Juval's main message is "the is no such thing as recovery code". Your application starts in a certain well described state. As soon as your code starts fiddling with that state you app's state is unknown and should be hidden to the outer world. At a certain moment the code should say "this is it" and commit that state. Or it should say "oops" and roll back to the previous well defined state. That's programming in transactions. Any attempt to try to fix something in your own recovery code is (in Juval's words) futile. At the moment the only tools which support transactions are the better database servers. You mark the start of a transaction, start fiddling and commit the updates to the database or rollback all changes.
Now wouldn't it be lovely to write all your code like that ? Yes it would. But I have a problem with further exploring the subject. In the talk we've been a sounding board for some very fascinating ideas on this. But we've been asked to zip our mouths'. It's still in review, when ready you're going to read all about it in the near future. I hope I'm not bringing Julian (or myself) in any trouble by even mentioning this talk... I just hope to have stirred your curiosity and, most of all, have motivated you to go to user group meetings yourself.