Zope: l'application server object-oriented per il web

Zope offre un approccio radicalmente diverso allo sviluppo web: database a oggetti integrato, sicurezza granulare e architettura through-the-web.

Open SourceWeb Open SourceZopePythonCMSApplication Server

Un application server diverso

Zope (Z Object Publishing Environment) è un application server open source scritto in Python che propone un modello di sviluppo web radicalmente diverso da quello basato su CGI o servlet Java. Invece di mappare URL a script o classi tramite configurazione esterna, Zope utilizza l’URL traversal: ogni segmento dell’URL corrisponde a un oggetto nel database, e la risoluzione avviene attraversando la gerarchia degli oggetti stessi.

Alla base dell’architettura c’è ZODB (Zope Object Database), un database a oggetti transazionale integrato nativamente nel framework. Gli oggetti Python vengono persistiti direttamente, senza bisogno di un layer di mapping relazionale. ZODB supporta transazioni ACID, undo multi-livello e storage pluggabile — è possibile utilizzare backend diversi, incluso il file-based FileStorage per installazioni semplici.

Acquisition e sicurezza

Uno dei meccanismi più caratteristici è l’acquisition: un oggetto può “acquisire” attributi e metodi dagli oggetti che si trovano sopra di lui nella gerarchia di contenimento. Questo consente di definire configurazioni, template e policy a livello di cartella e vederle ereditate automaticamente da tutti i contenuti sottostanti, senza duplicazione.

Il modello di sicurezza di Zope è granulare: ogni oggetto può avere permessi specifici, assegnati a ruoli che a loro volta vengono associati a utenti o gruppi. Questo livello di controllo — fino al singolo metodo di un oggetto — è inusuale per un application server web e consente architetture multi-tenant senza interventi a livello di codice.

Through-the-web e CMF

L’architettura through-the-web (TTW) permette di creare e modificare oggetti, template DTML e script Python direttamente dal browser, tramite l’interfaccia di gestione ZMI (Zope Management Interface). Questo approccio abbassa la barriera d’ingresso per la prototipazione, anche se i progetti complessi beneficiano di sviluppo su filesystem con i Zope Products — pacchetti Python che estendono il framework con nuovi tipi di oggetti e funzionalità.

Sopra Zope si posiziona il CMF (Content Management Framework), un insieme di strumenti per la costruzione di portali con workflow, metadati, indicizzazione e skinning. CMF fornisce l’infrastruttura di base per chi ha bisogno di gestione strutturata dei contenuti, senza imporre un’interfaccia utente predefinita.

Link: zope.org

Vuoi supporto? Sei sotto attacco? Stato dei servizi
Vuoi supporto? Sei sotto attacco? Stato dei servizi