Good article on 4 layer philosophy in "Web2.0" design.
from http://particletree.com/features/4-layers-of-separation/
Thanks to a lot of progressive education, web developers are starting to
regularly practice three layers of separation (structural,
presentational, and behavioral) in their projects and applications.
Loosely assigned, XHTML builds the structure, CSS defines the
presentation and JavaScript (for the most part) creates the behavior.
This code segregation allows developers to create web applications that
are organized, maintainable and reusable.
I believe, however, that a fourth layer of separation is being
neglected: the data layer. This layer is represented by server side
scripts that process and retrieve information from a data source. More
often than not, we find this layer embedded messily into the structural
layer. When the goal is to build modular architectures that are flexible
and adaptable, combining structure and data processing is, in the long
run, going to be very costly conceptual mistake. Through the use of a
very promising XML technology, XSLT, we can free our data processing and
retrieval logic from our display and structural logic completely and
build web applications that are easier to understand and faster to
iterate.
</i>