[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