Zope

Zope 2

Zope vezérlőfelület webböngésző ablakban.
Típusú Alkalmazások szervere
Fejlesztő Zope Corporation
Beírva Piton
Operációs rendszer Cross platform
Első kiadás 1998 ( 1998 )
legújabb verzió 2.13.16 ( 2012. augusztus 11. )
Állapot Aktív
Engedély Zope Public License
Weboldal archive.is/2013011312401…
 Médiafájlok a Wikimedia Commons oldalon
Zope 3
Típusú Alkalmazások szervere
Fejlesztő Zope Corporation
Beírva Piton
Operációs rendszer Cross platform
Első kiadás 2004 ( 2004 )
legújabb verzió 3.4.1 ( 2010. június 22. )
Állapot Aktív
Engedély Zope Public License
Weboldal zoope.org
 Médiafájlok a Wikimedia Commons oldalon

A Zope ( angolul  Zope O bject P ublishing E nvironment , Zope objektum közzétételi környezet , ejtsd: [zoup]) egy Python programozási nyelven írt objektum-orientált alkalmazásszerver . A Zope saját nyílt forráskódú licence , a ZPL .

A Zope-ot (pontosabban a Zope2-t) általában tartalomkezelő rendszerként ( CMS ) használják. Ebből a célból létrehozták a CMF ( English Content Management Framework ) szoftverkeretrendszert – egy könyvtárkészletet a Zope publikációs rendszereinek létrehozásához. A Plone kiadói rendszer pedig a CMF alapján jött létre .  

Történelem

1996- ban Jim Fulton , a Digital Creations akkori műszaki igazgatója előadást tartott a Nemzetközi Python Konferencián (IPC) a CGI témában : "Python és internetes programozás" [1] . Jim, aki szerint a CGI nagyon távol áll a tökéletestől, új programozási módot talált ki a Pythonban a weben [2] .

1998- ban a Digital Creations Zope márkanév alatt egyesítette a Bobo és a Principia rendszereket, és kiadta a forráskódjukat ZPL alatt. A Zope 2.0 1999 -ben jelent meg [3] .

A Zope3 2005 végén jelent meg. Ez a Zope egy teljesen újratervezett változata, amelyet több éven keresztül fejlesztettek, és a fejlesztés során figyelembe vették a Zope2 használatának tapasztalatait. A Zope3 megjelenésével a fejlesztők egy nagy teljesítményű alkalmazáskiszolgálót kaptak, amelynek segítségével nemcsak CMS-eket, hanem összetettebb rendszereket is fejleszthetnek, különösen az üzleti folyamatok és a munkafolyamatok automatizálására szolgáló rendszereket. 2010 januárjában a Zope3 átnevezték BlueBream -re [2] .

Technológiák és tulajdonságok

Objektum adatbázis ZODB

A perzisztens objektumok esetében a Zope hagyományosan a  ZODB [4] objektumadatbázist használja, bár semmi sem akadályozza meg más eszközök, például fájlrendszer vagy relációs adatbázisok használatát. Igen, és a ZODB maga is használhat relációs adatbázist háttérként a RelStorage [5] segítségével . Ezenkívül több Zope - példány is működhet egy ZODB- vel a ZEO -n keresztül [6] . 

Zserver

A ZServer a Zope alkalmazásszerver és a Medusa szerver integrációja . A ZServer HTTP , FTP , WebDAV , PCGI és Python távoli interaktív hozzáférést biztosít [7] .

ZCatalog objektumkatalógus

A Zope 2 a ZCatalogot használja az objektumadatbázis-keresési lekérdezések kielégítésére. A ZCatalog objektum indexeket ( angol  index ) és metaadatokat ( angol  metaadatok ) tárol. Az indexek olyan adatok, amelyekre a tartalom keresett, a metaadatok pedig az indexelt objektumok egyes mezőinek másolatai, amelyek az objektum adatbázisból való lekérése nélkül is olvashatók. A keresés eredménye az agynak nevezett elemek sorozata (az angol  agyból  - "agy"). Az agyak a lusta kiértékelés elvén működnek , mivel menet közben jönnek létre, mivel a lekérdezés eredménye elfogy, és nem "ébresztik fel" a valódi forrásobjektumokat az adatbázisból [8] .

ZCA komponens architektúra

A Zope 3 szoftverösszetevők gyűjteménye . Az összetevők jól meghatározott funkciókkal és felelősségekkel rendelkező objektumok, amelyeket az interfészleírások rögzítenek . A Zope , keretein belül kifejlesztett komponens architektúra technológiák általánosításuk miatt más Python szoftverrendszerekben is használhatók [9] [10] . zope.componentzope.interfacezope.event

Sablonrendszer HTML/XML-hez

