Tuesday, November 15, 2005

Transaction alternatives in an enterprise architecture

If you are implementing transactions in an .NET 1.x enterprise application you basically have two different alternatives, (1) to use manual transactions or (2) to use automatic DTC based transactions.

Manual transactions are not very attractive if you are not certain of the transactional contexts an object can be used within. This means that the code for handling the transactions is not likely to be pretty.

Automatic transactions are compelling, but requires the use of the COM+ programming model with all its complexities.

I usually find it best to use manual transaction while awaiting .NET 2.0. I this new version of .NET, there is support for automatic transactions without the requirement of COM+. If you are going to implement manual transactions in .NET 1.x, there is a framework that can make your code more structured:

http://www.devx.com/dotnet/Article/28937