I wrote a post on Architectural Styles on Shaping Software. I tried to distill what I’ve learned on presenting architectural styles to various folks. Architectural styles are basically sets of principles that shape an application. By using architectural styles, you can abstract the conversation from the technologies. For example, you can talk about SOA and key principles, before getting into debates over whether WCF or ASMX is the right technology. In fact, I would argue that architectural styles are the backdrop that you overlay technologies on.