Zope

Zope 2
Логотип программы Zope 2
Скриншот программы Zope 2
Интерфейс управления Zope в окне веб-браузера.
Тип Сервер приложений
Разработчик Zope Corporation
Написана на Python
Операционная система Кроссплатформенный
Первый выпуск 1998 (1998)
Последняя версия 2.13.16 (11 августа 2012 года)
Состояние Active
Лицензия Zope Public License
Сайт archive.today/2013011312…
Логотип Викисклада Медиафайлы на Викискладе
Zope 3
Логотип программы Zope 3
Скриншот программы 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].

Ссылки

Примечания

  1. CGI: Python and Internet Programming Архивировано 2 июля 2012 года.
  2. 1 2 Introduction — BlueBream documentation. Дата обращения: 30 июня 2010. Архивировано из оригинала 22 января 2010 года.
  3. Weitershausen, 2007, p. 10.
  4. ZODB (Zope Object DataBase) Архивировано 22 июля 2012 года.
  5. RelStorage. Дата обращения: 13 июля 2012. Архивировано 26 ноября 2013 года.
  6. ZEO (Zope Enterprise Objects) Архивировано 7 августа 2012 года.
  7. ZServer README.txt Архивировано 29 января 2012 года.
  8. Introduction to ZCatalog. Дата обращения: 27 июля 2012. Архивировано из оригинала 22 декабря 2012 года.
  9. 1 2 Weitershausen, 2007, p. 7.
  10. Baiju M, A Comprehensive Guide to Zope Component Architecture. Дата обращения: 28 июля 2012. Архивировано из оригинала 24 июня 2014 года.
  11. Zope 2 documentation, Basic DTML. Дата обращения: 4 августа 2012. Архивировано из оригинала 23 апреля 2012 года.
  12. Язык программирования Python, Разработка Web-приложений на Интуит.ру. Дата обращения: 28 июля 2012. Архивировано 6 августа 2012 года.
  13. http://docs.zope.org/zope2/zope2book/Security.html Архивная копия от 22 апреля 2012 на Wayback Machine Zope 2 documentation, Users and Security
  14. Zope is very secure — анализ на основе CVE database (http://nvd.nist.gov), Jan Ulrich Hasecke Архивировано 15 июля 2012 года.
  15. Weitershausen, 2007, pp. 389—430.
  16. Zope 2 Documentation, Acquisition. Дата обращения: 28 июля 2012. Архивировано из оригинала 13 июля 2012 года.
  17. Сузи, 2006.

Литература

  • С. Спикльмайр. Zope. Разработка Web-приложений и управление контентом. — М.: ДМК-пресс, 2003. — 464 с. — (Web-технологии: разработка, дизайн и сопровождение web-сайтов). — ISBN 5-94074-189-4. (недоступная ссылка)
  • Philipp Weitershausen. Web Component Development With Zope 3. — Springer, 2007. — ISBN 978-3-540-33807-9.
  • Грегер С. Э. Сервер приложений «Zope». — М.: Горячая линия - Телеком, 2009. — 256 с. — ISBN 978-5-9912-0112-4.
  • Сузи Р. А. Язык программирования Python: Учебное пособие. — М.: Интуит, Бином. Лаборатория знаний, 2006. — 328 с. — ISBN 5-9556-0058-2., Лекция 8: Разработка Web-приложений

Read other articles:

Gary Speed Gary Speed saat menjadi manajer Wales, 2011Informasi pribadiNama lengkap Gary Andrew Speed[1]Tanggal lahir (1969-09-08)8 September 1969[1]Tempat lahir Mancot, WalesTanggal meninggal 27 November 2011(2011-11-27) (umur 42)[2][3]Tempat meninggal Huntington, InggrisTinggi 180 m (590 ft 7 in)Posisi bermain MidfielderKarier junior000?–1988 Leeds UnitedKarier senior*Tahun Tim Tampil (Gol)1988–1996 Leeds United 248 (39)1996–1998 Ev...

 

Pemandangan Karl-Marx-Allee dengan menara ganda Frankfurter Tor terlihat di belakang Bagian barat adimarga ini ditandai dengan Plattenbau (1967) Karl-Marx-Allee adalah adimarga bergaya sosialis yang dibangun oleh Jerman Timur antara tahun 1952 dan 1960 di Berlin Friedrichshain dan Mitte. Namanya diambil dari Karl Marx. Adimarga ini dinamai Stalinallee antara 1949 dan 1961 (sebelumnya Große Frankfurter Straße), dan merupakan proyek bangunan utama dari program rekonstruksi Jerman Timur setela...

 

Kadaverina Nama Nama IUPAC (preferensi) Pentane-1,5-diamine Nama lain 1,5-Diaminopentane Penanda Nomor CAS 462-94-2 Y Model 3D (JSmol) Gambar interaktif 3DMet {{{3DMet}}} Referensi Beilstein 1697256 ChEBI CHEBI:18127 Y ChEMBL ChEMBL119296 Y ChemSpider 13866593 Y DrugBank DB03854 Y Nomor EC Referensi Gmelin 2310 KEGG C01672 Y MeSH Cadaverine PubChem CID 273 Nomor RTECS {{{value}}} UNII L90BEN6OLL Y Nomor UN 2735 CompTox Dashboard (EPA) DTXSID5075448 InChI In...

Buku ibadat harian van Reynegom Halaman pertama buku ibadat harian Katharina dari Kleef, ca. 1440, memuat gambar Katharina berlutut di hadapan Bunda Maria dan Kanak-Kanak Yesus dikelilingi lambang-lambang kebesaran wangsanya. Halaman di sebelahnya memuat bagian awal ofisi singkat Santa Perawan Maria dalam pelaksanaan Matin (ibadat pagi), dihiasi ilustrasi Kabar Gembira kepada Yoakim, gambar pertama dari rangkaian panjang ilustrasi bertema Riwayat Hidup Perawan Maria.[1] Buku ibadat ha...

 

Pour l’article homonyme, voir Jean de Bierbeek. Cet article est une ébauche concernant une localité flamande. Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants. Bierbeek L’église Saint-Hilaire Héraldique Drapeau Administration Pays Belgique Région  Région flamande Communauté  Communauté flamande Province  Province du Brabant flamand Arrondissement Louvain Bourgmestre Johan Vanhulst (CD&am...

 

Academy Awards ke-49TanggalSenin, 28 Maret 1977TempatDorothy Chandler Pavilion, Los AngelesPembawa acaraRichard Pryor, Jane Fonda, Ellen Burstyn, Warren BeattyProduserWilliam FriedkinPengarah acaraMarty PasettaSorotanFilm TerbaikRockyPenghargaan terbanyakAll the President's Men dan Network (4)Nominasi terbanyakNetwork dan Rocky (10)Liputan televisiJaringanABCDurasi3 jam, 38 menit ← ke-48 Academy Awards ke-50 → Academy Awards ke-49 diadakan pada 28 Maret 1977, di Dorothy ...

Radio station in Gardendale–Midland/Odessa, Texas KFZXGardendale, TexasBroadcast areaMidland/Odessa, TexasFrequency102.1 MHzBrandingClassic Rock 102ProgrammingFormatClassic rockOwnershipOwnerICA Communications, I Ltd.(ICA Radio Midland-Odessa Licensee, LLC)Sister stationsKCHX, KCRS-AM/FM, KMRKHistoryFirst air date1983 (as KWES)Former call signsKWES (4/27/81–9/12/89)KMGP (9/12/89–1/06/92)KCDQ (1/06/92–5/13/99)Technical informationFacility ID21419ClassCERP100,000 wattsHAAT300 meters (98...

 

Pour les articles homonymes, voir Toyota Stadium. Stade Toyota (ja)豊田スタジアムGénéralitésNom complet Toyota StadiumAdresse Toyota, JaponConstruction et ouvertureDébut de construction septembre 1997Ouverture 21 juillet 2001Architecte Kisho KurokawaIngénieur ArupCoût de construction 34 milliards ¥UtilisationClubs résidents Nagoya Grampus Toyota VerblitzPropriétaire Ville de ToyotaAdministration Toyota Stadium Co., Ltd.ÉquipementSurface Pelouse naturelleCapacité 45 000...

 

Style of building Buddha statue in Borobudur (Indonesia), the world's largest Buddhist temple. Buddhist religious architecture developed in the Indian subcontinent. Three types of structures are associated with the religious architecture of early Buddhism: monasteries (viharas), places to venerate relics (stupas), and shrines or prayer halls (chaityas, also called chaitya grihas), which later came to be called temples in some places. The initial function of a stupa was the veneration and safe...

† Человек прямоходящий Научная классификация Домен:ЭукариотыЦарство:ЖивотныеПодцарство:ЭуметазоиБез ранга:Двусторонне-симметричныеБез ранга:ВторичноротыеТип:ХордовыеПодтип:ПозвоночныеИнфратип:ЧелюстноротыеНадкласс:ЧетвероногиеКлада:АмниотыКлада:Синапсиды�...

 

US national monument in the Mariana Archipelago Marianas Trench Marine National MonumentIUCN category V (protected landscape/seascape)[1]Marianas Trench Marine National MonumentMariana TrenchLocation of Marianas Trench in the Pacific OceanShow map of Pacific OceanMariana TrenchMariana Trench (Northern Mariana Islands)Show map of Northern Mariana IslandsLocationMariana Archipelago, Commonwealth of the Northern Mariana Islands and GuamNearest cityCapitol Hill, Saipan, Northern Mari...

 

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Lihue, Hawaii – news · newspapers · books · scholar · JSTOR (May 2009) (Learn how and when to remove this message) Census-designated place in Hawaii, United StatesLihue, Hawaii LīhuʻeCensus-designated placeAerial view of LihueLocation in Kauai County and the ...

2020年夏季奥林匹克运动会波兰代表團波兰国旗IOC編碼POLNOC波蘭奧林匹克委員會網站olimpijski.pl(英文)(波兰文)2020年夏季奥林匹克运动会(東京)2021年7月23日至8月8日(受2019冠状病毒病疫情影响推迟,但仍保留原定名称)運動員206參賽項目24个大项旗手开幕式:帕维尔·科热尼奥夫斯基(游泳)和马娅·沃什乔夫斯卡(自行车)[1]闭幕式:卡罗利娜·纳亚(皮划艇)&#...

 

密西西比州 哥伦布城市綽號:Possum Town哥伦布位于密西西比州的位置坐标:33°30′06″N 88°24′54″W / 33.501666666667°N 88.415°W / 33.501666666667; -88.415国家 美國州密西西比州县朗兹县始建于1821年政府 • 市长罗伯特·史密斯 (民主党)面积 • 总计22.3 平方英里(57.8 平方公里) • 陸地21.4 平方英里(55.5 平方公里) • ...

 

Artikel ini sebatang kara, artinya tidak ada artikel lain yang memiliki pranala balik ke halaman ini.Bantulah menambah pranala ke artikel ini dari artikel yang berhubungan atau coba peralatan pencari pranala.Tag ini diberikan pada Januari 2023. Josephine Gates KellyLahirJosephine Gates(1888-01-24)24 Januari 1888Cannon Ball, Dakota Utara, Amerika SerikatMeninggal23 Oktober 1976(1976-10-23) (umur 88)Dikenal atasKetua Suku wanita pertama di Amerika SerikatSuami/istriCovin Kelly ​...

Dean-Charles ChapmanChapman pada 2015Lahir07 September 1997 (umur 26)Essex, InggrisPekerjaanAktorTahun aktif2007–sekarang Dean-Charles Chapman (lahir pada 7 September 1997)[1] adalah seorang aktor teater, film, dan televisi. Chapman terkenal karena perannya sebagai tokoh protagonis, Billy, di Billy Elliot the Musical, Perannya sebagai Stanley di The Revolting World Of Stanley Brown dan perannya sebagai Tommen Baratheon di season ke-4 dan season ke-5 di acara televisi terk...

 

Pour les articles homonymes, voir Lehman. Hugh Lehman Lehman dans l'uniforme des Millionnaires de Vancouver. Données clés Surnom(s) Old Eagle Eyes[1] Nationalité Canada Naissance 27 octobre 1885, Pembroke (Canada) Décès 8 avril 1961, Toronto (Canada) Entraîneur chef décédé A entraîné Black Hawks de Chicago (LNH)Flying Dutchmen de Kitchener (Can-Pro) Activité 1927-1929 Joueur décédé Position Gardien de but Attrapait de la gauche A joué pour Royals de New Westminster (PCHA)Mill...

 

Indo-Aryan language spoken in Bangladesh and India SylhetiSilôṭiꠍꠤꠟꠐꠤসিলেটিThe word Silôṭi in the Sylheti Nagri scriptPronunciation[silɔʈi]Native toBangladesh and IndiaRegionSylhet Division and Barak Valley[1]EthnicitySylhetis[2][3][4]Native speakersL1: 10 million (2003–2017)[5]L2: 1.5 million (no date)[5]Language familyIndo-European Indo-IranianIndo-AryanEasternBengali–AssameseSylhetiEarly for...

Indian politician Ranvendra Pratap SinghMinister of state in Food, Civil Supplies & Consumer AffairsGovernment of Uttar PradeshIn office21 August 2019 – 25 March 2022Chief MinisterYogi AdityanathMinister of state in AgricultureGovernment of Uttar PradeshIn office19 March 2017 – 21 August 2019Chief MinisterYogi AdityanathMinisterSurya Pratap ShahiMember of Uttar Pradesh Legislative AssemblyIn office2017–2022Preceded byMohammed AsifSucceeded byUsha MauryaConstituency...

 

Battle of the Yemeni Revolution Battle of SaadaPart of the Houthi insurgency in Yemen and the Yemeni RevolutionAnti-government protests in Saada city, March 2011Date19–26 March 2011(1 week)LocationSaada city, YemenResult Decisive Houthi victoryTerritorialchanges Houthis take control of Sa'dah governorateBelligerents Yemeni government Al Abdin tribes Security forces Houthis Army defectors Anti-government protestersCommanders and leaders Taha Hajer Uthman Mujalli Abu Ali Abdullah al-Haki...