Document Actions

Genesi di Zope 3
medio

Up one level
Zope 3: non una semplice riedizione del blasonato codice di Zope 2, bensì una sua completa riscrittura da zero.

Lo Zope noto, con una storia di oltre dieci anni alle spalle e milioni di installazioni all'attivo, e' Zope 2, famoso, per alcuni "famigerato", per la sua predilezione per gli oggetti e per la sua versatilita'.

Purtroppo, una delle pecche maggiormente additate dai suoi detrattori e' la ripida curva di apprendimento che Zope richiede in cambio della potenza che mette a disposizione degli sviluppatori, difficolta' motivata tra l'altro dalla complessa gerarchia di oggetti che ne implementano i servizi e le funzionalita'.

Pur apprezzandone tutti i pregi, anche i fautori di Zope ne comprendono i limiti che hanno accompagnato le scelte tecniche operate durante la progettazione del sistema, per questo, forti di tale esperienza, dagli inizi del 2001 si e' intrapreso lo sviluppo di Zope 3: non una semplice riedizione del blasonato codice di Zope 2, bensi' una sua completa riscrittura da zero.

Genesi di Zope 3

Jim Fulton e' il principale ispiratore delle tecnologie alla base di Zope, di cui viene ritenuto il papa da tutta la comunita' sin dal 1998, anno del primo rilascio con licenza aperta.

Dopo vari anni di esperienza sul campo, durante i quali Zope e' stato apprezzato e adottato da moltissime aziende e sviluppatori, finalmente si viene a generare una comunita' stabile di "utenti", che portano casi d'uso sempre piu' variegati e loro possibili soluzioni, le quali a volte hanno bisogno di modificare il codice dell'application server stesso.

Tale esigenza di flessibilita' viene facilmente gestita da Jim e dai suoi ingegneri in Digital Creation, l'azienda che ha creato e rilasciato Zope, quando si tratta di effettuare modifiche per i propri clienti, o quando si desidera incorporare patch nel sorgente di Zope. La facilita' di gestione e' legata al fatto che i casi d'uso primari di Digital Creation tendono a prevalere su quelli proposti dalla comunita', inoltre i tecnici sono molto specializzati e a proprio agio con la gerarchia di oggetti che implementa Zope. Tuttavia ci si rende conto che il modo di fare di Zope 2 in certi casi risulta eccessivamente rigido e quindi da rivedere.

Per questo, ma non solo, Jim impone in Digital Creation la sua idea di rinnovare il codice sorgente dell'application server, con l'obiettivo di migliorarne la flessibilita', mirando anche, se possibile, a renderne piu' semplice l'utilizzo agli sviluppatori.

Da quel momento cerca consenso nella comunita' in via di formazione, e lo ottiene dopo aver esposto quelli che tuttora sono i cardini dell'architettura di Zope 3. Digital Creation si chiama fuori dall'onere di sviluppare in toto il nuovo Zope, come ancora avviene per il suo predecessore, ma lascia che Jim capitaneggi la comunita', che dal 2001 investe energie nel nuovo framework, perseguendo i validissimi risultati che stiamo per vedere insieme.

Zope 3 puo' essere considerato un framework di sviluppo orientato al web scritto in python, ottenuto dai suoi sviluppatori a partire da tutta la loro esperienza con Zope 2 e con gli altri framework, basati su Python e non, che nel frattempo si sono diffusi.

Zope 3 eredita elementi fondamentali da Zope 2, come ZODB, il database a oggetti che rende la persistenza degli oggetti un gioco da ragazzi, e ne introduce altri altrettanto fondamentali e fondanti, quali il Component Framework, l'infrastruttura di gestione orientata ai componenti.

In sintesi, Z3 nasce con tutta la robustezza derivante dalle fondamenta di Zope 2, e con tutta la flessibilita' mancante nel suo predecessore e garantita dalla nuova architettura a componenti.

by Maurizio Delmonte last modified 2007-06-06 10:01
Contributors: Maurizio Delmonte