In a collaborative business systems applicaiton developers could muc more closely approach the three application layers.
Additionally each layer could be supplanted with 'proxy' layers that provide a cushion for processing, migration and scaling issues. Such an example would be a generic data source access wrapper to enable the database to be substituted without large and costly redevelopment.
With the popularization of the internet/intranet/extranet solution a gamut of problems could be addressed in a consistent manner, while at the same time enabling the holy grail of "layer separation" to move closer.
In breaking the approach into layers it becomes possible to focus on solving domain specific issues. At the same time, design flexibility could be introduced. Here's why,
For example, a simple global telephone directory becomes an application that can be accessed from virtually any computer - the architecture doesn't place limits on the type of hardware, operating system, or whatever.