¿Es siempre así que uno debe separar las aplicaciones web en capas?
Debe separar las diferentes partes lógicas de su sistema para evitar que estén estrechamente acopladas, lo que las hace más repetibles y reutilizables. En lo que los separa no es tan importante. Puede llamarlo capas o lo que sea.
En realidad podría haber 2 significados de esas capas:
- límites físicos: navegador del cliente, servidor web, servidor de servicios web, bases de datos back-end, ...
- límites lógicos: interfaz gráfica de usuario, la capa de servicio, DAL, ...
También puede consultar el Onion Architecture. Pero las cebollas todavía tienen capas :-)
La convención estándar usa ** niveles ** para límites físicos y ** capas ** para límites lógicos. –