Zope 2 | |
---|---|
Ovládací rozhraní Zope v okně webového prohlížeče. | |
Typ | Server aplikací |
Vývojář | Zope Corporation |
Zapsáno v | Krajta |
Operační systém | Křížová platforma |
První vydání | 1998 |
Nejnovější verze | 2.13.16 ( 11. srpna 2012 ) |
Stát | Aktivní |
Licence | Zope Public License |
webová stránka | archive.is/2013011312401… |
Mediální soubory na Wikimedia Commons |
Zope 3 | |
---|---|
Typ | Server aplikací |
Vývojář | Zope Corporation |
Zapsáno v | Krajta |
Operační systém | Křížová platforma |
První vydání | 2004 |
Nejnovější verze | 3.4.1 ( 22. června 2010 ) |
Stát | Aktivní |
Licence | Zope Public License |
webová stránka | zoope.org |
Mediální soubory na Wikimedia Commons |
Zope ( anglicky Zope O bject Publishing Environment , Zope object publishing environment , vyslovováno [zoup]) je objektově orientovaný aplikační server napsaný v programovacím jazyce Python . Zope je vyvíjen pod vlastní licencí Open Source ZPL .
Zope (přesněji Zope2) se běžně používá jako systém pro správu obsahu ( CMS ). Pro tyto účely byl vytvořen softwarový framework CMF ( anglicky Content Management Framework ) - sada knihoven pro tvorbu publikačních systémů pro Zope. Publikační systém Plone byl vytvořen na základě CMF .
V roce 1996 Jim Fulton , tehdejší CTO of Digital Creations , přednesl na International Python Conference (IPC) prezentaci na téma CGI : "Python and Internet Programming" [1] . Jim, který považoval CGI za velmi daleko od dokonalosti, přišel s novým způsobem programování v Pythonu pro web [2] .
V roce 1998 společnost Digital Creations sloučila systémy Bobo a Principia pod značku Zope a vydala jejich zdrojový kód pod ZPL. Zope 2.0 byla vydána v roce 1999 [3] .
Zope3 byl propuštěn na konci roku 2005. Jedná se o zcela přepracovanou verzi Zope, která se vyvíjela několik let a při jejím vývoji byly zohledněny zkušenosti s používáním Zope2. S vydáním Zope3 dostali vývojáři výkonný aplikační server, s jehož pomocí bylo možné vyvíjet nejen CMS, ale i složitější systémy, zejména systémy pro automatizaci obchodních procesů a pracovních postupů. V lednu 2010 byl Zope3 přejmenován na BlueBream [2] .
Pro persistentní objekty Zope tradičně používá objektovou databázi ZODB [4] , i když nic nebrání použití jiných prostředků, jako je souborový systém nebo relační databáze. Ano, a samotný ZODB může používat relační databázi jako back-end pomocí RelStorage [5] . Navíc více instancí Zope může pracovat s jednou ZODB přes ZEO [6] .
ZServer je integrací aplikačního serveru Zope se serverem Medusa . ZServer poskytuje vzdálený interaktivní přístup HTTP , FTP , WebDAV , PCGI a Python [7] .
Zope 2 používá ZCatalog k uspokojení prohledávání databází objektů. Objekt ZCatalog ukládá indexy ( anglicky index ) a metadata ( anglicky metadata ). Indexy jsou data, která vyhledává obsah, a metadata jsou kopie některých polí indexovaných objektů, které lze číst bez načítání samotného objektu z databáze. Výsledkem hledání je posloupnost prvků zvaných mozky (z anglického brain – „mozek“). Mozky fungují na principu líného vyhodnocování , protože jsou vytvářeny za běhu, protože je spotřebován výsledek dotazu, a „neprobudí“ skutečné zdrojové objekty z databáze [8] .
Zope 3 je sbírka softwarových komponent . Komponenty jsou objekty s dobře definovanými funkcemi a odpovědnostmi, které jsou pevně stanoveny v popisech rozhraní . Technologie komponentové architektury vyvinuté v rámci Zope zope.component, zope.interface, zope.eventmohou být díky jejich zobecnění použity v jiných softwarových systémech v Pythonu [9] [10] .
Pro vývoj webových aplikací je jedním z hlavních úkolů generování kódu ve značkovacích jazycích používaných na WWW . Zope pro tento účel používá DTML ( Document Template Markup Language ) a ZPT ( Zope Page Templates ) . DTML se pro nový kód nedoporučuje [11] . ZPT je založen na XML a skládá se ze tří zdokumentovaných částí [12] :
Webové aplikace často potřebují zpracovávat uživatelské vstupy a webové systémy pro správu obsahu obvykle podporují úpravu obsahu webu (TTW ) . Pro zpracování formulářů nabízí Zope 3 balíčky v kombinaci s balíčkem datových schémat . [9]zope.formlibzope.schema
Během zpracování požadavku je uživatel identifikován a autentizován. Přístupová práva uživatelů Zope 2 jsou jim udělována na základě bezpečnostních pravidel (bezpečnostní politika, „bezpečnostní politika“). Pro autorizaci uživatele při přístupu k určitému zdroji je odhalena jeho role ( eng. role ) a je zkontrolováno, zda tato role má oprávnění ( eng . permit ) pro přístup ke zdroji. Takový systém umožňuje popsat poměrně jemná ( angl. jemně zrnitá ) přístupová práva a činí Zope relativně bezpečným [13] [14] . Zope 3 nabízí PAU ( Pluggable Authentication Utility ) a autorizační mechanismy [15] . zope.security
Půjčování ( anglicky purchase ) je zajímavý a zcela unikátní přístup k budování vztahů mezi objekty, který spočívá ve sdílení chování na základě vnořovacího vztahu objektů [16] . Půjčování poskytuje přístup k objektům vyšších úrovní v hierarchii odkazem na objekt hlubší úrovně. Pokud je například nějaký objekt (dokument, obrázek, soubor atd.) umístěn v nějaké složce, pak je přístupný podle názvu ze všech základních složek. Půjčování je jednou z nejdůležitějších funkcí Zope, která umožňuje vytvářet jednodušší a vizuálnější řešení, ale vyžaduje kompetentní zacházení [17] .
webové servery | |
---|---|
ASP.NET |
|
C | |
Erlang | |
Jáva | |
Štika |
|
Krajta | |
rubín |
Krajta | |
---|---|
Společenství | |
Implementace | |
jiný |
|