Zope 2 | |
---|---|
Zope-ohjausliittymä verkkoselainikkunassa. | |
Tyyppi | Sovelluspalvelin |
Kehittäjä | Zope Corporation |
Sisään kirjoitettu | Python |
Käyttöjärjestelmä | Poikkitaso |
Ensimmäinen painos | 1998 |
uusin versio | 2.13.16 ( 11. elokuuta 2012 ) |
Osavaltio | Aktiivinen |
Lisenssi | Zope Public License |
Verkkosivusto | archive.is/2013011312401… |
Mediatiedostot Wikimedia Commonsissa |
Zope 3 | |
---|---|
Tyyppi | Sovelluspalvelin |
Kehittäjä | Zope Corporation |
Sisään kirjoitettu | Python |
Käyttöjärjestelmä | Poikkitaso |
Ensimmäinen painos | 2004 |
uusin versio | 3.4.1 ( 22. kesäkuuta 2010 ) |
Osavaltio | Aktiivinen |
Lisenssi | Zope Public License |
Verkkosivusto | zoope.org |
Mediatiedostot Wikimedia Commonsissa |
Zope ( englanniksi Zope O bject P ublishing E nvironment , Zope Object publishing Environment , lausutaan [zoup]) on Python -ohjelmointikielellä kirjoitettu olio- sovelluspalvelin . Zope on kehitetty omalla avoimen lähdekoodin lisenssillä ZPL .
Zopea (tarkemmin Zope2:ta) käytetään yleisesti sisällönhallintajärjestelmänä ( CMS ). Näitä tarkoituksia varten luotiin ohjelmistokehys CMF ( englanninkielinen Content Management Framework ) - joukko kirjastoja Zopen julkaisujärjestelmien luomiseen. Plone -julkaisujärjestelmä puolestaan syntyi CMF :n pohjalta .
Vuonna 1996 Jim Fulton , silloinen Digital Creationsin teknologiajohtaja , piti esitelmän kansainvälisessä Python-konferenssissa (IPC) aiheesta CGI : "Python and Internet Programming" [1] . Jim, joka piti CGI:tä hyvin kaukana täydellisestä, keksi uuden tavan ohjelmoida Pythonissa webille [ 2] .
Vuonna 1998 Digital Creations yhdisti Bobo- ja Principia-järjestelmät Zope-brändin alle ja julkaisi niiden lähdekoodin ZPL:n alla. Zope 2.0 julkaistiin vuonna 1999 [3] .
Zope3 julkaistiin vuoden 2005 lopulla. Tämä on täysin uusittu versio Zopesta, jota on kehitetty useiden vuosien ajan ja Zope2:n käytöstä saatu kokemus on otettu huomioon sen kehittämisessä. Zope3:n julkaisun myötä kehittäjät saivat tehokkaan sovelluspalvelimen, jonka avulla oli mahdollista kehittää paitsi CMS:ää myös monimutkaisempia järjestelmiä, erityisesti järjestelmiä liiketoimintaprosessien ja työnkulun automatisointiin. Tammikuussa 2010 Zope3 nimettiin uudelleen BlueBreamiksi [2] .
Pysyviin objekteihin Zope on perinteisesti käyttänyt ZODB [4] -objektitietokantaa , vaikka mikään ei estä käyttämästä muita keinoja, kuten tiedostojärjestelmää tai relaatiotietokantaa. Kyllä, ja itse ZODB voi käyttää relaatiotietokantaa taustana käyttämällä RelStoragea [5] . Lisäksi useat Zope - instanssit voivat toimia yhden ZODB:n kanssa ZEO:n kautta [ 6] .
ZServer on Zope-sovelluspalvelimen integrointi Medusa -palvelimeen . ZServer tarjoaa HTTP , FTP , WebDAV , PCGI ja Python interaktiivisen etäkäytön [7] .
Zope 2 käyttää ZCatalogia objektitietokantahakujen täyttämiseen. ZCatalog-objekti tallentaa indeksit ( englanninkielinen indeksi ) ja metatiedot ( englanninkielinen metadata ). Indeksit ovat tietoja, joiden sisältöä haetaan, ja metatiedot ovat kopioita joistakin indeksoitujen objektien kentistä, jotka voidaan lukea ilman, että itse objektia haetaan tietokannasta. Haun tulos on sarja elementtejä, joita kutsutaan aivoiksi ( englannin kielestä aivot - "aivot"). Aivot toimivat laiskan arvioinnin periaatteella , koska ne luodaan lennossa, kun kyselyn tulos kulutetaan, eivätkä "herätä" todellisia lähdeobjekteja tietokannasta [8] .
Zope 3 on kokoelma ohjelmistokomponentteja . Komponentit ovat objekteja, joilla on tarkasti määritellyt toiminnot ja vastuut , jotka on kiinnitetty käyttöliittymäkuvauksiin . Zopen puitteissa kehitettyjä komponenttiarkkitehtuuritekniikoita voidaan zope.component yleistyksensä vuoksi käyttää muissa Pythonin ohjelmistojärjestelmissä [9] [10] . zope.interfacezope.event
Verkkosovellusten kehittämisessä yksi tärkeimmistä tehtävistä on luoda koodia WWW :ssä käytetyillä merkintäkielillä . Zope käyttää tähän tarkoitukseen DTML ( Document Template Markup Language ) ja ZPT ( Zope Page Templates ) - kieliä . DTML:ää ei suositella uudelle koodille [11] . ZPT perustuu XML:ään ja koostuu kolmesta dokumentoidusta osasta [12] :
Verkkosovellusten on usein käsiteltävä käyttäjän syötteitä, ja verkkopohjaiset sisällönhallintajärjestelmät tukevat yleensä verkon kautta tapahtuvaa sisällönmuokkausta (TTW ) . Lomakkeiden käsittelyyn Zope 3 tarjoaa paketteja yhdessä tietoskeemapaketin kanssa . [9]zope.formlibzope.schema
Pyynnön käsittelyn aikana käyttäjä tunnistetaan ja tunnistetaan. Zope 2:n käyttäjien käyttöoikeudet myönnetään heille turvallisuussääntöjen (turvakäytäntö, "turvakäytäntö") perusteella. Käyttäjän valtuuttamiseksi, kun hän käyttää tiettyä resurssia, hänen roolinsa ( eng. role ) paljastetaan ja tarkistetaan, onko tällä roolilla lupa ( eng. permission ) käyttää resurssia. Tällaisella järjestelmällä voit kuvata melko hienoja ( eng. fine-grained ) käyttöoikeuksia ja tekee Zopesta suhteellisen turvallisen [13] [14] . Zope 3 tarjoaa PAU ( Pluggable Authentication Utility ) ja valtuutusmekanismit [15] . zope.security
Lainaus ( englanniksi hankinta ) on mielenkiintoinen ja varsin ainutlaatuinen lähestymistapa objektien välisten suhteiden rakentamiseen, joka koostuu objektien sisäkkäiseen suhteeseen perustuvasta käyttäytymisen jakamisesta [16] . Lainaus mahdollistaa pääsyn hierarkian korkeampien tasojen objekteihin viittaamalla syvemmällä olevaan kohteeseen. Jos esimerkiksi jokin objekti (asiakirja, kuva, tiedosto jne.) sijaitsee jossain kansiossa, se on käytettävissä nimellä mistä tahansa taustalla olevista kansioista. Lainaus on yksi Zopen tärkeimmistä ominaisuuksista, jonka avulla voit luoda yksinkertaisempia ja visuaalisempia ratkaisuja, mutta vaatii asiantuntevaa käsittelyä [17] .
Web-palvelimet | |
---|---|
ASP.NET |
|
C | |
Erlang | |
Java | |
Hauki |
|
Python | |
rubiini |
Python | |
---|---|
Yhteisö | |
Toteutukset | |
muu |
|