Strictly speaking, implementing transactions in .NET and WCF is easy: you use WCF attributes to control the service and operations behaviors, and you are done! Moreover, an easier task is to transaction-enable .NET applications. .NET provides you with the classes to do just that. If that is the case, then why a course about transactions? Well, that is because just like everything else in programming, you need to understand the architecture, the underground of whatever seems to be an easy task. Only then can you design solutions as opposed to only coding them. WCF transactions are built from ground up around .NET transactions. This is hardly surprising anyway, since WCF is a .NET technology. However, this sums up as follows: you need to understand how .NET does transactions in order to utilize them in WCF.