"Олег Бройтман. Zope - The Object Publishing Environment" - читать интересную книгу автора

ПОЧЕМУ Zope

Протоколы WWW (HTTP, CGI и т.д.) часто неадекватны задачам и могут
делать публикацию динамических данных неоправданно сложной. Их низкий
уровень недостаточен для непосредственного создания многих классов
web-приложений на их основе.
Zope создает объектно-ориентированную оболочку вокруг этих
низкоуровневых средств. С его помощью решение задачи происходит обычным
путем - программист пишет набор иерархий классов, являющийся абстракцией
предметной области, а Zope берет на себя труд по предоставлению доступа к
экземплярам этих классов.

ПОЛЬЗОВАТЕЛИ Zope

C Zope работают следующие категории пользователей:
** администратор хоста - компилирует и инсталлирует программы и
дополнительные компоненты
** программист - пишет компоненты, то есть классы, на языке Python
** webмастер - расставляет эти компоненты (то есть экземпляры классов) на
сайте, пользуясь менеджерским web-интерфейсом
** администратор сайта - заводит записи о пользователях, создает роли,
ставит их в соответствии друг другу, назначает кому (какой роли) к
каким объектам можно иметь доступ, и какой именно доступ (создание
объекта, редактирование, удаление, просмотр и т.д.)
Это, конечно, не обязательно разные люди - это роли. На маленьком сайте
эти роли может выполнять один человек. Для больших сайтов Zope предоставляет
механизмы делегирования полномочий администраторам участков сайтов,
верстальщикам, редакторам.

КОМПОНЕНТЫ Zope

Zope Core
В "сердце" Zope находится ORB (object request broker), а также
механизмы, обеспечивающие поиск (ZCatalog), безопасность, коллективную
работу и разделение информации. Zope имеет web-интерфейс для
программирования и администрирования.
ZServer
Многопоточный ZServer предоставляет гибкий механизм связи, поддерживая
протоколы HTTP, FTP, XML-RPC, FastCGI и PersistentCGI. Zope может быть
запущен с ZServer, причем можно использовать ZServer совместно с уже
существующим WWW сервером; или же Zope можно запустить из-под существующего
WWW сервера в режиме PCGI (однопоточный сервер PersistentCGI).
Object Database (ZODB)
Объектно-ориентированная база Zope хранит объекты (именно объекты в
смысле Python, то есть сериализованные экземпляры классов); сама ZODB
написана объектно-ориентированно, то есть как набор деревьев классов. В
ZODB можно произвольно менять класс StorageManager - хранилище. Стандартное
хранилище FileStorage хранит данные в файле Data.fs, но можно использовать
альтернативные классы - SQLStorage или BerkeleyStorage. ZODB поддерживает
атомарные операции (транзакции), неограниченный undo (только с