Zope 3
Cos'è Zope 3? Scopriamolo insieme
Zope 3 è la terza versione dell'ambiente Zope, ed è attualmente un sistema di produzione a tutti gli effetti.
Va fatta una premessa. Zope 2 nacque da un'applicazione realizzata da Zope Corporation che si chiamava "Principia" e che si poneva l'obiettivo di mettere persone non tecniche in condizione di creare siti web dinamici.
Alla base di questo, come di Zope 2, a maggior ragione, un altissimo livello di automazione del server.
Questi obiettivi furono raggiunti e in particolare attraverso:
- la creazione di un ambiente che consente di gestire semplicemente con un browser dati, templates e script
- la disponibilità di metodi predefiniti per l'accesso ai database
- una funzionalità di indicizzazione integrata in Zope, che permette facili ricerche
- un sistema di acquisizione delle proprietà degli oggetti, a loro volta strutturati in gerarchie: in Zope tutto è un oggetto
- un sistema di classi "ZClasses" che permette di creare nuovi tipi o di estendere quelli esistenti.
Tali funzionalità permisero tra l'altro la realizzazione di raffinati portali da parte di utilizzatori non tecnici, che li hanno concepiti e portati in produzione solo con le funzionalità web.
Queste funzionalità furono meglio articolate in sede di sviluppo del ContentManagementFramework (CMF) suddividendo il comportamento dell'applicazione tra più oggetti:
- CMFContent per la gestione degli oggetti rappresentativi di meri contenuti
- CMFTools per la gestione delle azioni da svolgere sugli oggetti
- CMFSkins per presentare gli oggetti all'utente.
I
Solo che questo modello, pur essendo assai raffinato, necessitava di una evoluzione. Citiamo un esempio: le Skin sono collezioni di template (ogni template rappresenta il disegno di una pagina) e script (che determinano, come accennato, il comportamento della pagina. Il risultato è l'interfaccia utente che si vede via web, cosa che in Zope 2 era possibile soltanto grazie all'adozione di convenzioni di programmazione. Zope 3 offre legami più forti.
Le grosse novità che distinguono Zope 3 da Zope 2 sono la creazione di un'architettura a componenti e il fatto che Zope sia stato completamente riscritto sulla base delle lezioni apprese in base all'utilizzo di Zope 2 e CMF per rendere Zope appetibile per le grosse imprese. Va comunque osservato che Zope 2 è un sistema di successo e che è servito a realizzare ambienti open source come Plone, Nuxeo CPS, Infrae Silva.
Di proprietà della Fondazione Zope, Zope 3 è compatibile con gli standard WSGI, si serve di un database a oggetti (ZODB) e dispone in origine di un sistema di load balancing (ZEO). Viene configurato con un file XML e ha un sistema di sicurezza estremamente granulare e flessibile. Produce XHTML standard.
Perchè una nuova versione di Zope?
Zope può essere un sistema molto complesso per lo sviluppatore perché dispone di funzionalità molto articolate.
Zope infatti fornisce funzionalità di gestione delle transazioni, meccanismi molto granulari di sicurezza, e per fornire tali funzionalità molto in Zope è fatto automaticamente. Occorre poi facilitare l'installazione e la configurazione dei prodotti aggiuntivi di Zope.
Cos'è allora Zope 3
Zope 3 è due cose insieme:
- una
piattaforma per la creazione di sistemi per la gestione di contenuto,
in particolare fruibili, gestibili e utilizzabili attraverso il web:
questo scopo, infatti, viene raggiunto dal modulo web server di Zope,
che ne mantiene tutte le funzionalità
- un'architettura basata su componenti che consente la creazione di applicazioni.
Come si correla Zope 3 a Zope 2?
Attraverso FIVE. FIVE trasporta le nuove funzionalità di Zope 3 in Zope 2 e permette una transizione comoda tra i due mondi.
Five è un componente per Zope 2 che permette di integrare le principali funzioni di Zope 3 in Zope 2. Se ne ha bisogno ad esempio sulle versioni nuove di Plone (serie 2.1). Per questa via si dovrebbe garantire una migrazione agile.
