Таблица 15.1. Сравнение средств создания веб-приложений
В поисках способов хранения и администрирования данных разработчики пришли к понятию содержимого (content), или «контента». Были разработаны административные средства для создания, удаления и модификации содержимого в базах данных. Системы управления содержимым (Content Management Systems, CMS) дали повод надеяться, что редакторы, журналисты и администраторы потоков данных разделят труд по созданию действующего сайта.
Даже в HTML пришлось навести порядок. Производители броузеров попытались преобразовать HTML в язык WYSIWYG (What You See Is What You Get), дополнив его исходные возможности громоздкими функциями представления. В результате получился гибрид структурированного содержимого с тегами представления, напичканный цветами, рамками и некоторыми другими функциями. И вся сложность состоит в том, чтобы управлять логикой, содержимым и представлением в единой архитектурной связке.
Многозвенная архитектура
Разработку многозвенных приложений можно определить как такой процесс разработки, в котором приложения строятся из компонентов, находящихся на разных Каждый уровень предоставляет сервисы для других уровней, т. е. можно выделить в него определенный аспект приложения. Такое выделение приводит к созданию приложений, которые очень легко сопровождать, поскольку каждый уровень может быть модифицирован независимо от остальных. В РНР есть множество характеристик и возможностей, позволяющих применить в программировании многозвенную технологию.
В веб-приложении можно выделить следующие стандартные уровни:
♦ Уровень содержимого (Content layer)
♦ Уровень логики (Logic layer)
♦ Уровень представления (Presentation layer)
Каждый уровень заключает в себе специфическую часть приложения (рис. 15.1):
Уровень содержимого
Уровень содержимого состоит из компонентов, предоставляющих пути для доступа к данным приложения. Все программные компоненты, создаваемые поверх этого уровня, должны пройти через него, чтобы получить доступ к данным
Самое важное понятие на этом уровне - модель данных (data model). Она определяет, как хранятся данные и как с ними следует работать. Лучше всего выбрать модель данных для содержимого прежде, чем начать реально его создавать. Наиболее распространены следующие модели данных:
♦ Модель плоских файлов
♦ Модель реляционной базы данных
♦ Модель XML
♦ Гибридные модели