<dtml-var standard_html_header>

<h2><dtml-var title_or_id></h2>

<p>Перевод статьи <a href="http://www.zope.org/ZopeArchitecture">ZopeArchitecture</a>
выполнен <a href="http://phdru.name/">Олегом Бройтманом</a> и
<a href="mailto:dima@interbit.ru">Дмитрием Ишуткиным</a>
</p>

<p>Гибкая компонентная архитектура Zope позволяет создавать решения для самых
разнообразных проблем. Zope состоит из компонент, которые совместно создают
web-архитектуру.
</p>

<h3>Диаграмма архитектуры Zope</h3>

<img src="zopearchitecture_rus.gif" width="563" height="569" alt=""> 

<h3>Компоненты Zope</h3>

<h4>Zope Core</h4>
<p>В "сердце" Zope находится ORB (object request broker), а также механизмы,
обеспечивающие поиск (ZCatalog), безопасность, коллективную работу и
разделение информации.
</p>

<h4>ZServer</h4>
<p>ZServer предоставляет гибкий механизм связи, поддерживая протоколы HTTP,
FTP, XML-RPC, FastCGI и PersistentCGI. Zope может быть запущен с ZServer,
причем можно использовать ZServer совместно с уже существующим WWW сервером;
или же Zope можно запустить из-под существующего WWW сервера в режиме PCGI
(однопоточный сервер PersistentCGI).
</p>

<h4>Object Database (ZODB)</h4>
<p>Объектно-ориентированная база Zope хранит объекты (именно объекты в смысле
Zope, то есть сериализованные экземпляры классов); сама ZODB написана
объектно-ориентированно, то есть как набор деревьев классов. В ZODB можно
произвольно менять класс StorageManager - хранилище. Стандартное хранилище
FileStorage хранит данные в файле Data.fs, но можно использовать альтернативные
классы - SQLStorage или BerkeleyStorage. ZODB поддерживает атомарные операции
(транзакции), неограниченный undo (только с хранилищем FileStorage), приватные
Версии, и масштабируется до гигабайтов хранимых данных. Отдельный механизм ZEO
(Zope Enterprise Option) позволяет повысить надежность и масштабируемость
путем кластеризации.
</p>

<h4>Интеграция с реляционными СУБД</h4>
<p>Zope имеет уровень абстракции ZSQL, позволяющий легко интегрировать систему
с SQL серверами, будь то Oracle, PostgreSQL, MySQL или ODBC.
</p>

<h4>Продукты Zope</h4>
<p>Продукты - компоненты, написанные программистом на Питоне - позволяют
дополнять Zope новыми типами объектов. Например, компонент
(назовем его условно Poll) для создании на сайте голосовалок.
</p>

<h4>ZClasses</h4>
<p>Z-Классы - это механизм программирования "мышкой", программирование без
программирования. Z-Классы не требуют знания программирования, и в то же время
позволяют создавать новые типы данных через web. Созданные программистом
Z-Классы легко распространяются и устанавливаются.
</p>

<dtml-var standard_html_footer>