"Олег Бройтман. Zope - The Object Publishing Environment" - читать интересную книгу автораПОЧЕМУ Zope
Протоколы WWW (HTTP, CGI и т.д.) часто неадекватны задачам и могут делать публикацию динамических данных неоправданно сложной. Их низкий уровень недостаточен для непосредственного создания многих классов web-приложений на их основе. Zope создает объектно-ориентированную оболочку вокруг этих низкоуровневых средств. С его помощью решение задачи происходит обычным путем - программист пишет набор иерархий классов, являющийся абстракцией предметной области, а Zope берет на себя труд по предоставлению доступа к экземплярам этих классов. ПОЛЬЗОВАТЕЛИ Zope C Zope работают следующие категории пользователей: ** администратор хоста - компилирует и инсталлирует программы и дополнительные компоненты ** программист - пишет компоненты, то есть классы, на языке Python ** webмастер - расставляет эти компоненты (то есть экземпляры классов) на сайте, пользуясь менеджерским web-интерфейсом ** администратор сайта - заводит записи о пользователях, создает роли, ставит их в соответствии друг другу, назначает кому (какой роли) к каким объектам можно иметь доступ, и какой именно доступ (создание объекта, редактирование, удаление, просмотр и т.д.) Это, конечно, не обязательно разные люди - это роли. На маленьком сайте механизмы делегирования полномочий администраторам участков сайтов, верстальщикам, редакторам. КОМПОНЕНТЫ 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 (только с |
|
|