Аргерих Л. О языке РНР. Часть 4. Страница 1


♦ Архитектура, основанная на HTML

♦ Архитектура, основанная на XML

Архитектура, основанная на HTML

Архитектуры, основанные на HTML, отображаются в представленную ниже схему (см. рис. 15.2).

На этой схеме приближенно представлена многозвенная архитектура. Пока­заны три уровня, а также абстракция для языка представления и различные варианты хранения данных.

Другая возможность - создание хранилища на основе кластера баз данных. Тогда база данных должна допускать возможность работы на кластере сер­веров.

Уровень содержимого

Уровень содержимого абстрагирует используемый язык моделирования. Обычно в этом уровне есть два различных компонента:

♦ Компонент доступа

♦ Компонент обработки данных

Компоненты доступа

Компонент доступа абстрагирует применяемый метод хранения данных и обеспечивает основные примитивы для записи, извлечения и обработки дан­ных. Если хранение организовано в файлах, компонента доступа не будет. В случае применения XML можно создать компонент доступа для записи и чтения файлов XML, благодаря чему нетрудно реализовать хранение файлов XML с помощью файловой системы, хранилища или Веб, не внося изменений в другие модули. Если используются базы , то компонент доступа ста­

новится классом, абстрагирующим применяемую базу данных. Он предо­ставляет функции для соединения, отправки запросов и обработки результа­тов, получаемых от базы данных. Если придется заменить базу данных, надо будет лишь заменить этот класс, не трогая код, в котором он используется.

Компонент обработки данных

Компонент обработки данных представляет собой клиент компонента досту­па. В нее должны быть помещены все функции, необходимые для управле­ния моделью данных, получения, записи, удаления, обновления, вставки данных и т. п. Компонент обработки данных занимается также целостнос­тью и ссылочной целостностью данных. Модули этого уровня не занимаются проверкой совместимости данных с логикой приложения, поскольку этим занимается уровень логики.

Уровень логики

Уровень логики будет представлен рядом классов, каждый из которых ин­капсулирует различные бизнес-правила или логические компоненты. На этом уровне кодируется функциональность всей системы. Уровень логики обращается к уровню содержимого для получения данных, которые должны обрабатываться. Он обращается с запросами к модели данных и выполняет обновление в соответствии со специфической логикой приложения. Уровень логики управляет отображением обработанных данных, обращаясь к уров­ню представления.