Segundo Fowler, a arquitetura em camadas define a divisão do sistema em subsistemas hierárquicos, dispostos de forma parecida com camadas de um bolo: cada camada repousa sobre uma camada mais baixa. A comunicação entre essas camadas é feita por meio de serviços oferecidos diretamente: