Zope — об'єктно-орієнтований прикладний сервер застосунків, написаний на мові програмування Python. Zope підтримує Об'єкт «Z Object Publishing Environment.»
Тип | Вебсервер |
---|---|
Розробник | d |
Стабільний випуск | 2.11.4 (6 липня 2009) |
Операційна система | декілька |
Мова програмування | Python |
Ліцензія | Zope Public License (ZPL) |
Вебсайт | www.zope.org |
|
Часто Zope (точніше Zope2) застосовується як система управління вмістом (CMS). Але для цих цілей був створений програмний каркас CMF (англ. Content Management Framework) — набір бібліотек для створення систем публікацій під Zope. На основі CMF була створена система публікацій Plone.
В кінці 2005 року був випущений Zope3. Це повністю перероблена версія Zope, яка розроблялася впродовж декількох років і при її розробці враховувався досвід використання Zope2.
З виходом Zope3, розробники отримали могутній сервер застосунків, за допомогою якого стало можливим розробляти не тільки CMS, але і складніші системи, зокрема системи автоматизації бізнес-процесів і документообігу.
Історія
Zope Corporation була заснована у 1995 у Фредеріксбургу, штат Вірджинія під назвою Digital Creations, як спільне підприємство з InfiNet (мережа газет). Компанія розробила систему приватних оголошень для інтернет. В 1997 компанія стала незалежною та приватною. Інженерами керував Джим Фултон - головний технічний директор. Компанія PythonLabs, розробники мови Python, стали частиною компанії в 2000. Творець мови Python Гвідо ван Россум покинув Zope Corp в 2003.
Технології та властивості
Об'єктна база даних ZODB
Для об’єктів що зберігаються (англ. persistent) в Zope традиційно використовується об'єктна база даних , хоча ніщо не заважає використовувати й інші засоби, наприклад, файлову систему або реляційну базу даних. Та й сама ZODB може використовувати як back-end реляційну базу даних за допомогою RelStorage. Крім того, кілька екземплярів (англ. instance) Zope можуть працювати з однією ZODB допомогою .
ZServer
ZServer є інтеграцією сервера додатків Zope з сервером Medusa. ZServer дає HTTP, FTP, WebDAV, і віддалений інтерактивний доступ Python.
Каталог об'єктів ZCatalog
Для задоволення пошукових запитів до об'єктної базі даних в Zope 2 застосовується ZCatalog. В ZCatalog-об'єкті зберігаються індекси (англ. index) та метадані (англ. metadata). Індекси є даними, за якими шукають вміст, а метадані — копії деяких полів індексованих об'єктів, які можуть бути прочитані без отримання самого об'єкта з бази даних. Результатом пошуку є послідовність елементів, які називаються "brains" (англ. brain — «мозок»). Брейни діють за принципом лінивих обчислень, оскільки вони створюються «На льоту», у міру споживання результату запиту, і не «тягнуть» справжні вихідні об'єкти з бази даних.
Компонентна архітектура ZCA
Zope 3 є набором . Компоненти є об'єктами з чітко визначеною функціональністю та відповідальністю, зафіксованої в описах інтерфейсів. Розроблені в рамках Zope технології компонентної архітектури zope.component
, zope.interface
, zope.event
в силу своєї узагальненості можуть застосовуватися в інших програмних системах на Python.
Система шаблонів для HTML/XML
Для розробки вебзастосунків одним з основних завдань є генерація коду на мовах розмітки, що використовуються в WWW. Zope використовує для цієї мети (англ. Document Template Markup Language) і (англ. Zope Page Templates). DTML не рекомендується використовувати в новому коді. ZPT ґрунтується на XML і складається з трьох документованих частин:
- Мова атрибутів шаблонів (Template Attribute Language — [en]),
- Синтаксис виразів TAL (Template Attribute Language Expression Syntax — [en]),
- макророзширення TAL (Macro Expansion Template Attribute Language — [en]).
Робота з вебформами
Вебзастосунки часто потребують обробки даних, що вводяться користувачем, а побудовані на основі вебтехнологій системи керування вмістом зазвичай підтримують редагування контенту через веб (TTW, англ. through-the-web). Для обробки форм Zope 3 пропонує пакети zope.formlib
в поєднанні з пакетом для опису схеми даних zope.schema
.
Розмежування прав доступу
В процесі обробки запиту відбувається ідентифікація та аутентифікація користувача.
Права доступу користувачів Zope 2 надаються їм на основі правил захисту (security policy, "політика безпеки"). Для авторизації користувача при доступі до деякого ресурсу з’ясовується його роль (англ. role) та перевіряється, чи є у цієї ролі дозвіл (англ. permission) на доступ до ресурсу. Така система дозволяє описувати достатньо тонкі (англ. fine-grained) права доступу та робить Zope порівняно безпечним. В Zope 3 пропонуються механізми аутентифікації PAU (англ. Pluggable Authentication Utility — вбудовується підтримка аутентифікації) та авторизації zope.security
.
Запозичення (acquisition)
Запозичення (англ. acquisition) — цікавий та достатньо унікальний підхід до побудови взаємовідносин між об'єктами, що складається в спільному використанні поведінки на основі відношення вкладеності об'єктів. Запозичення забезпечує доступ до об'єктів вищих рівнів в ієрархії зверненням до об'єкта більш глибокого рівня. Наприклад, якщо деякий об'єкт (документ, зображення, файл, тощо.) розташований в деякий папці, то він доступний на ім'я з будь-яких папок нижче.
Див. також
Посилання
- Офіційний сайт
- Who cares about zope? [ 16 січня 2013 у Wayback Machine.] - Martijn Faassen 2011/06/07 (коротка історія Zope, та його впливу на розвиток Python та інших фреймворків.)
- Zope: Quick and Simple [ 25 жовтня 2013 у Wayback Machine.] - Linux Productivity Magazine, Листопад 2002
- Guido van Rossum Leaves Zope.com
- . Архів оригіналу за 22 липня 2012. Процитовано 13 червня 2014.
- . Архів оригіналу за 26 листопада 2013. Процитовано 13 червня 2014.
- . Архів оригіналу за 7 серпня 2012. Процитовано 13 червня 2014.
- . Архів оригіналу за 29 січня 2012. Процитовано 13 червня 2014.
- . Архів оригіналу за 22 грудня 2012. Процитовано 13 червня 2014.
- Weitershausen, 2007, с. 7.
- . Архів оригіналу за 24 червня 2014. Процитовано 13 червня 2014.
- Трактат про Zope Component Architecture [ 23 грудня 2014 у Wayback Machine.] - Блог одного кібера
- . Архів оригіналу за 23 квітня 2012. Процитовано 13 червня 2014.
- http://docs.zope.org/zope2/zope2book/Security.html [ 22 квітня 2012 у Wayback Machine.] Zope 2 documentation, Users and Security
- . Архів оригіналу за 15 липня 2012. Процитовано 13 червня 2014.
- Weitershausen, 2007, с. 389—430.
- . Архів оригіналу за 13 липня 2012. Процитовано 13 червня 2014.
Це незавершена стаття про програмне забезпечення. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Zope ob yektno oriyentovanij prikladnij server zastosunkiv napisanij na movi programuvannya Python Zope pidtrimuye Ob yekt Z Object Publishing Environment ZopeTipVebserverRozrobnikdStabilnij vipusk2 11 4 6 lipnya 2009 Operacijna sistemadekilkaMova programuvannyaPythonLicenziyaZope Public License ZPL Vebsajtwww zope org Mediafajli u Vikishovishi Chasto Zope tochnishe Zope2 zastosovuyetsya yak sistema upravlinnya vmistom CMS Ale dlya cih cilej buv stvorenij programnij karkas CMF angl Content Management Framework nabir bibliotek dlya stvorennya sistem publikacij pid Zope Na osnovi CMF bula stvorena sistema publikacij Plone V kinci 2005 roku buv vipushenij Zope3 Ce povnistyu pereroblena versiya Zope yaka rozroblyalasya vprodovzh dekilkoh rokiv i pri yiyi rozrobci vrahovuvavsya dosvid vikoristannya Zope2 Z vihodom Zope3 rozrobniki otrimali mogutnij server zastosunkiv za dopomogoyu yakogo stalo mozhlivim rozroblyati ne tilki CMS ale i skladnishi sistemi zokrema sistemi avtomatizaciyi biznes procesiv i dokumentoobigu Znimok vikna brauzera z vidkritoyu administrativnoyu panellyuIstoriyaZope Corporation bula zasnovana u 1995 u Frederiksburgu shtat Virdzhiniya pid nazvoyu Digital Creations yak spilne pidpriyemstvo z InfiNet merezha gazet Kompaniya rozrobila sistemu privatnih ogoloshen dlya internet V 1997 kompaniya stala nezalezhnoyu ta privatnoyu Inzhenerami keruvav Dzhim Fulton golovnij tehnichnij direktor Kompaniya PythonLabs rozrobniki movi Python stali chastinoyu kompaniyi v 2000 Tvorec movi Python Gvido van Rossum pokinuv Zope Corp v 2003 Tehnologiyi ta vlastivostiOb yektna baza danih ZODB Dokladnishe Dlya ob yektiv sho zberigayutsya angl persistent v Zope tradicijno vikoristovuyetsya ob yektna baza danih hocha nisho ne zavazhaye vikoristovuvati j inshi zasobi napriklad fajlovu sistemu abo relyacijnu bazu danih Ta j sama ZODB mozhe vikoristovuvati yak back end relyacijnu bazu danih za dopomogoyu RelStorage Krim togo kilka ekzemplyariv angl instance Zope mozhut pracyuvati z odniyeyu ZODB dopomogoyu ZServer ZServer ye integraciyeyu servera dodatkiv Zope z serverom Medusa ZServer daye HTTP FTP WebDAV i viddalenij interaktivnij dostup Python Katalog ob yektiv ZCatalog Dlya zadovolennya poshukovih zapitiv do ob yektnoyi bazi danih v Zope 2 zastosovuyetsya ZCatalog V ZCatalog ob yekti zberigayutsya indeksi angl index ta metadani angl metadata Indeksi ye danimi za yakimi shukayut vmist a metadani kopiyi deyakih poliv indeksovanih ob yektiv yaki mozhut buti prochitani bez otrimannya samogo ob yekta z bazi danih Rezultatom poshuku ye poslidovnist elementiv yaki nazivayutsya brains angl brain mozok Brejni diyut za principom linivih obchislen oskilki voni stvoryuyutsya Na lotu u miru spozhivannya rezultatu zapitu i ne tyagnut spravzhni vihidni ob yekti z bazi danih Komponentna arhitektura ZCA Zope 3 ye naborom Komponenti ye ob yektami z chitko viznachenoyu funkcionalnistyu ta vidpovidalnistyu zafiksovanoyi v opisah interfejsiv Rozrobleni v ramkah Zope tehnologiyi komponentnoyi arhitekturi zope component zope interface zope event v silu svoyeyi uzagalnenosti mozhut zastosovuvatisya v inshih programnih sistemah na Python Sistema shabloniv dlya HTML XML Dlya rozrobki vebzastosunkiv odnim z osnovnih zavdan ye generaciya kodu na movah rozmitki sho vikoristovuyutsya v WWW Zope vikoristovuye dlya ciyeyi meti angl Document Template Markup Language i angl Zope Page Templates DTML ne rekomenduyetsya vikoristovuvati v novomu kodi ZPT gruntuyetsya na XML i skladayetsya z troh dokumentovanih chastin Mova atributiv shabloniv Template Attribute Language en Sintaksis viraziv TAL Template Attribute Language Expression Syntax en makrorozshirennya TAL Macro Expansion Template Attribute Language en Robota z vebformami Vebzastosunki chasto potrebuyut obrobki danih sho vvodyatsya koristuvachem a pobudovani na osnovi vebtehnologij sistemi keruvannya vmistom zazvichaj pidtrimuyut redaguvannya kontentu cherez veb TTW angl through the web Dlya obrobki form Zope 3 proponuye paketi zope formlib v poyednanni z paketom dlya opisu shemi danih zope schema Rozmezhuvannya prav dostupu V procesi obrobki zapitu vidbuvayetsya identifikaciya ta autentifikaciya koristuvacha Prava dostupu koristuvachiv Zope 2 nadayutsya yim na osnovi pravil zahistu security policy politika bezpeki Dlya avtorizaciyi koristuvacha pri dostupi do deyakogo resursu z yasovuyetsya jogo rol angl role ta pereviryayetsya chi ye u ciyeyi roli dozvil angl permission na dostup do resursu Taka sistema dozvolyaye opisuvati dostatno tonki angl fine grained prava dostupu ta robit Zope porivnyano bezpechnim V Zope 3 proponuyutsya mehanizmi autentifikaciyi PAU angl Pluggable Authentication Utility vbudovuyetsya pidtrimka autentifikaciyi ta avtorizaciyi zope security Zapozichennya acquisition Zapozichennya angl acquisition cikavij ta dostatno unikalnij pidhid do pobudovi vzayemovidnosin mizh ob yektami sho skladayetsya v spilnomu vikoristanni povedinki na osnovi vidnoshennya vkladenosti ob yektiv Zapozichennya zabezpechuye dostup do ob yektiv vishih rivniv v iyerarhiyi zvernennyam do ob yekta bilsh glibokogo rivnya Napriklad yaksho deyakij ob yekt dokument zobrazhennya fajl tosho roztashovanij v deyakij papci to vin dostupnij na im ya z bud yakih papok nizhche Div takozhServer zastosunkiv PlonePosilannyaOficijnij sajt Who cares about zope 16 sichnya 2013 u Wayback Machine Martijn Faassen 2011 06 07 korotka istoriya Zope ta jogo vplivu na rozvitok Python ta inshih frejmvorkiv Zope Quick and Simple 25 zhovtnya 2013 u Wayback Machine Linux Productivity Magazine Listopad 2002 Guido van Rossum Leaves Zope com Arhiv originalu za 22 lipnya 2012 Procitovano 13 chervnya 2014 Arhiv originalu za 26 listopada 2013 Procitovano 13 chervnya 2014 Arhiv originalu za 7 serpnya 2012 Procitovano 13 chervnya 2014 Arhiv originalu za 29 sichnya 2012 Procitovano 13 chervnya 2014 Arhiv originalu za 22 grudnya 2012 Procitovano 13 chervnya 2014 Weitershausen 2007 s 7 Arhiv originalu za 24 chervnya 2014 Procitovano 13 chervnya 2014 Traktat pro Zope Component Architecture 23 grudnya 2014 u Wayback Machine Blog odnogo kibera Arhiv originalu za 23 kvitnya 2012 Procitovano 13 chervnya 2014 http docs zope org zope2 zope2book Security html 22 kvitnya 2012 u Wayback Machine Zope 2 documentation Users and Security Arhiv originalu za 15 lipnya 2012 Procitovano 13 chervnya 2014 Weitershausen 2007 s 389 430 Arhiv originalu za 13 lipnya 2012 Procitovano 13 chervnya 2014 Ce nezavershena stattya pro programne zabezpechennya Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi