Zope

Zope
Zope 2
Zope-screenshot.png
Интерфейс управления Zope в окне веб-браузера.
Тип

Сервер приложений

Разработчик

Zope Corporation

Написана на

Python

Операционная система

Кроссплатформенный

Первый выпуск

1998 (1998)

Последняя версия

2.13.16 (11 августа 2012 года)

Состояние

Active

Лицензия

Zope Public License

Сайт

zope2.zope.org/

Zope 3
Тип

Сервер приложений

Разработчик

Zope Corporation

Написана на

Python

Операционная система

Кроссплатформенный

Первый выпуск

2004 (2004)

Последняя версия

3.4.1 (22 июня 2010 года)

Состояние

Active

Лицензия

Zope Public License

Сайт

zope.org

Zope (англ. Zope Object Publishing Environment, среда публикации объектов Zope, произносится [зо́уп]) — объектно-ориентированный сервер приложений, написанный на языке программирования Python. Zope разрабатывается на основе собственной Open Source лицензии ZPL.

Zope (точнее, Zope2) обычно применяется в качестве системы управления содержимым (CMS). Для этих целей был создан программный каркас CMF (англ. Content Management Framework) — набор библиотек для создания систем публикаций под Zope. В свою очередь на основе CMF была создана система публикаций Plone.

Содержание

История

В 1996 году Джим Фултон, в то время технический директор Digital Creations, на конференции International Python Conference (IPC) сделал презентацию по теме CGI: «Python and Internet Programming»[1]. Джим, считая CGI очень далёким от совершенства, придумал новый путь для программирование на Python для сети Интернет[2].

В 1998 году Digital Creations объединила системы Bobo и Principia под маркой Zope и опубликовала их исходный код под лицензией ZPL. Zope 2.0 был выпущен в 1999 году[3].

В конце 2005 года был выпущен Zope3. Это полностью переработанная версия Zope, которая разрабатывалась на протяжении нескольких лет, и при её разработке учитывался опыт использования Zope2. С выходом Zope3 разработчики получили мощный сервер приложений, с помощью которого стало возможным разрабатывать не только CMS, но и более сложные системы, в частности системы автоматизации бизнес-процессов и документооборота. В январе 2010 года Zope3 был переименован в BlueBream[2].

Технологии и свойства

Объектная база данных ZODB

Для долговременно сохраняемых (англ. persistent) объектов в Zope традиционно используется объектная база данных ZODB[4], хотя ничто не мешает использовать и другие средства, например, файловую систему или реляционную базу данных. Да и сама ZODB может использовать в качестве back-end реляционную базу данных при помощи RelStorage[5]. Кроме того, несколько экземпляров (англ. instance) Zope могут работать с одной ZODB посредством ZEO[6].

ZServer

ZServer является интеграцией сервера приложений Zope с сервером Medusa. ZServer даёт HTTP, FTP, WebDAV, PCGI и удалённый интерактивный доступ Python[7].

Каталог объектов ZCatalog

Для удовлетворения поисковых запросов к объектной базе данных в Zope 2 применяется ZCatalog. В ZCatalog-объекте хранятся индексы (англ. index) и метаданные (англ. metadata). Индексы являются данными, по которым ищут содержимое, а метаданные — копии некоторых полей индексируемых объектов, которые могут быть прочитаны без извлечения самого объекта из базы данных. Результатом поиска является последовательность элементов, называемых брэйнами (от англ. brain — «мозг»). Брэйны действуют по принципу ленивых вычислений, так как они создаются «на лету», по мере потребеления результата запроса, и не «будят» настоящие исходные объекты из базы данных[8].

Компонентная архитектура ZCA

Zope 3 является набором программных компонентов. Компоненты являются объектами с чётко определённой функциональностью и ответственностью, зафиксированной в описаниях интерфейсов. Разработанные в рамках Zope технологии компонентной архитектуры zope.component, zope.interface, zope.event в силу своей обобщённости могут применяться в других программных системах на Python[9][10].

Система шаблонов для HTML/XML

