Общение


Архитектура Zope


После поступления HTTP-запроса на HTTP-сервер запрос передается публикатору Zope (Zope Publisher), который, в свою очередь, передает его брокеру объектных запросов Zope (ZORB — Zope Object Request Broker). ZORB-брокер анализирует запрос и на основании полученной информации узнает, какой именно объект нужно опубликовать (это может быть объект, непосредственно указанный в URL, или объект, приобретенный от верхнего уровня иерархии). После этого ZORB-брокер вызывает объект, который выполняет предусмотренные в нем действия и в качестве результата возвращает код DTML, который называется образцом. Образец может содержать нераскрытые переменные и невыполненные вызовы других объектов. ZORB-брокер возвращает результаты вызова объекта публикатору Zope, который обрабатывает образец, передавая ZORB-брокеру требования выполнить подстановку переменных или вызвать другие объекты. Выполнив до конца всю эту работу, публикатор Zope выдает результат на браузер пользователя в виде простого HTML-кода.

Публикуемые объекты располагаются в иерархической объектной базе данных Zope. Хотя она и напоминает по структуре обычную файловую систему, веб-сервер не может обращаться к ней непосредственно, поскольку он работает с URL, а по компонентам URL необходимо вначале перейти к объекту. Одна из задач, выполняемых ZORB-брокером, состоит в прямом и обратном переходе по иерархии объектов и преобразовании ступеней этой иерархии в компоненты URL.

ZORB-брокер выполняет также обработку данных формы, «пряников» (cookie) и параметров запроса, проводит опознавание пользователя и проверку прав доступа, автоматизирует обработку исключительных ситуаций (исключений), подготавливает заголовки HTML и обрабатывает пакеты протокола HTTP с информацией запроса и ответа.

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

Для создания динамического информационного наполнения применяется серверный интерпретируемый язык DTML на основе тегов.


Начало  Назад  Вперед



Книжный магазин