There is another school of related thought termed SOAD (Service Orientated Application Design) exists were every component of the system is a service. This is to leverage the benefits offered by the environment that they are built with (EJB, WCF) i.e. you get lots of free plumbing.
Some more resource on this at
Building a SOA
SOA Design Pattern
Achieving integrity in a SOA
Achieving Flexibility/Maintainability in a SOA