Для разработки веб-приложений одной из основных задач является генерация кода на языках разметки, используемых в WWW. Zope использует для этой цели DTML (англ. Document Template Markup Language) и ZPT (англ. Zope Page Templates). DTML не рекомендуется использовать в новом коде[11]. ZPT основан на XML и состоит из трёх документированных частей[12]:

  • Язык шаблонных атрибутов (Template Attribute Language — TAL (англ.)),
  • Синтаксис выражений TAL (Template Attribute Language Expression Syntax — TALES (англ.)),
  • Макрорасширение TAL (Macro Expansion Template Attribute Language — METAL (англ.)).

Работа с веб-формами

Веб-приложения часто нуждаются в обработке данных, вводимых пользователем, а построенные на основе веб-технологий системы управления содержимым обычно поддерживают редактирование контента через веб (TTW, англ. through-the-web). Для обработки форм Zope 3 предлагает пакеты zope.formlib в сочетании с пакетом для описания схемы данных zope.schema.[9]

Разграничение прав доступа

В процессе обработки запроса происходит идентификация и аутентификация пользователя. Права доступа пользователей Zope 2 предоставляются им на основе правил защиты (security policy, "политика безопасности"). Для авторизации пользователя при доступу к некоторому ресурсу выявляется его роль (англ. role) и проверяется, имеется ли у данной роли разрешение (англ. permission) на доступ к ресурсу. Такая система позволяет описывать достаточно тонкие (англ. fine-grained) права доступа и делает Zope сравнительно безопасным[13][14]. В Zope 3 предлагаются механизмы аутентификации PAU (англ. Pluggable Authentication Utility - встраиваемая поддержка аутентификации) и авторизации zope.security[15].

Заимствование (acquisition)

Заимствование (англ. acquisition) — интересный и достаточно уникальный подход к построению взаимоотношений между объектами, состоящий в совместном использовании поведения на основе отношения вложенности объектов[16]. Заимствование обеспечивает доступ к объектам вышележащих уровней в иерархии обращением к объекту более глубокого уровня. Например, если некоторый объект (документ, изображение, файл и т. п.) расположен в некоторый папке, то он доступен по имени из любых нижележащих папок. Заимствование является одним из важнейших свойств Zope, которое позволяет создавать более простые и наглядные решения, но требует грамотного обращения[17].

Ссылки

Примечания

Литература



Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Полезное


Смотреть что такое "Zope" в других словарях:

  • Zope — est un serveur d application web orienté objet, libre, écrit en langage de programmation Python et gérable à partir d une interface Web. Zope publie sur le réseau des objets Python enregistrés dans une base de données objet, ZODB. Des types d… …   Wikipédia en Français

  • Zope 3 — is the new generation of the popular Zope web application server, rewritten from scratch with a component architecture and which has evolved into a large library of reusable Python components. The first production release of the software, Zope X3 …   Wikipedia

  • Zope — 2 Zope management interface en la ventana de un navegador Web. Desarrollador Zope Corporation …   Wikipedia Español

  • Zope — m. *Aura (ave rapaz). * * * zope. m. Am. Cen. y Col. aura2. || 2. El Salv. vómito. || amarrar el zope …   Enciclopedia Universal

  • zope — 1. m. Am. Cen. y Col. aura2. 2. El Salv. vómito. amarrar el zope. fr. Hond. vomitar (ǁ lo contenido en el estómago). amarrar zope. fr. Guat. vomitar (ǁ lo contenido en el estómago) …   Diccionario de la lengua española

  • Zope — ope, n. [G.] (Zo[ o]l.) A European fresh water bream ({Abramis ballerus}). [1913 Webster] …   The Collaborative International Dictionary of English

  • Zope — Zope, 1) (Schwuppe, Dünneke, Cyprinus ballerus, Abramis b.), Art aus der Fischgattung Karpfen, hat kleinen, stumpfen Kopf, dünnen, breiten Leib, lange Afterflosse mit 21 Strahlen, wiegt bis drei Pfund, lebt in der Ostsee, hat sehr grätiges… …   Pierer's Universal-Lexikon

  • Zope — Zope, Fisch, s. Brasse …   Meyers Großes Konversations-Lexikon

  • Zope — Zope, s. Brachsen …   Kleines Konversations-Lexikon

  • Zope — Infobox Software name = Zope caption = Zope management interface in a web browser window. collapsible = yes developer = Zope Corporation status = Active latest release version = 3.3.1 latest release date = release date|2007|01|14 latest preview… …   Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»