I've found another interesting blog post. This one is about the way that Service Oriented Architecture (where you create applications from components which expose what they can do in terms of services that they provide via a network connection) may not be the way and the truth.
This is because although you could provide a service called "Sell Widget" you can only use it properly if you have a good understanding of the meaning of precisely what it will do - which is not something that is guaranteed.
On the way to his conclusion the author provides a nice description of the archicture. Worth a read.