Как и на любом другом языке.
1. Непосредственно данные, их обработка и хранение. Реляционная модель - один путь развития. Нереляционный путь — другая модель. В итоге есть код, который умеет работать с данными: сохранять, доставать по запросу. Ещё это называют «бизнес-логикой».
2. Представление данных. Некий код, который на входе принимает «сырые» данные, на выходе отдает html/xml/xsl. То, что можно отдать браузеру или любому другому клиентскому устройству.
3. Код, связывающий эти две сущности. В терминологии MVC его ещё называют контроллером. Он решает за какими данными пойти и какому представлению их отдать на отрисовку.
Получилось очень похоже на описание модели MVC. По-моему, — наиболее верная архитектура.