Service Oriented Architecture is gaining importance these days. After looking at it a little, I have found (with a "little" help of google ;) a detailed explanation on the way to implement SOA and how to do it with the .NET Framework (even a response to the question why should I use that)
The basics of SOA is that everything is a service, and you just have to interact with the manager to do what you want. The give an extra layer of abstraction and reusability that is a must with all distributed application. It manage ACID (Atomic, Consistent, Isolated, Durable) transaction
It integrated design patterns such as Proxy, Interface Driven Development and layered services, that are :
Interface
Business process façade
Business rules
Data access
More details here Microsoft on SOA (MSDN) .
-f.