[Uneex] Что нового в ZOPE3 и о чем хотелось бы поговорить

Andrey Orlov cray_uneex на neural.ru
Пт Дек 8 19:14:19 MSK 2006


Hi!

Новый тред. Потому как хотелось бы что бы обратили внимание все.

Что же нового в Zope3? Ответ очень прост: ВСЕ. Zope3 полностью переписан и его 
архитектура серьезно изменилась. В то же время, основная идея осталась та же:

Некий http сервер, интегрированный с базой данных (ZODB), в которой под 
запросы активируются объекты, которые и взаимодействуют с пользователем.

Теперь подробнее:

1. ZODB - прекрасная база данных. Не реляционная. 10000000 объектов 
 я в ней не сохранял, а вот до 50000-100000 доходило. Больше не было
 ни необходимости, ни желания проверять: зная архитектуру zodb я осмелюсь
 предположить, что 100000000 объектов разместятся в ней без особых проблем.
 Производительность этой базы данных не зависит от числа хранимых объектов, а 
 зависит  от параметров нагрузки: важен параметр частота активации уникальных
 объектов. Это позволяет дать рекомендации по ее использованию, что заняло бы
 не одну и не две страницы, так что мы этим  заниматься не будем.


2. Веб-сервер. Типа twisted теперь. И, как вы понимаете, теперь zope (в 
теории)  может быть всем, чем может быть twisted (например, imap-сервером). 
Но, об этом мы тоже не будем говорить.

3. Разрботка под Zope3. Существует стандартный процесс Zope3 разработки :), 
подробно расписан на сайте Zope3, например тут: 
http://wiki.zope.org/zope3/Zope3DeveloperInfo, впрочем не только. Для тех 
кому интересен этот вопрос - стандартный процесс подразумевает что все 
продукты, включая темплейты, хранятся в SVN (CVS как вы понимаете ушел в 
прошлое, и упоминался в других письмах потому, что описываемые события тоже 
были в прошлом). В принципе, Роб (ну, те кто знает, кто это, тот знает,а кто 
не знает, тому он все равно не авторитет), пару лет назад на все попытки 
обсудить с ним вопросы  типа "как организовать разработку под Zope2" отвечал: 
"Переходите на Zope3".

4. Темплейты в ZODB. Создавать можно. При желании. Какой в этом смысл, на 
сегодняшний день, я не знаю. Так как вся логика ZOPE3 предполагает, что коды 
лежат на диске. Видимо, это для отдельных категорий извращенцев (хи-хи), хотя
конечно, проблема кодов в ZODB никуда не ушла, хотя и стала больше похожа на 
обычные проблемы базы данных, и, конечно, этому можно уделить время. Тем 
более, что сегодняшние торчащие сбоку темплейты в zodb легко интегрировать в 
логику Zope3: это никто не сделал, но все знают как это сделать. Может быть,
это задел на будущее.

5. Компонентная модель. В Zope появилась компонентная модель. Она плохая, 
кривая, плохо продуманная и вообще мне ее реализация не нравится. Равно как
и то, что саму архитектуру именно этого варианта компонентной модели я считаю 
невообразимо кривой. И в то же время, это настолько большой шаг вперед,
что все вышесказанное можно простить. В Zope3 __ВСЕ__ делается через
компонентную модель. Сделать иначе можно (см. выше про извращенцев),
но не нужно. Про компонентную модель в Zope3 и что она дает я готов 
рассказывать бесконечно. Равно как и про то, что в ней мне не нравиться.
А еще хотелось бы самому послушать других людей, которым слова "компонентная 
модель" знакомы вне контекста Zope3. Что бы, как вы понимаете, сравнить.

Так что в плане предполагаемого семинара по Zope3 у меня есть две идеи:

1. Просто рассказать как теперь пишется продукт под Zope3, не вдаваясь в 
теоретические подробности компонентной модели. 

2. Устроить большую полемику на тему что такое компонентная модель (на примере 
Zope3), как с ее помощью решать разные задачи (на примере Zope3), и какой она 
должна (могла)  бы быть (на примере чего угодно).

Вот, у мя вопрос к организаторам да и к аудитории: что бы вы больше хотели 
услышать?

-- 
---
WthBstRgrds --
-- Andrey Orlov 
--- + 7 926 222 99 63 -----



Подробная информация о списке рассылки Uneex