A webes alkalmazások fejlesztésénél az egyik fő feladat a kód generálása a WWW -ben használt jelölőnyelveken . A Zope a DTML -t ( Dokumentumsablon-jelölőnyelv ) és a ZPT -t ( Zope - oldalsablonokat ) használja erre a célra .  A DTML használata nem ajánlott új kódhoz [11] . A ZPT XML-alapú, és három dokumentált részből áll [12] :  

Munka a webes űrlapokkal

A webes alkalmazásoknak gyakran felhasználói bevitelt kell feldolgozniuk, és a webalapú tartalomkezelő rendszerek általában támogatják a webes tartalomszerkesztést (TTW ) .  Az űrlapfeldolgozáshoz a Zope 3 csomagokat kínál adatséma csomaggal kombinálva . [9]zope.formlibzope.schema

A hozzáférési jogok differenciálása

A kérelem feldolgozása során a felhasználó azonosítása és hitelesítése megtörténik. A Zope 2 felhasználók hozzáférési jogait biztonsági szabályok (biztonsági szabályzat, „biztonsági szabályzat”) alapján biztosítják számukra. Ahhoz, hogy egy felhasználót egy adott erőforráshoz hozzáférhessen, felfedjük szerepkörét ( eng.  role ), és ellenőrzik, hogy ennek a szerepkörnek van-e engedélye ( eng.  permission ) az erőforrás eléréséhez. Egy ilyen rendszer lehetővé teszi meglehetősen finom ( eng.  fine-graned ) hozzáférési jogok leírását, és viszonylag biztonságossá teszi a Zope -ot [13] [14] . A Zope 3 PAU-t ( Pluggable Authentication Utility ) és engedélyezési mechanizmusokat kínál [15] . zope.security

Hitelfelvétel (akvizíció)

A kölcsönzés ( angolul  elsajátítás ) egy érdekes és egészen egyedi megközelítés az objektumok közötti kapcsolatépítéshez, amely az objektumok egymásba ágyazott kapcsolatán alapuló viselkedés megosztásából áll [16] . A kölcsönzés hozzáférést biztosít a hierarchia magasabb szintjén lévő objektumokhoz, egy mélyebb szintű objektumra hivatkozva. Például, ha egy objektum (dokumentum, kép, fájl stb.) valamelyik mappában található, akkor név szerint elérhető bármely mögöttes mappából. A kölcsönzés a Zope egyik legfontosabb funkciója, amely egyszerűbb és látványosabb megoldásokat tesz lehetővé, de hozzáértő kezelést igényel [17] .

Linkek

Jegyzetek

  1. CGI: Python és internetes programozás archiválva : 2012. július 2.
  2. 1 2 Bevezetés - BlueBream dokumentáció (hivatkozás nem érhető el) . Letöltve: 2010. június 30. Az eredetiből archiválva : 2010. január 22.. 
  3. Weitershausen, 2007 , p. tíz.
  4. ZODB (Zope Object DataBase) Archiválva : 2012. július 22.
  5. RelStorage . Letöltve: 2012. július 13. Az eredetiből archiválva : 2013. november 26..
  6. ZEO (Zope Enterprise Objects) Archiválva : 2012. augusztus 7.
  7. ZServer README.txt Archiválva : 2012. január 29.
  8. Bevezetés a ZCatalogba (lefelé irányuló kapcsolat) . Letöltve: 2012. július 27. Az eredetiből archiválva : 2012. december 22.. 
  9. 12 Weitershausen , 2007 , p. 7.
  10. Baiju M, Átfogó útmutató a Zope komponens-architektúrához (hivatkozás nem érhető el) . Hozzáférés dátuma: 2012. július 28. Az eredetiből archiválva : 2014. június 24. 
  11. Zope 2 dokumentáció, Basic DTML (lefelé irányuló kapcsolat) . Letöltve: 2012. augusztus 4. Az eredetiből archiválva : 2012. április 23.. 
  12. Python programozási nyelv, Webes alkalmazások fejlesztése az Intuit.ru oldalon . Letöltve: 2012. július 28. Az eredetiből archiválva : 2012. augusztus 6..
  13. http://docs.zope.org/zope2/zope2book/Security.html Archiválva : 2012. április 22. a Wayback Machine Zope 2 dokumentációjában, Felhasználók és biztonság
  14. A Zope nagyon biztonságos – elemzés a CVE adatbázison (http://nvd.nist.gov) alapul, Jan Ulrich Hasecke Archiválva 2012-07-15 .
  15. Weitershausen, 2007 , pp. 389-430.
  16. Zope 2 dokumentációja, beszerzése (lefelé irányuló kapcsolat) . Letöltve: 2012. július 28. Az eredetiből archiválva : 2012. július 13. 
  17. Susie, 2006 .

Irodalom